fix(sessions): reflect unarchive-on-open in the sidebar instantly #200

Merged
dries merged 1 commit from fix/unarchive-on-open-sidebar into main 2026-07-01 23:00:36 +02:00
Owner

Summary

  • Opening an archived session unarchives it server-side, but the sidebar row stayed archived (hidden/greyed) until the next /api/sessions poll caught up.
  • Clear the archived flag optimistically on session entry (alongside mark-seen), and force the active row unarchived in the sidebar poll merge so a poll that races the server-side unarchive can't re-hide it.

Testing

  • Added a regression test (verified failing before the fix): opening an archived active session clears archived in the sidebar store.
  • pnpm lint, pnpm test (1355 pass), platform-branching check.
## Summary - Opening an archived session unarchives it server-side, but the sidebar row stayed archived (hidden/greyed) until the next `/api/sessions` poll caught up. - Clear the archived flag optimistically on session entry (alongside mark-seen), and force the active row unarchived in the sidebar poll merge so a poll that races the server-side unarchive can't re-hide it. ## Testing - Added a regression test (verified failing before the fix): opening an archived active session clears `archived` in the sidebar store. - `pnpm lint`, `pnpm test` (1355 pass), platform-branching check.
fix(sessions): reflect unarchive-on-open in the sidebar instantly
All checks were successful
CI / Frontend (pull_request) Successful in 4m1s
CI / Backend (pull_request) Successful in 4m26s
CI / Build Desktop (macOS arm64) (pull_request) Successful in 1m8s
CI / Playwright E2E (pull_request) Successful in 8m18s
CI / Build (pull_request) Successful in 5m22s
CI / Semantic Tag (pull_request) Has been skipped
CI / Coverage Ratchet (pull_request) Successful in 6m1s
44bcee648a
Opening an archived session unarchives it server-side, but the sidebar
row stayed archived until the next /api/sessions poll. Clear the flag
optimistically on entry and force the active row unarchived in the poll
merge so a racing poll can't re-hide it.

Coverage ratchet: pass

Suite Baseline This PR Δ
go 69.50% 69.50% +0.00
frontend 58.55% 58.56% +0.01

Tolerance: -0.1%. Baseline stored on gh-pages.

<!-- coverage-ratchet --> ### Coverage ratchet: ✅ pass | Suite | Baseline | This PR | Δ | | |---|---|---|---|---| | go | 69.50% | 69.50% | +0.00 | ✅ | | frontend | 58.55% | 58.56% | +0.01 | ✅ | _Tolerance: -0.1%. Baseline stored on `gh-pages`._
dries merged commit a1c8454e99 into main 2026-07-01 23:00:36 +02:00
Sign in to join this conversation.
No description provided.