Skip to content

feat: build session dashboard with resilient live state handling#20

Merged
baiirun merged 2 commits into
mainfrom
codex/ts-b020a0-session-dashboard
Mar 14, 2026
Merged

feat: build session dashboard with resilient live state handling#20
baiirun merged 2 commits into
mainfrom
codex/ts-b020a0-session-dashboard

Conversation

@baiirun

@baiirun baiirun commented Mar 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • preserve dashboard ordering across daemon refreshes while appending new workloads deterministically
  • keep the selected session anchored when the daemon rekeys a workload and enrich the UI with task, pid, lifecycle, and daemon note metadata
  • add regression coverage for workload rekeys and order preservation, and include MonitoringStore.swift in the checked-in Xcode project

Context

Task: ts-b020a0

This turns the monitoring home screen into a more credible native replacement for the TUI overview by making live state churn less disruptive and by exposing more of the daemon-backed session context directly in the list and detail panes.

Remaining verification gap: I did not validate against a real active-session churn scenario locally because there were no safe live sessions to monitor without spawning unrelated worker activity.

baiirun added 2 commits March 14, 2026 17:42
The macOS control center needed a dashboard that could stay useful while
the daemon reconnects and workloads churn, but the existing monitoring
view did not preserve ordering or selection when an agent was rekeyed and
it surfaced too little session context to replace the TUI overview.

This change anchors selection to the session when possible, preserves the
existing workload order while appending new entries, enriches the session
rows and detail pane with daemon-backed identifiers and lifecycle data,
adds regression coverage for workload rekeys and order preservation, and
includes MonitoringStore.swift in the checked-in Xcode project so the app
build stays green.
The session dashboard branch still had a few review issues after the main
implementation landed. The workload ordering helper had become harder to
reason about, the highlights panel could show pid 0 for pending work, and
the fallback ordering branches were not covered by a focused regression
test.

This change splits retained-order handling from new-workload sorting,
collapses the duplicated event merge path, normalizes pending pid display
in the highlights panel, and adds a regression test that exercises the
attention, kind, spawn time, and id ordering rules for newly discovered
workloads.
@baiirun
baiirun merged commit b4800ec into main Mar 14, 2026
4 checks passed
@baiirun
baiirun deleted the codex/ts-b020a0-session-dashboard branch March 14, 2026 23:04
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