Skip to content

feat: show image previews inside terminal panes - #15834

Closed
teamleaderleo wants to merge 1 commit into
manaflow-ai:feat/image-paste-ctrl-v-agentsfrom
teamleaderleo:feat/terminal-image-paste-preview
Closed

teamleaderleo wants to merge 1 commit into
manaflow-ai:feat/image-paste-ctrl-v-agentsfrom
teamleaderleo:feat/terminal-image-paste-preview

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

What changed

Image-only Cmd+V pastes now show a cmux-owned preview card inside the terminal pane before the paste is consumed. This keeps Codex and Claude Code's existing attachment behavior intact while making the image visible where the user is composing; other terminal harnesses get the same behavior automatically.

Clicking the card opens a larger popover preview. A close button dismisses it, the card follows the terminal input cursor during pane geometry changes, and accessibility labels are localized for all supported macOS locales.

This stacks on #14948 (feat/image-paste-ctrl-v-agents), which provides the optional Codex/Claude Ctrl+V routing.

Validation

  • git diff --check
  • python3 scripts/localization_catalog.py check --root .
  • Swift syntax and focused local verification were completed before the request to stop compiling on the MacBook Air.
  • No Xcode, Swift compiler, app launch, restart, or build was run after that request.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Image-only Cmd+V pastes now show a preview card inside the terminal pane before the paste is consumed. Codex and Claude Code's existing attachment behavior is unchanged, and other terminal harnesses get this behavior automatically.

The card is an AppKit overlay rather than terminal output, so scrollback, selection, and the agent's [Image #N] placeholder stay untouched. Clicking the card opens a larger popover preview, and a close button dismisses it. The card follows the terminal input cursor during pane geometry changes, and accessibility labels are localized for all supported macOS locales.

This stacks on #14948 (feat/image-paste-ctrl-v-agents), which provides the optional Codex/Claude Ctrl+V routing.

Written for commit fc17be7. Summary will update on new commits.

Review in cubic

@coderabbitai

coderabbitai Bot commented Sep 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 10ca74b0-1436-4fae-811b-77e9743faaa0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

CI failure attribution

CI failed on fc17be713b (run 36684635190 attempt 1): 1 unknown.

Job Verdict Why
macos / macOS compile admission unknown no known signature; failed step: Validate Swift warning budget

Not re-run automatically: macos / macOS compile admission is not a machine failure.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Migrated to upstream PR #15846 so the work and CI run directly in manaflow-ai/cmux. The fork PR is superseded.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Superseded by upstream PR #15846.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant