Merge branch 'main' into issue-151-ssh-remote-port-proxying

This commit is contained in:
Lawrence Chen 2026-03-11 15:56:47 -07:00
commit d67090994e
61 changed files with 11220 additions and 614 deletions

View file

@ -12,9 +12,11 @@ When we change the fork, update this document and the parent submodule SHA.
## Current fork changes
Fork rebased onto upstream `v1.3.0` plus newer `main` commits as of March 9, 2026.
### 1) OSC 99 (kitty) notification parser
- Commit: `4713b7e23` (Add OSC 99 notification parser)
- Commit: `a2252e7a9` (Add OSC 99 notification parser)
- Files:
- `src/terminal/osc.zig`
- `src/terminal/osc/parsers.zig`
@ -24,13 +26,49 @@ When we change the fork, update this document and the parent submodule SHA.
### 2) macOS display link restart on display changes
- Commit: `7c2562cbe` (macos: restart display link after display ID change)
- Commit: `c07e6c5a5` (macos: restart display link after display ID change)
- Files:
- `src/renderer/generic.zig`
- Summary:
- Restarts the CVDisplayLink when `setMacOSDisplayID` updates the current CGDisplay.
- Prevents a rare state where vsync is "running" but no callbacks arrive, which can look like a frozen surface until focus/occlusion changes.
### 3) Keyboard copy mode selection C API
- Commit: `a50579bd5` (Add C API for keyboard copy mode selection)
- Files:
- `src/Surface.zig`
- `src/apprt/embedded.zig`
- Summary:
- Restores `ghostty_surface_select_cursor_cell` and `ghostty_surface_clear_selection`.
- Keeps cmux keyboard copy mode working against the refreshed Ghostty base.
### 4) macOS resize stale-frame mitigation
Sections 3 and 4 are grouped by feature, not by commit order. The fork branch HEAD is the
section 3 copy-mode commit, even though the section 4 resize commits were applied earlier.
- Commits:
- `769bbf7a9` (macos: reduce transient blank/scaled frames during resize)
- `9efcdfdf8` (macos: keep top-left gravity for stale-frame replay)
- Files:
- `pkg/macos/animation.zig`
- `src/Surface.zig`
- `src/apprt/embedded.zig`
- `src/renderer/Metal.zig`
- `src/renderer/generic.zig`
- `src/renderer/metal/IOSurfaceLayer.zig`
- Summary:
- Replays the last rendered frame during resize and keeps its geometry anchored correctly.
- Reduces transient blank or scaled frames while a macOS window is being resized.
## Upstreamed fork changes
### cursor-click-to-move respects OSC 133 click-to-move
- Was local in the fork as `10a585754`.
- Landed upstream as `bb646926f`, so it is no longer carried as a fork-only patch.
## Merge conflict notes
These files change frequently upstream; be careful when rebasing the fork: