Repository navigation
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 changed?
Right-click paste now uses xterm’s
term.paste(), preserving a multiline clipboard block as one draft so a comment can be appended before submission. Plain left-clicks retain native focus and selection without synthesizing arrow keys.For a running Codex session whose initial bracketed-paste sequence has fallen out of bounded scrollback, restore the mode before pasting when live process metadata identifies
codex. Other applications retain their terminal paste mode.Add input regression coverage and run
test:terminal-inputin the existing browser CI step.Why?
Reproduce by right-clicking a long clipboard sample containing paragraphs, tabs and a trailing newline, appending a comment, then clicking previous output with an empty composer. Pasting should preserve one draft; clicking should only focus/select.
Verification
pnpm exec tsc --noEmitpnpm linton the clean source snapshotpnpm buildpnpm test:pty-gatewaypnpm test:browser-regression: 18 checks against an isolated app and real PTY/gatewaypnpm test:terminal-input: 8 checks against the deployed frontend with mocked API/WebSocket traffic, including truncated replay, non-Codex mode, selection and Escape[Pasted Content 2314 chars]block and arrived together with the appended comment as one messageThe input implementation and regression scripts in this PR match the tested deployment. The fallback for missing paste mode depends on the existing live metadata identifying the foreground command as
codex.GitHub CI status (2026-09-14)
Run 34849038267 passed typecheck, lint, build and PTY gateway smoke, then failed the existing production dependency audit: 43 findings (2 critical, 13 high, 23 moderate, 5 low). Browser and Docker steps were therefore skipped in GitHub; the local browser results above remain independently verified. This PR changes no dependency versions or lockfile. Dependency remediation remains a separate follow-up.