Skip to content

fix: smaller bugs from the 2026-10-26 audit (#140) - #151

Merged
cachewraith merged 1 commit into
mainfrom
fix/audit-small-20261026
Oct 26, 2026
Merged

cachewraith merged 1 commit into
mainfrom
fix/audit-small-20261026

Conversation

@cachewraith

Copy link
Copy Markdown
Owner

All 15 items of #140.

Changes panel / git

  • Commit message, push/pull confirm and History "Load more" belong to their pane (key={paneId}).
  • A diff past git's 8 MB buffer shows its start marked cut, not the unstaged-only diff; a status too long to list still reads as a repo.
  • Binary/mode-only entries with spaces in the path get the right name.

Chat

  • No stale approval bar after Stop: claude's control_cancel_request and codex's serverRequest/resolved close it, and a turn ending settles any still open.
  • codex: a Stop before a failed turn/start no longer cuts the next turn short.
  • agy: the first start keeps --effort (the window leaves it out when the saved model list says that model has none).
  • A chat view load racing a close no longer shows saved items twice.

Host

  • A reattached screen resets the terminal before its first piece; the Node host holds live output during an attach snapshot for already attached clients too (the Rust host was already atomic).
  • wraithgrid wait is dropped when its client leaves (Node and Rust hosts).
  • A host spawn that fails later no longer throws in main; wraithgrid attach decodes stdin as one UTF-8 stream.

Other

  • Preview reads server output line by line (a URL cut across chunks got the wrong port).
  • Settings path fields save a pending edit when the page closes.
  • Usage counts days by the calendar (a clock change skipped or repeated one).
  • A panel edge unmounted mid-drag drops its listeners and the drag flag.

Tests: typecheck, lint, 491 unit tests (new tests/unit/audit-small.test.ts, 8 tests: git overflow, diff paths, preview lines, approvals after Stop, DST days, load/forget race, replay reset), e2e 50 passed / 1 skipped, host parity suite 40 passed, cargo clippy clean. Not covered by a test: the wait client cleanup, the host spawn error listener, the UTF-8 decoder, Settings flush and EdgeResizer cleanup. Not seen live: a real renderer crash, codex cancel/stop paths, agy first-start effort.

Closes #140

🤖 Generated with Claude Code

- Changes panel: GitActions and History keyed by pane; a diff past git's
  buffer shows its start marked cut; status overflow still reads as a repo;
  diff paths with spaces in binary/mode-only entries
- chat: claude control_cancel_request and codex serverRequest/resolved close
  the approval bar, and a turn ending settles any left; codex stopAsked
  resets when turn/start fails; agy keeps --effort on first start; a chat
  view load racing forget no longer doubles its items
- host: replay resets the terminal before its first piece; the Node host
  holds live output during an attach snapshot for attached clients too;
  `wait` dropped when its client leaves (Node and Rust hosts); host spawn
  errors no longer throw in main; `attach` stdin decoded as one UTF-8 stream
- preview output read line by line; Settings path rows save a pending edit
  on unmount; Usage days by the calendar (DST); EdgeResizer cleans up when
  unmounted mid-drag

Closes #140

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cachewraith
cachewraith force-pushed the fix/audit-small-20261026 branch from e403909 to d3d80a8 Compare October 26, 2026 18:28
@cachewraith
cachewraith merged commit b9fc5b1 into main Oct 26, 2026
4 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.

Smaller bugs from the 2026-10-26 audit (git actions across panes, stale approval bar, preview URL split, …)

1 participant