Repository navigation
Conversation
fix(formulus): defer QR camera binding until provider is ready
A contributor-facing trail map that follows a single observation from the form on a device to server storage and back out through export, so a newcomer can see where rendering, local persistence, push, server storage and pull/export each happen. - Mermaid sequence diagram of the happy path - a table of the ten steps, each naming the responsible project and linking to the source symbol that implements it - what changes when the device is offline: the write path makes no network call, and "pending" is derived from synced_at/updated_at rather than stored - why attachments are a separate pipeline: observation JSON stores a GUID-shaped basename, binaries move over /api/attachments and are tracked on their own cursor - five existing tests that exercise the path, two of which need PostgreSQL - a short list of what the map deliberately does not cover Every source link was opened and confirmed before writing, and the Mermaid diagram parses cleanly. Refs #912
The Parquet export flattened nested objects (photo, audio, video, file fields) into JSON strings before extracting attachment basenames. walk_attachment_refs could not find filename/attachmentId keys inside the stringified blobs, so zero files were copied. Preserve the original payload on ExportRow as raw_payload and use it for attachment basename extraction instead of the flattened data.
fix(desktop): export not copying attachments from nested observation data
…-formulus-build-code chore(release): reserve next Formulus build code
`r0ssing` pointed out that the sequence diagram showed push before pull, which is not what the code does: `syncObservationsImpl` awaits `pullObservations` and only then `pushObservations`. - reorder the diagram so `/api/sync/pull` precedes `/api/sync/push`, and show `applyServerChanges` where it actually happens - reorder the steps table so the pull steps come before the push steps - add a short section on why the order matters: a device reconciles against fresh server state before offering its own changes - note that ODE Desktop drives the two as separate operations (`synkPull`, `synkPush` in useCustodianStore.ts) Verified before changing: `syncObservationsImpl` in `formulus/src/api/synkronus/index.ts` pulls first, and both Desktop operations exist in `desktop/src/store/useCustodianStore.ts`. Refs #947
Add compact form descriptions, reusable agent skills, and public setup guidance. Migrate the documentation site to pnpm and document privacy-gated MCP workflows.
feat(desktop): add local AI agent support
…-formulus-build-code chore(release): reserve next Formulus build code
docs(development): add a code map for one observation's journey
fix(desktop): honor includeDeleted in observation queries
…lumn perf(desktop): index deleted observations
chore: Prepare v1.4.0 release
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.
Release preparation for v1.4.0