Repository navigation
Fix FTMS control point handling - #2
Merged
Merged
Conversation
…mands on disconnect - Send Request Control to the trainer after realConnected is set; it was previously declined by writeRealControlPoint's own connection guard. - Ignore real CP responses whose opcode does not match the pending one. - Fail in-flight and queued commands to their originating clients when the trainer disconnects instead of silently dropping them. - Never broadcast CP responses that have no originating client. - Coalesce queued commands per client so each app receives a response. Claude-Session: https://claude.ai/code/session_01Dgkv5W86Zhd8Rv27uCE3rj
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.
Fixes the pre-existing control point issues documented in #1's validation notes, plus unsolicited broadcast of failure responses.
connectToRealTrainerran beforerealConnected = true, sowriteRealControlPointdeclined it. Moved after the flag.Validation
bash tests/run.sh: PASS, with new assertions for each fix (verified they fail against the old firmware).detect_leaks=0).https://claude.ai/code/session_01Dgkv5W86Zhd8Rv27uCE3rj