Skip to content

Update Ghostty for iOS manual IO - #3394

Merged
lawrencecchen merged 3 commits into
mainfrom
feat-ghostty-ios-manual-io
May 1, 2026
Merged

lawrencecchen merged 3 commits into
mainfrom
feat-ghostty-ios-manual-io

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented May 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • update the Ghostty submodule to the fork branch with manual embedded IO exposed for libghostty iOS clients
  • document the new fork patch and why the old iOS branch build-system changes were not carried over

Verification

  • zig build test in ghostty/
  • CMUX_GHOSTTYKIT_NO_PREBUILT=1 ./scripts/ensure-ghosttykit.sh
  • ./scripts/reload.sh --tag gtyio

Related

Dogfood

Please dogfood the tagged macOS build before this is marked ready. This PR does not contain the new iOS app yet, so there is no iOS reload script in this worktree.

Summary by CodeRabbit

  • Documentation

    • Updated fork documentation with a new section detailing the manual iOS embedded IO support, exposed C API surface, verification steps, and upstream comparison.
  • Chores

    • Updated the Ghostty dependency reference and added the corresponding checksum entry.

@vercel

vercel Bot commented May 1, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
cmux Ready Ready Preview, Comment May 1, 2026 9:35am
cmux-staging Building Building Preview, Comment May 1, 2026 9:35am

@coderabbitai

coderabbitai Bot commented May 1, 2026 •

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 96a9b503-42e1-4128-bf9d-73f5d3653724

📥 Commits

Reviewing files that changed from the base of the PR and between 3dfb24d and b38698f.

📒 Files selected for processing (1)
  • docs/ghostty-fork.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/ghostty-fork.md

📝 Walkthrough

Walkthrough

Ghostty submodule pointer updated to commit 22fa801f88f... (May 1, 2026); docs/ghostty-fork.md updated to reflect the new cmux pin and added a section documenting manual embedded IO for libghostty iOS; a new checksum entry was added to scripts/ghosttykit-checksums.txt.

Changes

Cohort / File(s) Summary
Documentation & Fork Metadata
docs/ghostty-fork.md
Updated fork metadata and cmux pin to May 1, 2026; removed old reachability notes; added section "10) Manual embedded IO for libghostty iOS" with commit/PR details, exposed C API surface, and upstream comparison.
Submodule Update
ghostty
Updated git submodule pointer from 4265d34282... to 22fa801f88f96fa8... (new upstream commit).
Checksum Registry
scripts/ghosttykit-checksums.txt
Added checksum entry mapping 22fa801f88f96fa8... to 8d7da0bb11627c8cbe98f73f47ab5a92ec1576a7043f3976a0f107343c724a65.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • #2379 — Updates the same files: ghostty submodule, fork documentation, and checksum entry.
  • #3216 — Performs an upstream Ghostty update workflow with submodule pin, checksum addition, and docs refresh.
  • #2704 — Updates the ghostty submodule pointer and adds the GhosttyKit checksum record.

Suggested labels

aardvark, codex

Poem

🐰 I hopped to update pins today,

Submodule moved, docs paved the way,
Checksums set, iOS IO sings,
Little rabbit dances, fluffs his wings,
May commit—new code in play ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and clearly summarizes the main change: updating Ghostty for iOS manual IO support, which aligns with the core purpose of the PR.
Description check ✅ Passed The description provides a clear summary of changes and verification steps, though it deviates from the template structure by using 'Verification' and 'Related' sections instead of the 'Testing' section specified in the template.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat-ghostty-ios-manual-io

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
Review rate limit: 6/8 reviews remaining, refill in 8 minutes and 53 seconds.

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

@lawrencecchen
lawrencecchen force-pushed the feat-ghostty-ios-manual-io branch from 0bdd811 to b4991eb Compare May 1, 2026 09:03
lawrencecchen added a commit to manaflow-ai/ghostty that referenced this pull request May 1, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@greptile-apps

