Repository navigation
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: pingdotgg/t3code/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe paste-as-text shortcut check now uses the physical V key code when the reported key is not an ASCII letter. Tests cover non-Latin and Latin keyboard layouts. ChangesPaste-as-text shortcut
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The non-Latin shortcut reaches both paste paths, and no remaining issue in the reviewed change warrants delaying merge. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a small, localized fix to an existing paste shortcut, with tests covering non-Latin layouts and preserving Latin-layout behavior. It introduces no schema, deployment, security, default, or static-analysis changes. You can add or adjust custom eligibility rules. Learn more. |
|
Note This comment is posted by Julius' dot Closing for missing verification. This changes paste-as-text handling on non-Latin layouts, but there is no reported test run or observed after-check. Add the focused command and result, plus before/after interaction evidence showing a large paste stays inline and Latin shortcuts still work. See verification. Add the evidence and request reconsideration. |
|
Added the test run and before/after recordings the closure asked for: a paste over 32 KB with Ctrl+Shift+V on a Russian layout (main attaches it as |
|
Replaced by #28470, the same fix rebuilt on current main with a fresh test run and recordings. |
The large-paste toast says "Use Ctrl+Shift+V to keep a large paste inline", but on a Cyrillic or Greek layout that shortcut does nothing:
isPasteAsTextShortcutcomparedevent.keyto"v", and thereevent.keyis"М". The paste still gets folded into apasted-text.txtattachment.It now falls back to the physical key (
code: "KeyV") when the layout types a non-Latin letter, the same rule the keybinding matcher uses (resolveEventKeysinpackages/shared/src/keybindings.ts). Latin layouts still follow the letter they type, so a Dvorak or Colemak user's Ctrl+Shift+V keeps working and the key in the V position is not claimed.This is a small fix for an obvious bug (the app recommends a shortcut that cannot work on these layouts), so it goes under the small-fix exception in CONTRIBUTING rather than a prior issue.
Verification
Web dev server (
vp run dev) from a worktree at main3982f20ce4, Windows 10, isolated.t3state, headless Edge at 1100×700. A 39 KB build log on the clipboard (over the 32 KB attachment line). The keys go in through CDPInput.dispatchKeyEventwith exactly what a Russian layout reports for that key (key: "М"Cyrillic,code: "KeyV", virtual key 86), then the same chord withkey: "V"for an English layout. After each paste the script read the composer back.pasted-text.txtattachment, toast recommends Ctrl+Shift+Vvp test run src/textPaste.test.tsinpackages/client-runtime: with main'stextPaste.tsthe new case fails (1 failed, 12 passed); with the fix, 13 passed. The case also pins that a Latin layout typingkon theKeyVkey is not treated as V.67c0fc0cda,textPaste.tsis unchanged; the composer's paste handler moved withinChatComposer.tsxbut still arms the bypass from the same keydown check. The branch still merges cleanly.Not checked: macOS (Cmd+Shift+V goes through the same function, untested), the Electron shell, and mobile, which does not use this shortcut.
Before (main
3982f20ce4), recording: paste-before.mp4After (with this fix), recording: paste-after.mp4
Model and harness
Claude Opus 5.5 (high effort) in Claude Code, run from T3 Code.
Summary by CodeRabbit