Skip to content

Fix #5128: open links on Cmd-click inside alt-screen TUIs (Claude/Codex) - #5406

Merged
austinywang merged 15 commits into
mainfrom
issue-5128-alt-screen-link-open
Jun 10, 2026
Merged

austinywang merged 15 commits into
mainfrom
issue-5128-alt-screen-link-open

Conversation

@austinywang

@austinywang austinywang commented Jun 5, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #5128.

Problem

Clicking a link inside a fullscreen alternate-screen TUI (Claude Code, Codex) opened the OS default browser instead of honoring the configured cmux link-open target (built-in browser, etc.). In a normal main-screen shell the same link routed correctly. The routing flipped to external the moment a mouse-reporting alt-screen TUI was active.

Root cause (ghostty core, not cmux routing)

cmux's GHOSTTY_ACTION_OPEN_URL handler is already mode-independent: it resolves the target via resolveTerminalOpenURLTarget and routes to the embedded browser / external per BrowserAvailabilitySettings — there is no mouse-mode branch in cmux. The gap was in ghostty core: under mouse reporting, link hover state was only refreshed when mouse reporting was off (or shift released capture). Holding the Cmd/ctrl link modifier wasn't considered, so over_link stayed false, the link-click branch in mouseButtonCallback was skipped, and the Cmd-click was reported to the program — which is what triggered the OS default browser. Once ghostty fires open_url, cmux already honors the setting.

Fix

Bumps the ghostty submodule to e610c8e16, the current manaflow-ai/ghostty main head from manaflow-ai/ghostty#80. That merge commit combines:

Net behavior: the link chord owns only the left click+drag lifecycle (press/drag/release) when it starts on a link; everything else reaches the program and hover never sticks. This keeps the main-branch Ghostty work and the #5128 fix instead of choosing one side of the submodule conflict.

No cmux Swift routing changes are needed.

Cross-repo bits

Tests

No user-facing cmux strings changed, so no localization file changes are needed.

Fixes #5128. Clicking a link inside a fullscreen alternate-screen TUI
(Claude Code, Codex) opened the OS default browser instead of honoring the
configured cmux link-open target. cmux's GHOSTTY_ACTION_OPEN_URL handler is
already mode-independent (resolveTerminalOpenURLTarget routes per
BrowserAvailabilitySettings, no mouse-mode branch); the gap was in ghostty
core, where link hover state was refreshed only when mouse reporting was off
or shift released capture, so a Cmd-click under a mouse-grabbing TUI never
fired open_url.

