Skip to content

Term Coder v1.28.4

Choose a tag to compare

@pagecow pagecow released this 01 Sep 15:05
· 11 commits to main since this release

Makes the project/branch bar instant and fixes the dead "Create new branch…" button.

Branch chip + popup were slow (~3-5s). Every git probe ran through the zsh login-shell wrapper, which costs ~1.2s of shell startup per command (measured: zsh -lic 1.17s vs bare git 0.03s), and two probes ran sequentially. pbGit now runs the bare git command first — git resolves under the sandbox's minimal PATH (Apple's /usr/bin/git) — and falls back to the login shell on any failure, so machines where git only exists on the full user PATH (or a CLT shim that errors with exit 1) still work.

No instant render. The popup awaited the fetch before showing anything and the chip reset to "—" on every project switch. Branch data is now cached per project and the last-known branch is persisted per project, so the popup renders instantly from cache (with a "Loading branches…" hint on first open) and the chip shows the persisted branch immediately, refreshing from git in the background. A fetch resolving after the popover closed or switched to create-row mode no longer clobbers the UI.

"+ Create new branch…" did nothing. The create handler replaced the popover's contents, detaching the button mid-click; the document-level outside-click handler then saw a target no longer inside the bar (contains() is false for detached nodes) and closed the popover instantly. The handler now stops propagation before replacing the contents.

Regression tests added for all three; the full suite (26 files) passes.