Skip to content

feat(shell): foldable sidebar groups, on-call pill, URL-held side panel - #2419

Merged
Makisuo merged 18 commits into
mainfrom
ux/shell
Nov 10, 2026
Merged

Makisuo merged 18 commits into
mainfrom
ux/shell

docs(shell): navRow's comment follows the folded group's current sub-…

7360717
Select commit
Loading
Failed to load commit list.
Maple Review Bot / Maple / review succeeded Nov 10, 2026 in 1m 33s

Confidence 10/10 · No issues found

🟢 Confidence 10/10 · safe to merge. The four files changed since the last pass add pure helpers and nav rendering, each pinned by scene tests with an explicit now, so nothing depends on wall-clock time.
no findings · tests covered · risk medium

The final pass on the shell rework: oncall.ts decides the pill's state, copy and re-read schedule, and view-nav.ts folds labelled groups while keeping the current row. Both are self-contained and tested; safe to merge.

  • onCallStatusOf names the pill from the soonest-ending live shift, hides a stale Unknown
  • scheduleAfterAnswer re-reads at the handoff or hourly, backing off a passed handoff
  • navRow folds to the current sub-item under its section row when its group is folded
  • navGroupFold keeps the collapsed rail unfolded, with plain labels as no tab stops
What was checked
  • formatUntil gets a validated IANA zone: readEffectiveTimeZone rejects an unknown stored zone (platform/time-zone.ts:37), so Intl.DateTimeFormat cannot throw in render
  • partitionSubItems keeps a sub-item matching the current path, so a folded group still shows the current sub-item when its surface is absent (nav.ts:245)
  • The new scene tests pass onCallNowMs and HANDOFF explicitly, so the pill's states do not decay with the calendar

7360717 · Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.