diff --git a/.github/workflows/build-ghosttykit.yml b/.github/workflows/build-ghosttykit.yml index 35e74d69e67..7760ac9f306 100644 --- a/.github/workflows/build-ghosttykit.yml +++ b/.github/workflows/build-ghosttykit.yml @@ -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' diff --git a/docs/ghostty-fork.md b/docs/ghostty-fork.md index ed0d91d277a..86e2cc65d4b 100644 --- a/docs/ghostty-fork.md +++ b/docs/ghostty-fork.md @@ -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. +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 @@ -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` @@ -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 @@ -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. diff --git a/ghostty b/ghostty index 465a9a62120..d3117e03ea1 160000 --- a/ghostty +++ b/ghostty @@ -1 +1 @@ -Subproject commit 465a9a62120f619a826b4864a4818dae7da724a7 +Subproject commit d3117e03ea19665bc83a28f7e0428c63937e6140 diff --git a/scripts/ghosttykit-checksums.txt b/scripts/ghosttykit-checksums.txt index 3d1068c344f..527ce931b4a 100644 --- a/scripts/ghosttykit-checksums.txt +++ b/scripts/ghosttykit-checksums.txt @@ -21,3 +21,4 @@ fc59b46ba67787e4fd6ad0de63e5e469592d3eae 410196d8ebb5371e2c6ed25489e7411e43f920f 3b684a085d40ec79e8a0ae863a4f2b48ed4dba74 1d408a5ba5e7996b21a4f3346adbc971c47f3ccf7e440bd334ac5389cd2f11c8 f7880c47313a8697ee7f58969564772cb70eb6e9 d8647cf2fa1e54912ca781db81871932a4c4becc96b58a3eda4f7e66c979cdbf 465a9a62120f619a826b4864a4818dae7da724a7 c090450d88cee0c75c68d5631e8e9fbc6b748542c73965220ad7d11b85f79dd3 +d3117e03ea19665bc83a28f7e0428c63937e6140 dd33542f2cb0ea6bb9579067cda4faf605586664e8b5d1dce57c793e48eb2668