Repository navigation
fix(srt): preserve hotkeys and player bindings - #196
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (9)
💤 Files with no reviewable changes (2)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. This PR limits diagnostics text input to active fields and leaves Speedrun Tool bindings unchanged.
WalkthroughThe renderer now subscribes to text-input events only when the diagnostics form accepts input, ImGui requests it, and game-window input is active. The menu ends the input session on confirmation, upload, or close. Akron also removes the startup logic that changed Speedrun Tool’s Tab binding. Tests and documentation cover these changes. Sequence Diagram(s)sequenceDiagram
participant AkronDiagnosticsMenu
participant AkronImGuiRenderer
participant ImGui
participant EverestTextInput
AkronImGuiRenderer->>AkronDiagnosticsMenu: Check AcceptsTextInput
AkronImGuiRenderer->>ImGui: Check whether text input is wanted
AkronImGuiRenderer->>EverestTextInput: Subscribe when input conditions are active
EverestTextInput->>AkronImGuiRenderer: Deliver text-input events while subscribed
AkronDiagnosticsMenu->>AkronImGuiRenderer: End input session on confirmation, upload, or close
AkronImGuiRenderer->>EverestTextInput: Unsubscribe and clear pending characters
Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to The change limits Akron's text-input handling to focused diagnostics fields and stops modifying Speedrun Tool's Tab binding. No concrete merge-blocking risk was found. Native event dispatch was verified only through the author's reported live testing. Security Architecture ReviewSecurity architecture risk: ⚪ Minimal · up to The change limits text capture to active diagnostics fields and stops rewriting player hotkeys. No material security risk was identified in the assessed change. Retained concerns Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
🚥 Pre-merge checks | ✅ 1✅ Passed checks (1 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
Summary
having akron enabled blocked all speedrun tool hotkeys, even with the overlay closed. beta 83 kept a diagnostics text handler registered, which SRT treats as active typing. akron also silently removed SRT's Tab bind on level entry.
this keeps the text handler registered only while a diagnostics field has focus and releases it on close, scene changes, overlay input reset, and render failure. SRT bindings are left alone. previously erased Tab binds need to be reassigned once in SRT's options.
Verification
Checks run
release build passed with 0 warnings/errors. all 1,982 tests passed, none skipped. package integrity and the packaged DLL were also checked.
Live verification
Celeste/1-ForsakenCity, transient debug save, normal modecontroller testing used SDL virtual input, not a physical controller. supplementary emoji still become a replacement character in the existing native pipeline; accented/Greek text works. no reports were sent to the live support service.
AI assistance disclosure
agent_name: OpenAI Codexagent_version: codex-cli 0.159.2, as reported by the installed CLImodel_used:model_not_exposed; the session identifies GPT-6 but does not expose the exact provider routing identifierhuman_testing: none reported. the agent ran the automated checks and remote game verification. the maintainer requested this ready-for-review PR; no human testing or approval is claimed.contribution_summary: fixed SRT hotkey suppression and automatic Tab removal, with focused tests, player docs, changelog, and live verification.