greptile-apps Bot commented May 1, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR bumps the Ghostty submodule from 4265d342 to 22fa801f88f9 to add manual embedded IO support for libghostty iOS clients, documents the new fork patch (section 10), and pins the corresponding xcframework checksum. The submodule, xcframework release tag, and checksums entry all consistently reference 22fa801f8, but the Current cmux pinned fork head in docs/ghostty-fork.md records 1eafdc6a3 instead — this looks like the fork main merge commit was written in place of the actual submodule SHA.

Confidence Score: 4/5

Safe to merge after correcting the pinned fork head SHA in the documentation intro

Single P1 finding: the Current cmux pinned fork head in docs/ghostty-fork.md says 1eafdc6a3 while every other reference in the PR (submodule, xcframework tag, checksums) uses 22fa801f8. The submodule bump and checksum entry are correct — the doc discrepancy needs a one-line fix.

docs/ghostty-fork.md — the intro SHA should be 22fa801f8, not 1eafdc6a3

Important Files Changed

Filename Overview
docs/ghostty-fork.md Documentation updated with new section 10 (manual embedded IO) and merge conflict notes; intro header records 1eafdc6a3 as the pinned head, mismatching the actual submodule SHA 22fa801f8
ghostty Submodule bumped from 4265d342 to 22fa801f88f9 to pick up the manual embedded IO for libghostty iOS patch
scripts/ghosttykit-checksums.txt New SHA-256 checksum entry correctly added for the new submodule commit 22fa801f8

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[PR #53 merged into\nmanaflow-ai/ghostty main\nmerge commit: 1eafdc6a3] -->|contains patch commit| B[22fa801f8\nExpose manual embedded IO for iOS]
    B -->|submodule pinned to| C[cmux ghostty submodule\n22fa801f88f96fa842e54ecce6c34a5d36003d19]
    C -->|xcframework release tagged| D[xcframework-22fa801f88f96fa842e54ecce6c34a5d36003d19]
    D -->|SHA-256 pinned in| E[scripts/ghosttykit-checksums.txt\n8d7da0bb...3c724a65]
    C -->|documented in| F[docs/ghostty-fork.md]
    F -->|intro header says| G["Current cmux pinned fork head: 1eafdc6a3\n⚠️ should be 22fa801f8"]
Loading

Reviews (1): Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." | Re-trigger Greptile

Comment thread docs/ghostty-fork.md Outdated

@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 the current code and only fix it if needed.

Inline comments:
In `@ghostty`:
- Line 1: The parent commit pointer references SHA
22fa801f88f96fa842e54ecce6c34a5d36003d19 which only exists on the temporary
branch cmux-ios-manual-io-minimal-clean-20260501 and PR `#53`; before updating the
submodule pointer in the parent repo, push that commit to the fork main branch
(manaflow-ai/ghostty main) so the SHA is reachable, then update the submodule
pointer to that main commit and re-run the submodule update/commit in the parent
repo; ensure the pushed commit on manaflow-ai/ghostty main contains the same
tree as the temporary branch SHA to avoid dangling references.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3cfcb785-30d7-49b9-9987-5b9da307e76f

📥 Commits

Reviewing files that changed from the base of the PR and between 986ca7a and 3dfb24d.

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

Comment thread ghostty

@cubic-dev-ai cubic-dev-ai 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.

1 issue found across 3 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="docs/ghostty-fork.md">

<violation number="1" location="docs/ghostty-fork.md:16">
P3: The pinned fork head in this header should match the actual submodule SHA. Using `1eafdc6a3` here is inconsistent with the pinned commit (`22fa801f8`) and makes pin verification misleading.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread docs/ghostty-fork.md Outdated
@lawrencecchen
lawrencecchen merged commit f6338c0 into main May 1, 2026
29 checks passed

This branch was successfully deployed

1 active deployment
Preview – cmux — b38698f1 Deployed May 1, 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.

1 participant