Skip to content

feat: make session lifecycle and TUI resilient#40

Merged
aksOps merged 14 commits into
mainfrom
codex/responsive-tui-session-correctness
Jul 12, 2026
Merged

feat: make session lifecycle and TUI resilient#40
aksOps merged 14 commits into
mainfrom
codex/responsive-tui-session-correctness

Conversation

@aksOps

@aksOps aksOps commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • make managed-session resume provider-aware and fail closed when heuristic latest-conversation behavior is ambiguous
  • add responsive wide, standard, compact, and mobile-keyboard TUI layouts with truthful Running/Stopped lifecycle grouping
  • group sessions by workspace, preserve safe reorder semantics, and warn when live agents share files
  • restore terminal ownership after attach, add SSH-aware mouse policy, and preserve bracketed-paste bytes and control characters
  • contain provider alternate-screen sequences, including aborted CSI edge cases, without clearing shell scrollback
  • document session terminology, OpenCode /new, workspace sharing, terminal ownership, and Windows Terminal/PowerShell SSH limitations
  • clear repository-wide static-analysis findings

Why

The dashboard previously conflated UAM-managed sessions with provider conversations, could resume a provider's latest conversation unexpectedly, and did not adapt cleanly to keyboard-constrained mobile terminals. Attach teardown could also leave overlapping terminal output, while mouse and paste behavior differed over SSH.

Compatibility

  • store schema remains v3 with unknown-field preservation and no migration
  • existing session names, prompt bytes, JSON list shape, provider arguments, attach keys, and default yolo behavior remain compatible
  • native targets remain Linux/Ubuntu and macOS on amd64/arm64; Windows is documented as an SSH client only

Verification

  • go test -race -count=1 -covermode=atomic -coverpkg=./... ./... — pass, 88.4% total coverage
  • golangci-lint run ./... — 0 issues
  • staticcheck ./... — pass
  • go vet ./... — pass
  • gosec -exclude-dir=.claude -exclude-dir=vendor ./... — 0 issues
  • GOTOOLCHAIN=go1.25.12 govulncheck ./... — no called vulnerabilities
  • go mod verify, gofmt, and diff cleanliness — pass
  • Linux and Darwin amd64/arm64 cross-builds — pass
  • GoReleaser snapshot, four archive-content checks, Linux version smoke, and SBOM generation — pass
  • adversarial terminal parser review and PTY teardown race stress — pass

Comment thread internal/session/attach.go Fixed
@aksOps aksOps merged commit 3a54c90 into main Jul 12, 2026
16 checks passed
@aksOps aksOps deleted the codex/responsive-tui-session-correctness branch July 12, 2026 17:02
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.

2 participants