feat(dives)!: the profile chart on a millisecond axis, readouts and salinity per recording, and the widened agency list - #286
Merged
Conversation
…alinity per recording, and the widened agency list Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…its readouts Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
The web catches up with the API's DiveJSON changes. The profile chart reads
times,durationand eventtimeas milliseconds from the recording's own start, so a Suunto app export's first sample draws at the sub-second offset it states; every gap, tolerance and tick helper inlib/dive-profile.tsworks in that unit, and seconds appear only where a person reads them (formatElapsed,formatElapsedSpoken), whilendl/ttsvalues stay seconds. CNS, OTU and surface pressure leaveDiveforRecordingalong with the newsalinitysetting: the exposure card shows the primary recording's readouts, the recordings card shows each recording's with its salinity (Fresh,EN13319,Salt), andWATER_TYPESdropsen13319, so a parsed file no longer fills the dive's water type. The certification agency list gains the format's twenty new agencies, the eight notes caps become one 100,000-characternotesField(), andread_as_writtenjoins the import note codes as information.Verified with
npm run test:coverage,npm run lint,npx tsc --noEmit --strict,npm run format:checkandnpm run build, checked against the API's schemas at opendiving-apifb9b033.🤖 Generated with Claude Code