Bumps the ghostty submodule to 55d154a (previous pin 176bd55 + the two
link-fix commits from manaflow-ai/ghostty#71, merged into fork main). The fix
also evaluates links locally when the ctrl/super link modifier is held, using
the effective mouse-reporting state, matching iTerm2 and macOS Terminal.

Publishes and pins the matching GhosttyKit xcframework
(xcframework-55d154a...-crashsubdir-cmux-crash-v1) and updates docs/ghostty-fork.md.
No cmux Swift change is required (no cmux-only gap), so there are no new
user-facing strings to localize.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 5, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cmux Canceled Canceled Jun 10, 2026 5:46am
cmux-staging Building Building Preview, Comment Jun 10, 2026 5:46am

@coderabbitai

coderabbitai Bot commented Jun 5, 2026 •

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Bump the ghostty submodule to commit 9f014e98b7154405d8ba406e19f0f9b8529cdc8b, add its GhosttyKit.xcframework sha256 to scripts/ghosttykit-checksums.txt, and update docs/ghostty-fork.md to reference the new pin and expand section 13 describing cmd-click link activation and Surface.zig gating/suppression behavior.

Changes

Ghostty Fork Pin Update

Layer / File(s) Summary
Submodule pin and checksum
ghostty, scripts/ghosttykit-checksums.txt
ghostty submodule pointer updated to commit 9f014e98b7154405d8ba406e19f0f9b8529cdc8b; a new checksum line was added mapping that submodule SHA to GhosttyKit.xcframework.tar.gz sha256 097137c2b7c3de8f7f30ca63a5b2cf5175ae33c4883ac5a41190f0c0ef9480d4.
Fork docs and cmd-click section
docs/ghostty-fork.md
Updated documented fork head and replaced the prebuilt archive release tag to xcframework-9f014e98b...-crashsubdir-cmux-crash-v1; replaced/expanded section 13 to enumerate commits and describe cmd-click/link hover gating, suppression of leaked press/release and drag/motion (left-button scoped), stale-hover clearing on chord release, click-lifecycle latching, unified link-open vs suppression decision, and the limitation around reconfiguring link.highlight.hover_mods for the under-mouse-reporting bypass.

Sequence Diagram(s)

(omitted)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

Suggested reviewers

  • jesstelford

Poem

🐰 The pin hopped on to a brighter hash,
A checksum tucked in a tidy stash,
Cmd-click quiet, hover cleared away,
Docs now sing what Surface.zig will say,
Fork refreshed — the rabbit dances, yay!


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Cmux Swift @Concurrent ❓ Inconclusive PR summary claims "No cmux Swift source changes" but commit adds 973 Swift files, making assessment of @concurrent compliance impossible without clarifying actual PR scope. Verify if this commit should add 973 Swift files. Stated PR objective (ghostty re-pin only) conflicts with actual content (massive initialization).
✅ Passed checks (17 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main fix: opening links on Cmd-click inside alt-screen TUIs, directly addressing issue #5128.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Cmux Swift Actor Isolation ✅ Passed PR makes no Swift production code changes, only updates docs/ghostty-fork.md, ghostty submodule pin, and scripts/ghosttykit-checksums.txt checksum data.
Cmux Swift Blocking Runtime ✅ Passed PR contains no Swift source changes—only docs, submodule pointer, and checksum data modifications. Check is not applicable.
Cmux No Hacky Sleeps ✅ Passed PR modifies only documentation, submodule pointer, and checksum data; no TypeScript/JavaScript/shell production code changes subject to check.
Cmux Algorithmic Complexity ✅ Passed PR only changes documentation, submodule pointer, and data file; no production code (Swift/TypeScript/JavaScript/shell) subject to algorithmic complexity rules.
Cmux Swift Concurrency ✅ Passed PR modifies only documentation, configuration, and checksums. No cmux Swift source code changes, so no legacy async patterns can be introduced.
Cmux Swift File And Package Boundaries ✅ Passed PR modifies only non-Swift files: docs, git submodule pointer, and checksums. No Swift source changes as stated in PR objectives, so check is not applicable.
Cmux Swift Logging ✅ Passed PR modifies only documentation, git submodule pointer, and checksum data; no Swift source code changes, so the swift-logging rule does not apply.
Cmux User-Facing Error Privacy ✅ Passed PR contains only documentation, submodule config, and checksums. No user-facing error messages or sensitive data exposed. Developer documentation is allowed per rules.
Cmux Full Internationalization ✅ Passed PR modifies only operational documentation (docs/ghostty-fork.md), submodule pointer, and checksums. No user-facing strings, Swift code, or localization changes introduced.
Cmux Swiftui State Layout ✅ Passed No SwiftUI source code is modified in this PR; changes are limited to docs/ghostty-fork.md, ghostty submodule pointer, and scripts/ghosttykit-checksums.txt. The check does not apply.
Cmux Architecture Rethink ✅ Passed PR contains no Swift source code changes—only documentation (ghostty-fork.md), submodule pointer update, and checksum data. The actual bug fix is in ghostty core (Zig), not cmux Swift.
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed PR contains no Swift source code changes that add or materially modify cmux-owned windows; only updates ghostty submodule pin, documentation, and checksums.
Description check ✅ Passed The pull request description is comprehensive and detailed, covering the problem, root cause, fix, cross-repo bits, and tests. It follows the intent of the template by explaining what changed and why, though it does not strictly adhere to the exact template sections.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch issue-5128-alt-screen-link-open

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 and usage tips.

@greptile-apps

greptile-apps Bot commented Jun 5, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR bumps the ghostty submodule from e5c962a72 to 34cbf180d — a merge of the Cmd-click link fix under mouse reporting (#5128, manaflow-ai/ghostty#71–#79) on top of the iOS bounded-acquire pin and the surface-registry serialization from #5458. No cmux Swift routing changes are required; the fix lives entirely in the ghostty fork.

  • Submodule bump to 34cbf180d, a merge commit that combines the 9-commit Cmd-click link-refresh fix series with the previously-landed surface registry serialization, ensuring both fixes are present simultaneously.
  • docs/ghostty-fork.md gains a new section 13 documenting the full fix history (commits, surface-level mechanics, known limitation for custom hover_mods), renumbers the old section 13 to 14, and updates the pinned-head reference throughout.
  • scripts/ghosttykit-checksums.txt adds three new entries: df789cd4b (tip of the fix line before the merge), e610c8e16 (intermediate merge target from a prior iteration), and 34cbf180d (the actual submodule HEAD now keyed by ensure-ghosttykit.sh).

Confidence Score: 5/5

Safe to merge — the change is a submodule bump with matching prebuilt checksum, updated docs, and no cmux Swift routing changes.

The submodule HEAD (34cbf18) has a correctly-keyed entry in ghosttykit-checksums.txt so prebuilt lookup will succeed. The docs are internally consistent with the submodule SHA and archive URL. The ghostty-side fix is a pure input-handling change with no cmux Swift or routing code touched. The swift-file-length-budget update reflects legitimate Swift file changes that arrived via the merge-from-main commit.

No files require special attention.

Important Files Changed

Filename Overview
ghostty Submodule bumped from e5c962a to 34cbf18; new HEAD has a matching checksum entry in ghosttykit-checksums.txt and a published prebuilt archive.
scripts/ghosttykit-checksums.txt Three new SHA entries added; the active submodule HEAD (34cbf18) is present and correctly keyed for ensure-ghosttykit.sh lookup.
docs/ghostty-fork.md Fork head updated to 34cbf18 throughout, new section 13 documents the full Cmd-click fix series with per-PR summaries and a known-limitation note; section numbering and archive URL are internally consistent.
.github/swift-file-length-budget.tsv ContentView.swift and SessionIndexView.swift byte counts updated by 9 and 6 bytes respectively, reflecting Swift file changes that arrived via the merge-from-main commit in this branch.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["User Cmd-clicks a link"] --> B{"mouseLinkRefreshAllowed?"}
    B -- "Before fix: over_link = false" --> C["link-click branch SKIPPED"]
    C --> D["Click reported to TUI program"]
    D --> E["OS default browser opens"]
    B -- "After fix: ctrlOrSuper held" --> F["over_link refreshed"]
    F --> G["ghostty fires GHOSTTY_ACTION_OPEN_URL"]
    G --> H["cmux resolveTerminalOpenURLTarget"]
    H --> I["Configured browser target opens"]
Loading

Reviews (13): Last reviewed commit: "Refresh Swift file-length budget for Con..." | Re-trigger Greptile

Comment thread docs/ghostty-fork.md Outdated
Addresses codex/greptile review of the link fix: under mouse reporting a
Cmd-click over a link still leaked a half-click to the program because
mouseButtonCallback reported the press (link-open runs only on release). The
ghostty follow-up (manaflow-ai/ghostty#74) suppresses the whole click — press
and release — whenever the ctrl/super link chord is held, keyed on the modifier
like the existing shift-release path so cursor jitter can't leak a press or a
release. Eliminates the half-click in both directions.

Re-pins the ghostty submodule from 55d154a to d1dbbec, repoints the prebuilt
GhosttyKit release/checksum, and updates docs/ghostty-fork.md. d1dbbec is an
ancestor of manaflow-ai/ghostty main (PR #71 and #74 merged).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
coderabbitai[bot]
coderabbitai Bot previously requested changes Jun 5, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/ghostty-fork.md`:
- Around line 259-261: The markdown line containing "`#74`" is being parsed as a
heading (MD018); update the text referencing PR `#74` in the docs so the hash is
escaped or the reference rephrased (for example use "\`#74`", "PR `#74`", or "PR
74") to ensure it remains plain text; modify the sentence that mentions
`manaflow-ai/ghostty` `main`, `d1dbbec9b`, and `#74` so the hash is escaped and
the line no longer starts with an ATX token.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 7dd215cd-d534-4b05-a72d-db0b7a6cb5c1

📥 Commits

Reviewing files that changed from the base of the PR and between 06e0880 and 2547cce.

📒 Files selected for processing (3)
  • docs/ghostty-fork.md
  • ghostty
  • scripts/ghosttykit-checksums.txt

Comment thread docs/ghostty-fork.md Outdated
…d links

Final review iteration (codex P2). After #74 suppressed the press/release of a
ctrl/super-chord link click, cursorPosCallback could still emit .motion reports
during a Cmd-held drag (click_state == .press), leaking button-motion to a
mouse-grabbing program. ghostty #75 mirrors the shift "grab override" for the
ctrl/super chord in the motion path, so the link chord now suppresses the whole
click+drag — press, release, and motion — consistently.

Re-pins the ghostty submodule from d1dbbec to 76ead3e and repoints the
prebuilt GhosttyKit release/checksum + docs. 76ead3e is an ancestor of
manaflow-ai/ghostty main (PR #71, #74, #75 merged).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 37f5e63. Configure here.

Comment thread docs/ghostty-fork.md Outdated
Final review iteration (codex P2 x2). After #74/#75 suppressed the whole click+
drag for the ctrl/super link chord, two edges remained: the suppression fired for
any button (swallowing ctrl/super right/middle clicks instead of delivering them
to the program), and a stale link highlight/cursor could persist when the chord
was released through cursorPosCallback's mods. ghostty #76 scopes the suppression
to the left button and clears the hover by refreshing when over_link is set
(mirroring keyCallback's existing reset branch).

Re-pins the ghostty submodule from 76ead3e to f241952 and repoints the
prebuilt GhosttyKit release/checksum + docs. f241952 is an ancestor of
manaflow-ai/ghostty main (PR #71, #74, #75, #76 merged).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
coderabbitai[bot]
coderabbitai Bot previously requested changes Jun 5, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/ghostty-fork.md`:
- Line 275: The line starting with the literal tokens "`#75`" and "`#76`" is being
parsed as ATX headings; update the text on that line (the occurrences of "`#75`"
and "`#76`") to escape the hashes (e.g., "\`#75`" and "\`#76`") or wrap them in inline
code (e.g., `#75`, `#76`) so markdownlint MD018 no longer treats them as
headings.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 28ce1834-f3de-4309-bae8-e4c85a9fbc2d

📥 Commits

Reviewing files that changed from the base of the PR and between 2547cce and b5b1632.

📒 Files selected for processing (3)
  • docs/ghostty-fork.md
  • ghostty
  • scripts/ghosttykit-checksums.txt

Comment thread docs/ghostty-fork.md Outdated
Addresses the final review round on the link-under-mouse-reporting fix:
- codex P2: the suppression re-checked live modifiers, so releasing ctrl/super
  before the mouse button could leak the release. ghostty #77 latches the
  decision at left-button press (mouse.link_click_active) and applies it through
  the release.
- greptile P2: the latch was cleared only inside the mouse-reporting block, so
  toggling reporting off mid-click could leave it stale; it is now cleared
  unconditionally on left release.

Re-pins the ghostty submodule from f241952 to 59fb750 and repoints the
prebuilt GhosttyKit release/checksum + docs. 59fb750 is an ancestor of
manaflow-ai/ghostty main once #77 merges.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
coderabbitai[bot]
coderabbitai Bot previously requested changes Jun 5, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
docs/ghostty-fork.md (1)

285-285: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Escape #75 to avoid markdown heading parsing.

Line 285 starts with #75, which markdownlint interprets as an ATX heading token (MD018). Prefix with "PR" or escape the hash to keep this as plain text.

Suggested fix
-#75, `#76`, and `#77` are merged into fork `main`, keeping `59fb750c0` an ancestor).
+PR `#75`, `#76`, and `#77` are merged into fork `main`, keeping `59fb750c0` an ancestor).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/ghostty-fork.md` at line 285, The line starting with "`#75`" is being
parsed as a Markdown heading (MD018); update the text (the fragment showing
"`#75`, `#76`, and `#77` are merged into fork `main`, keeping `59fb750c0` an
ancestor`) so the leading hashes are not treated as ATX headings by either
escaping the hashes (e.g., "\`#75`") or prefixing them with "PR" (e.g., "PR `#75`,
PR `#76`, and PR `#77`...") to ensure the PR numbers render as plain text.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ghostty`:
- Line 1: The submodule pointer is referencing commit
59fb750c0f21a2d0b1b61db491050360d308d3b8 which exists only on
origin/fix-5128-link-click-lifecycle, not on manaflow-ai/ghostty main; before
merging this update, ensure that commit is merged or pushed into the
manaflow-ai/ghostty main branch (or change the submodule to point to a commit
already on main) so the submodule SHA is reachable from manaflow-ai/ghostty
main.

---

Duplicate comments:
In `@docs/ghostty-fork.md`:
- Line 285: The line starting with "`#75`" is being parsed as a Markdown heading
(MD018); update the text (the fragment showing "`#75`, `#76`, and `#77` are merged
into fork `main`, keeping `59fb750c0` an ancestor`) so the leading hashes are
not treated as ATX headings by either escaping the hashes (e.g., "\`#75`") or
prefixing them with "PR" (e.g., "PR `#75`, PR `#76`, and PR `#77`...") to ensure the
PR numbers render as plain text.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 1bb8b88e-8ba7-47f2-b14f-73486d581af8

📥 Commits

Reviewing files that changed from the base of the PR and between b5b1632 and 96d38d1.

📒 Files selected for processing (3)
  • docs/ghostty-fork.md
  • ghostty
  • scripts/ghosttykit-checksums.txt

Comment thread ghostty Outdated
Final review round on the link-under-mouse-reporting fix (codex P2/P3): the
report-suppression latched at press but the link-open path re-derived from live
modifiers, so releasing ctrl/super before the button swallowed the click, and
the latch reset wasn't reached on the link-open early return. ghostty #78 makes
linkAtPos use the latched chord and attempts processLinks whenever the click is
latched, and clears the latch via a function-level defer. One press-time
decision now drives press/drag/release suppression and link opening.

Re-pins the ghostty submodule from 59fb750 to 9f014e9 and repoints the
prebuilt GhosttyKit release/checksum + docs. 9f014e9 is an ancestor of
manaflow-ai/ghostty main once #78 merges.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
coderabbitai[bot]
coderabbitai Bot previously requested changes Jun 5, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/ghostty-fork.md`:
- Line 292: The line that starts with "`#75`, `#76`, `#77`, and `#78` are merged into
fork `main`, keeping `9f014e98b` an ancestor)" is being parsed as a Markdown ATX
heading; update the text in docs/ghostty-fork.md (the line beginning with "`#75`")
to prevent heading parsing by escaping the hashes or rendering them as
code—e.g., replace leading "#" with "\#" for each PR number or wrap the sequence
in backticks (or use an HTML entity like "&`#35`;") so the PR numbers remain plain
text.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: b5211458-a4c4-4a02-b7d3-ad8fb04a7581

📥 Commits

Reviewing files that changed from the base of the PR and between 96d38d1 and fd3b300.

📒 Files selected for processing (3)
  • docs/ghostty-fork.md
  • ghostty
  • scripts/ghosttykit-checksums.txt

Comment thread docs/ghostty-fork.md Outdated
austinywang and others added 2 commits June 4, 2026 19:33
… on a link

Final review round (codex): the latched link-open path opened the link under the
release cursor for any in-flight ctrl/super click, so a chord drag that started
off a link and released over one opened that link (its press was suppressed).
ghostty #79 captures whether the press was over a link (link_press_over_link) and
only opens via the latched path when it was, so an off-link-started drag is
swallowed rather than opening a link it merely released over.

Re-pins the ghostty submodule from 9f014e9 to df789cd and repoints the
prebuilt GhosttyKit release/checksum + docs. df789cd is an ancestor of
manaflow-ai/ghostty main once #79 merges.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Comment thread scripts/ghosttykit-checksums.txt
@austinywang
austinywang dismissed coderabbitai[bot]’s stale review June 6, 2026 09:37

Resolved by later commits; CodeRabbit current check is passing and the inline MD018 thread is marked resolved.

@austinywang
austinywang dismissed stale reviews from coderabbitai[bot], coderabbitai[bot], and coderabbitai[bot] June 6, 2026 09:37

Resolved by later commits; CodeRabbit current check is passing and the inline MD018 thread is marked resolved.

austinywang and others added 4 commits June 9, 2026 22:28
…-link-open

# Conflicts:
#	docs/ghostty-fork.md
#	ghostty
#	scripts/ghosttykit-checksums.txt
Pins the SHA256 of the published prebuilt
xcframework-34cbf180d8917b802d61d9929cfb493594f2ab52-crashsubdir-cmux-crash-v1
that merges the surface registry serialization (#5458) into the alt-screen
Cmd-click link fix (#5128).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The origin/main merge (sidebar scroll + macOS 27 crash fixes, PR #5670) grew
Sources/ContentView.swift to 19161 and Sources/SessionIndexView.swift to 2877,
which exceed the inherited budget. Bump only those two entries to match; this is
upstream main debt surfaced by the merge, not a change from the ghostty bump.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

This branch was successfully deployed

1 active deployment
Preview – cmux — 1450576b Deployed Jun 10, 2026 by vercel[bot]
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.

Terminal links open in external default browser instead of cmux's built-in browser when a fullscreen (alt-screen) TUI is active

1 participant