v0.28.387 DEV Test Plan
Version under test: ZigShell v0.28.387 [DEV].
Stable was not replaced for this test pass. Use disposable tmux sessions for destructive checks.
Fast Pass Order
Section titled “Fast Pass Order”- First test browser and focus regressions: Edge frame leak, Alt+Tab, external links, and
Ctrl+O. - Then test tmux lifecycle features, using disposable sessions only.
- Then test name/agent sync, inbox/activity indicators, and
Ctrl+Kutilities. - If a bug appears, copy shell diagnostics immediately while the bad state is visible.
High-Risk First
Section titled “High-Risk First”-
Edge frame leak fix
Open a browser pane, then Alt+Tab or minimize ZigShell to another app. Move and click where the Edge mask used to remain.
Expected: no ZigShell/Edge overlay remains on top of the other app, and the first click works. -
Alt+Tab focus fix
Alt+Tab from ZigShell to several other apps repeatedly, from both shell focus and browser focus.
Expected: ZigShell does not steal focus back and does not require a second Alt+Tab. -
External links stay outside ZigShell
Click a YouTube, Beeper, Slack, or other external-app link while a ZigShell browser pane exists in the background.
Expected: the link opens in a normal browser window, not inside a random ZigShell browser pane. -
Ctrl+O opens in the current browser pane
In a shell with a browser pane, show a URL in the visible buffer, pressCtrl+O, and pick the URL.
Expected: the URL opens in that shell’s docked browser pane, not in normal Edge.
Browser And Layout
Section titled “Browser And Layout”-
Browser pane default size
Open a fresh shell with a browser pane.
Expected: the browser starts wider than before, about 65 percent browser / 35 percent shell. -
Per-session browser width
Resize the browser pane in one session, switch to another session, then return.
Expected: each session keeps its own browser width; resizing one session does not change all others. -
Browser pane appears reliably
Switch between sessions with browser panes and reopen browser panes after shell switches.
Expected: the browser pane appears without requiring a resize or switch-away/switch-back workaround. -
Browser active border / focus border
Click the shell, then the browser, then the shell again.
Expected: the focus border is neutral/white, visually aligned, and not out of bounds. -
Edge controls shield
Hover near Edge minimize, maximize, and close controls inside the docked browser pane.
Expected: the shield does not show hover artifacts or leak over other applications.
Tmux And Session Lifecycle
Section titled “Tmux And Session Lifecycle”-
End tmux session from Ctrl+K - disposable only
On a disposable tmux tab, useCtrl+K->End tmux session.
Expected: the remote tmux session is killed, the local tab closes, andCtrl+Shift+Tdoes not reopen the dead target. -
End tmux session from tab context menu - disposable only
On a disposable tmux tab, open the tab context menu and chooseEnd tmux session.
Expected: same behavior asCtrl+K->End tmux session. -
Ctrl+Shift+W destructive close - disposable only
On a disposable tmux tab, pressCtrl+Shift+W.
Expected: it uses the same destructive End tmux session path, not a stale duplicate close path. -
Archive / restore session
Archive a disposable Claude/tmux tab, then restore it from the archived list.
Expected: restore works, and a failed restore does not delete the archive entry. -
Remind Me
On a disposable Claude/tmux tab, useCtrl+K->Remind Me, then set a short due time such as1m.
Expected: the local tab disappears, the remote tmux session and its running process remain alive, and ZigShell reattaches it when due.Ctrl+K->Reminderscan reattach it early.
Names And Agents
Section titled “Names And Agents”-
Codex icon detection
In a Codex tab, mention Claude in conversation text.
Expected: the tab still shows Codex identity; incidental Claude text does not flip the agent icon. -
Codex title syncing
Rename or retitle a Codex session.
Expected: ZigShell adopts the meaningful name, not genericCodex,OpenAI Codex, or a tmux prefix. -
Sync Tab/Tmux/Agent Name
UseCtrl+K->Sync Tab/Tmux/Agent Nameon a Claude or Codex tmux tab.
Expected: the current agent rename, tmux name, and ZigShell tab name align where supported. -
Rename tab sync
UseCtrl+K->Rename tabor the equivalent rename flow.
Expected: the chosen name propagates to the ZigShell tab, tmux, and agent where supported. -
No unwanted tmux prefix
Inspect renamed sessions and semantic session names.
Expected: the visible tab title does not gain an unwantedhypertasks-Nprefix when a better name exists.
Inbox And Activity
Section titled “Inbox And Activity”-
Blue dot behavior
Let an inactive Claude or Codex session finish and wait for attention detection.
Expected: a blue dot appears only when the session likely needs input, not randomly on idle tabs. -
Spinner behavior
Start real activity, then wait after it stops.
Expected: the spinner appears during activity and clears afterward; no forever spinner remains on idle sessions. -
Archived inbox threads
Archive an inbox item, then let background activity happen.
Expected: spinner-only activity does not bring it back; a real needs-input blue dot does. -
Inbox preview cleanup
Open Inbox and inspect preview lines for Codex and Claude sessions.
Expected: previews show useful conversation text, not tmux footers, status rows, or prompt chrome. -
Inbox/browser overlap
Open the Inbox while a browser pane is visible.
Expected: browser panes hide behind the Inbox; no browser pane bleeds through the overlay.
Ctrl+K And UI
Section titled “Ctrl+K And UI”-
Snippets
UseCtrl+K->Create Snippet, save a small snippet, then useCtrl+;andCtrl+K->Use Snippets.
Expected: the snippet pastes into the shell and persists after a DEV restart. -
Picker wrap-around
In theCtrl+OURL picker, Changelog, Inbox, Reminders, and Snippets, press Down past the last row and Up before the first row.
Expected: selection wraps cleanly instead of stopping. -
Taskbar New Window
Right-click the ZigShell taskbar icon and chooseNew Window.
Expected: a fresh blank workspace/window appears instead of duplicating restored workspaces. -
Ctrl+K Codex tmux launcher
From a remote tmux tab in a project folder, use theCtrl+Kaction to start a new Codex tmux session.
Expected: a new tab opens on the same VPS/path running Codex. -
Copy shell diagnostic data
UseCtrl+K->Copy shell diagnostic dataon a selected session.
Expected: the clipboard contains version, workspace, shell identity, tmux/session binding, activity, agent, and browser data.
Regression Checks
Section titled “Regression Checks”-
DEV version check
Confirm the title bar saysZigShell v0.28.387 [DEV].
Expected: this test plan is run against DEV, not stable. -
Browser reconnect
Disable or close a browser pane, then reconnect/open it from the current shell.
Expected: the browser binds back to the correct session and does not float as a separate broken window. -
Workspace/session restore sanity
Restart DEV after non-destructive tests.
Expected: workspaces and sessions restore with correct names, order, browser state, and no lost tmux association. -
Shell diagnostics match UI
For any phantom spinner, blue dot, or name bug, copy shell diagnostics while the bug is visible.
Expected: diagnostics exposeactivity,needs_attention_blue_dot,name_source,visible_title,tmux_session,ai_agent, and browser binding data.
Bug Notes Template
Section titled “Bug Notes Template”Use this shape when reporting failures:
Feature:What happened:Expected:Workspace:Session title:Diagnostics copied: yes / noScreenshot/video: