add fullscreen touch interactions and clickable links - #2430
Conversation
Prime Agent performance — completedPR Overall: 0 regressed · 0 improved · 41 no clear change.
Python runtime
Session transport
UI interactions
Sandbox cost: ~$0.1653 — no inference calls. Methodology and samplesMain resolved at 2026-09-17T21:49:15.594096+00:00. Harness
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit d24970d. Configure here.

Note
Medium Risk
Large surface area in fullscreen mouse dispatch, editor hit-testing, and many chat components, though behavior is covered by new tests and existing keyboard/selection paths are preserved.
Overview
Adds render-time click regions to the TUI: components expose regions after
render, containers aggregate them, and the fullscreen viewport projects them through the pinned header, scrolling transcript, clipped dock, and overlays. A clean unmodified left press/release dispatches clicks (hyperlinks and selection/drag/modifier clicks keep precedence; painted overlay pixels block click-through).Editor clicks focus the input and place the cursor from the last render layout (wrapping, scroll, prompt/header offsets, wide graphemes, atomic paste markers). Markdown labeled links stay clickable even when a visible URL fallback is shown.
In the coding-agent interactive UI, collapsed headers and summary rows (tools, bash, agent messages, branch/compaction/refinement summaries, skills, custom/injected prompts, collapsible errors, shell blocks in side questions, etc.) toggle only that item via
Clickableor explicit regions; Ctrl+O still resets all conversation detail globally.Reviewed by Cursor Bugbot for commit 7daebc3. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add fullscreen click dispatch, editor click-to-cursor, and clickable Markdown links
getClickRegionsafter render; the fullscreen viewport projects regions through header, transcript, and dock layout and resolves unmodified left-button press/release pairs into region callbacks.Clickablewrapper in clickable.ts registers a click region over any child's full rendered output.Ctrl+Ostill resets all expansions globally.tui.Componentinterface gains optionalgetClickRegions; out-of-tree components without it render normally but cannot dispatch clicks. Container andBoxclick-region caches are invalidated on child add/remove/clear and on render-cache invalidation to prevent stale regions.Changes since #2430 opened
ExpandableEventMessage-derived components clickable to toggle expanded state [7daebc3]Macroscope summarized d24970d.