fix(headless): preserve local data in exports and sleep queries - #69
Merged
lingcang728 merged 1 commit intoSep 9, 2026
Merged
Conversation
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.
This fixes #68: CLI GPX exports use the default summary payload, which omits the route, so a workout with recorded GPS is incorrectly reported as having no GPS data.
Additional, independently reproduced data omissions are included: the default type list contains
daily, CSV consumes a summary payload, and several supported types never enter the corresponding core queries. This also fixes CSV device provenance, workout samples after local midnight, and weight records that contradict the workout scope's exclusion metadata.Regression tests exercise the shared export builder and real CLI subprocesses with synthetic SQLite libraries, including GPX/FIT output, unchanged source databases, unchanged existing output on usage errors, and complete/missing sleep stages.
No schema, dependency, normalizer, sync, desktop UI, or repository documentation changes.
Validation on Windows with Rust 1.98.1 and the existing lockfile:
cargo fmt --manifest-path src-tauri/Cargo.toml --all -- --checkcargo check --manifest-path src-tauri/Cargo.toml --workspace --locked --offline --all-targetscargo clippy --manifest-path src-tauri/Cargo.toml --workspace --locked --offline --all-targets -- -D warningscargo test --manifest-path src-tauri/Cargo.toml --workspace --locked --offline: 383 passed, 0 failed; 1 existing real-old-database fixture test remains ignored.GitHub CI, Linux/macOS execution, and the unchanged frontend build/tests have not been run locally.
Fixes #68.