fix(rynk): preserve long behavior timeouts - #955
Closed
HaoboGu wants to merge 1 commit into
Closed
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.
What
Preserve combo and one-shot timeouts as
u32milliseconds across configuration, storage, and the Rynk wire API. Bump the developing protocol minor version to 0.2 and keep Vial's 16-bit view saturating rather than wrapping.Why
Real RMK configurations use long one-shot timeouts; this actively maintained keyboard configuration uses
300s. The currentas u16storage conversion changes 300,000 ms to 37,856 ms after persistence.Root cause
The runtime uses
Duration, but both persisted behavior fields and RynkBehaviorConfignarrowed the millisecond value tou16.Impact
Rynk behavior timeouts now support the full
u32millisecond range. Existing low-value postcard records remain decodable, and Vial continues to expose its protocol-defined 16-bit range.Checks
u16storage decode coverage.sh scripts/test_all.sh(full feature matrix, doctests, Wasm build, and Clippy)wasm-pack build --target webBuilt on #848.