Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/build-ghosttykit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,8 @@ jobs:
set -euo pipefail
rm -rf GhosttyKit.xcframework
cp -R ghostty/macos/GhosttyKit.xcframework GhosttyKit.xcframework
tar czf GhosttyKit.xcframework.tar.gz GhosttyKit.xcframework
COPYFILE_DISABLE=1 tar czf GhosttyKit.xcframework.tar.gz GhosttyKit.xcframework
python3 scripts/validate-xcframework-archive.py GhosttyKit.xcframework.tar.gz

- name: Upload xcframework release
if: steps.check-release.outputs.exists == 'false'
Expand Down
42 changes: 36 additions & 6 deletions docs/ghostty-fork.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,12 @@ When we change the fork, update this document and the parent submodule SHA.

## Current fork changes

Fork main has advanced beyond the March 30, 2026 rebase onto upstream `main`
at `3509ccf78` (`v1.3.1-457-g3509ccf78`).
Current cmux pinned fork head: `3b684a085` (`tip-1717-g3b684a085`).
The fork was refreshed from upstream `main` again on April 28, 2026.
Comment on lines 12 to +15

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 Submodule commit not on fork main

CLAUDE.md (Submodule safety) requires pushing the submodule commit to the fork's remote main branch before committing the updated parent pointer, specifically to prevent orphaning. The commit d3117e03e is documented here as being on cmux-upstream-20260428, not on manaflow/main. The presence of the release tag xcframework-d3117e03ea19665bc83a28f7e0428c63937e6140 protects against immediate GC, but the policy check (git merge-base --is-ancestor HEAD origin/main) against the fork's main would still fail — consider merging cmux-upstream-20260428 into manaflow/main or confirming that this branch is already reachable from manaflow/main.

Context Used: CLAUDE.md (source)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fixed. d3117e0 is now an ancestor of manaflow-ai/ghostty main via manaflow-ai/ghostty#48, and the fork notes now state that.

— Claude Code

Current cmux pinned fork head: `d3117e03e`, merged into fork `main` via
`manaflow-ai/ghostty` PR https://github.com/manaflow-ai/ghostty/pull/48
(`xcframework-f7880c47313a8697ee7f58969564772cb70eb6e9-300-gd3117e03e`).
This head merges upstream `659019666` and preserves the previous cmux pin
`465a9a621`.

### 1) macOS display link restart on display changes

Expand Down Expand Up @@ -101,7 +104,12 @@ tend to conflict together during rebases.

### 7) macos-background-from-layer config flag

- Commit: `ae3cc5d29` (Restore macOS layer background hook)
- Commits:
- `ae3cc5d29` (Restore macOS layer background hook)
- `aa28e1bcb` (Add macos-background-from-layer config flag)
- `1a01b36d9` (Skip fullscreen bg draw call in layer-background mode)
- `82e20630b` (Preserve bg images in layer background mode)
- `465a9a621` (Restore bg-image alpha in layer background mode)
- Files:
- `src/config/Config.zig`
- `src/renderer/generic.zig`
Expand All @@ -120,8 +128,20 @@ tend to conflict together during rebases.
- Wires `.apc_start`, `.apc_put`, and `.apc_end` through the shared APC parser in `TerminalStream`.
- Restores kitty graphics execution and APC OK/error replies for the non-termio stream path used by cmux/libghostty integrations.

Fork main now carries the section 8 APC handling fix plus later upstream merges;
the current cmux pin is the head listed above.
### 9) Config load string C API

- Commit: `f7880c473` (Add config load string C API)
- Files:
- `include/ghostty.h`
- `src/config/CApi.zig`
- `src/config/Config.zig`
- Summary:
- Adds a C API for loading Ghostty config from an in-memory string.
- Lets cmux parse generated or override config without materializing a separate config file first.

The current cmux pin is the head listed above. It is reachable from the
`manaflow-ai/ghostty` fork `main` branch and has a matching prebuilt release
tag `xcframework-d3117e03ea19665bc83a28f7e0428c63937e6140`.

## Upstreamed fork changes

Expand All @@ -145,6 +165,16 @@ the current cmux pin is the head listed above.

These files change frequently upstream; be careful when rebasing the fork:

- April 28, 2026, upstream merge:
- Merged upstream `659019666` into `465a9a621` without textual conflicts.
- Verified with `CMUX_GHOSTTYKIT_NO_PREBUILT=1 ./scripts/ensure-ghosttykit.sh`.
- Verified cmux with `./scripts/reload.sh --tag gtyup`.
- Published `xcframework-d3117e03ea19665bc83a28f7e0428c63937e6140` and pinned
its archive checksum in `scripts/ghosttykit-checksums.txt`.
- Merged `d3117e03e` into fork `main` with https://github.com/manaflow-ai/ghostty/pull/48.
- Package GhosttyKit archives with `COPYFILE_DISABLE=1`; the archive validator rejects
macOS AppleDouble entries such as `._GhosttyKit.xcframework`.

- `src/terminal/osc.zig`
- OSC dispatch logic moves often. Re-check the integration points for the OSC 99 parser and keep
the newer `capture`/`captureTrailing()` API usage intact.
Expand Down
2 changes: 1 addition & 1 deletion ghostty
Submodule ghostty updated 209 files
1 change: 1 addition & 0 deletions scripts/ghosttykit-checksums.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ fc59b46ba67787e4fd6ad0de63e5e469592d3eae 410196d8ebb5371e2c6ed25489e7411e43f920f
3b684a085d40ec79e8a0ae863a4f2b48ed4dba74 1d408a5ba5e7996b21a4f3346adbc971c47f3ccf7e440bd334ac5389cd2f11c8
f7880c47313a8697ee7f58969564772cb70eb6e9 d8647cf2fa1e54912ca781db81871932a4c4becc96b58a3eda4f7e66c979cdbf
465a9a62120f619a826b4864a4818dae7da724a7 c090450d88cee0c75c68d5631e8e9fbc6b748542c73965220ad7d11b85f79dd3
d3117e03ea19665bc83a28f7e0428c63937e6140 dd33542f2cb0ea6bb9579067cda4faf605586664e8b5d1dce57c793e48eb2668