Skip to content

chore(sync): merge upstream through 143bf5f - #111

Merged
cameronsjo merged 5 commits into
masterfrom
claude/project-thread-ujhajc
Oct 19, 2026
Merged

cameronsjo merged 5 commits into
masterfrom
claude/project-thread-ujhajc

Conversation

@cameronsjo

Copy link
Copy Markdown
Owner

Before: the fork was 4 commits behind herdrdev/herdr master.

After: the fork includes upstream through 143bf5f:

  • Resizes keep polling through a zero-sized grid.
  • The macOS server keeps running when its terminal quits.
  • A cursor move that carries a link onto a full page no longer crashes the server. This is a new vendored libghostty-vt patch, 0008.
  • POSIX machine scripts survive Windows OpenSSH.

How: git merge --no-ff upstream/master merged cleanly with no conflicts. Upstream changed nothing under .github/, scripts/, build.rs or crates/*/build.rs. Only two of the changed files are also fork-modified, src/client/tests/mod.rs and src/remote/attach.rs, and upstream only added code there. The ledger line is in docs/fork/CHANGES.md.

Local checks:

  • ZIG=/bin/true cargo clippy --all-targets --locked -- -D warnings: clean.
  • cargo fmt --all --check: clean.
  • Script unit tests pass, including the vendor patch check.

Generated by Claude Code

JJLiebig and others added 5 commits October 15, 2026 18:48
…dev#5308)

OpenSSH for Windows hands the SSH command argument to the login shell
wrapped in double quotes, which expanded the `$`/`$(...)` in Herdr's POSIX
discovery and API bridge scripts before `/bin/sh` ran them. A saved machine
whose default shell is WSL bash is detected as POSIX, so `herdr --machine`
then failed with `remote binary discovery failed`.

Deliver the discovery script on stdin (`/bin/sh -s`) and base64-encode the
cached POSIX API bridge command so the whole script, including any executable
path, stays out of the command argument. The decoded bridge reads the API
payload from fd 3 so decoding the script cannot consume it.

refs herdrdev#5132
…page (herdrdev#5303)

* fix: stop server crash when a cursor move carries a link onto a full page

refs herdrdev#5296

* fix: keep cursor link when a style page split moves the cursor

refs herdrdev#5296
…5236)

* fix: keep the macos server running when its terminal quits

refs herdrdev#4920

* test: cover the macos server leaving its launchd job

refs herdrdev#4920

* test: wait for the launcher to exit before checking the detached server

refs herdrdev#4920
)

A window drag can momentarily make the terminal report a zero-sized grid.
`terminal_grid_size()` turns that into an error, and the resize watcher
treated any error as a dead terminal: it detached and exited the client,
which ends the session on a remote host.

Keep the last known geometry and the pending resize signal, then resample.
Real terminal failures still detach, and startup still rejects a
zero-sized grid.

This prevents a zero-sized-grid-induced detach. Whether it fully explains
the reported Git Bash over SSH session loss is unconfirmed: the pasted ssh
log shows a normal session teardown, and the report's leftover mouse
reporting is not reproduced here.

refs herdrdev#4105
@cameronsjo cameronsjo self-assigned this Oct 19, 2026

Copy link
Copy Markdown
Owner Author

check (ubuntu-latest) failed on one test: client_mode::federated_client_starts_without_local_and_survives_its_restart (tests/client_mode.rs:1107, "remote reconnect 1 must restore visible input"). The visible-screen check for the same cycle had already passed.

I don't think this PR caused it:

I've re-run the job once. If it fails the same way again, I'll treat it as a real regression and look at herdrdev#5308's bridge change (src/remote/attach.rs) first, because that's the only one of the four upstream commits that touches the SSH path.


Generated by Claude Code

@cameronsjo
cameronsjo marked this pull request as ready for review October 19, 2026 09:14
@cameronsjo
cameronsjo merged commit ef1489e into master Oct 19, 2026
7 of 8 checks passed
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.

4 participants