Skip to content

fix(agent): a finish or failure on the tab in front while away is held until a tab is clicked (core 0.44.4) - #252

Merged
Maxaubert merged 3 commits into
mainfrom
fix/done-mark-held-until-tab-click
Oct 23, 2026
Merged

Maxaubert merged 3 commits into
mainfrom
fix/done-mark-held-until-tab-click

Conversation

@Maxaubert

@Maxaubert Maxaubert commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

Restores the behaviour the owner asked for: when a session finishes (or fails) on the tab in front while the window is unfocused, the Finished/Failed mark and the taskbar badge stay up when you come back, instead of clearing on focus or pointer movement. The mark clears when a tab is clicked, when the tab in front changes with the window focused, when work restarts, when the agent goes, or when the tab closes. Marks raised while looking and Questions are unchanged.

Changes

  • core/renderer/lib/agentHold.ts (+ unit tests): pure hold bookkeeping.
  • core/renderer/lib/useAgentIndicator.ts: hold on both the hook path and the title-only workingIds path; capture click listener on [data-tab] / [role=tab]; clicks on a tab's close X are ignored.
  • tools/e2e/run.mjs: agentHooks rewritten for the held behaviour (Finished, same-tab and other-tab click) plus a Failed-hold check.
  • docs/regression-rules.md: the rule and the reversal of 2026-10-14.
  • Version: core 0.44.4, app 0.58.4.

For the owner to confirm

  • Interpretation: the owner said 'until you click a new tab'. This build also clears the mark on a click on the SAME tab (and on a keyboard tab change). Easy to narrow if you want only a different tab to clear it.
  • Both hosts (Prism's TabStrip and PrismTerminal's TabStrip/TabSidebar) already carry data-tab and role=tab, so no Prism follow-up is needed for the click listener.

Gates

  • typecheck, lint (0 errors), unit tests (2328) pass.
  • e2e: agentHooks 54/54. Full suite: tabLooks, indicatorStyles, verticalTabs and catchUp fail with waitForFunction timeouts; tabLooks and catchUp fail identically on the base commit, so they are not caused by this change. Please check whether CI/this machine has the same four failing.
  • Not yet installed (deferred to the morning). Before pushing, rebase on origin/main and re-bump if core 0.44.4 / app 0.58.4 are taken.

🤖 Generated with Claude Code

https://claude.ai/code/session_01DzqPzR6LuAvhiDabNwqzpx

Amended 2026-10-23 (prismterminal-c8)

Owner confirmed: "have it disappear once I click off the tab". A click on the SAME tab now keeps the mark; only leaving the tab (click or key), work restarting, the agent going or the tab closing clears it. The capture click listener and HeldMarks.pick are gone; the release is driven by the tab in front changing. agentHooks e2e: 49 checks, 0 fails, including 'a click on the same tab leaves it up'. Flare is mirroring the same rule.

Maxaubert and others added 2 commits October 21, 2026 19:23
…d until a tab is clicked (core 0.44.4)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DzqPzR6LuAvhiDabNwqzpx
…ailed mark too

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DzqPzR6LuAvhiDabNwqzpx
@Maxaubert

Copy link
Copy Markdown
Owner Author

E2E check: the 4 scenarios that failed in the full run (tabLooks, indicatorStyles, verticalTabs, catchUp) were rerun one at a time on this branch AND on unchanged main (60b6a4a). All 4 fail on main as well (waitForFunction 45 s timeouts; catchUp's orchestrator checks), so they are pre-existing on this machine and not caused by this change. agentHooks (54 checks) and attention pass on the branch.

…ick of the same tab

Owner, 2026-10-23: "have it disappear once I click off the tab". The capture
click listener (and HeldMarks.pick) is gone: the release is driven by the tab
in front changing, by a click or a key, so a click on the same tab keeps the
mark. agentHooks e2e: same-tab click keeps it, leaving clears it (49 checks).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017XYVRPzvhLpPCr75uB6uaA
@Maxaubert
Maxaubert merged commit f8e32fe into main Oct 23, 2026
2 checks passed
@Maxaubert
Maxaubert deleted the fix/done-mark-held-until-tab-click branch October 23, 2026 03:01
github-actions Bot pushed a commit that referenced this pull request Oct 23, 2026
…d until a tab is clicked (core 0.44.4) (#252)

* fix(agent): a finish or failure on the tab in front while away is held until a tab is clicked (core 0.44.4)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DzqPzR6LuAvhiDabNwqzpx

* fix(agent): a tab's close X does not clear a held mark; e2e holds a Failed mark too

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DzqPzR6LuAvhiDabNwqzpx

* fix(agent): a held mark goes only when you leave the tab, not on a click of the same tab

Owner, 2026-10-23: "have it disappear once I click off the tab". The capture
click listener (and HeldMarks.pick) is gone: the release is driven by the tab
in front changing, by a click or a key, so a click on the same tab keeps the
mark. agentHooks e2e: same-tab click keeps it, leaving clears it (49 checks).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017XYVRPzvhLpPCr75uB6uaA

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant