Conversation
chore: backmerge main into dev
casts to double precision instead of numeric, since lib/pq doesn't decode numeric and was returning raw bytes, which failed the float64 type assertion and got silently nulled. fixes #707
fix: numeric fields exporting as null in parquet export
fix(desktop): app bundle structure
feat(portal): Home page with charts..
…ordering when values are numerical
fix(formplayer): Updated sub-observation table sort to use numerical …
…tey (to satisfy AJD validation as unanswered instead of null), but then re-running clear-on-hide after merge of off-screen properties to ensure they don't come back as zombies
fix(formplayer): Clear fields on hide (cascading)
…idation-display feat(formplayer): Better display of validation errors on finalize screen
feat(formulus): Fix IOS startup
fix(desktop): Fix issue with injected dev scripts
…int-monorepo chore(deps): update dependency typescript-eslint to v8.66.0
fix(formplayer): Fix various UI snags
feat(formulus): Added IOS metadata necessary for Apple AppStore submission
…ut-digest chore(deps): update actions/checkout digest to 11d5960
…java-digest chore(deps): update actions/setup-java digest to cf277c6
chore(deps): enable Renovate automerge for patch and digest updates
chore: release prep for v1.2.1
feat(desktop): Add export functionality
…ting The observation pull cursor was persisted only after every page had been applied and the attachment manifest had been processed. Any interruption — lost connection, crash, cancel, or an attachment failure — therefore discarded the whole pull, and the next attempt started again from version zero. On a large repository over a field connection that can mean sync never completes, and because push runs after pull, local records are never uploaded either. Persist the cursor after each page instead. This cannot skip records: change_cutoff is the same watermark the loop already uses to request the next page, so a resumed run asks the server exactly what this run would have asked next, and applyServerChanges upserts. Also move the cursor write ahead of processAttachmentManifest, since attachments carry their own cursor and should not be able to force a full observation re-pull; refuse to loop when the server reports more pages without a cutoff that advances past `since`, which previously re-requested the same page indefinitely; and log page counts rather than whole pages of observation records, which were being written to logcat. Co-authored-by: Cursor <cursoragent@cursor.com>
fix: More robust index building after sync
…pport feat(formulus): add log viewer to Help&Support
…ency on system sqlite
fix(formulus): Include bundled sqlite package (jsi)
chore: prep for v1.3.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
backmerge of release v1.3.0