Skip to content

refactor(ui): primitives pass 6, page shells, CursorPlot, controls, type scale - #1278

Merged
Makisuo merged 8 commits into
mainfrom
refactor/ui-primitives-pass-6
Oct 6, 2026
Merged

Makisuo merged 8 commits into
mainfrom
refactor/ui-primitives-pass-6

perf(web): lazy-load the create organization dialog

0084d92
Select commit
Loading
Failed to load commit list.
Maple Review Bot / Maple / review completed Oct 6, 2026 in 13m 39s

Confidence 6/10 · No issues found

🟡 Confidence 6/10 · needs attention
Only the shared primitives, layout shells, lib helpers and a few hooks were read; most of the ~500 migrated component files were not, and two reviewer groups ran out of budget.
quality 100/100 · no findings · tests partial · risk medium

Warning

This review ended early; what follows is what it established.

A large UI refactor: new shared primitives (ChartCard, DetailHeader, ResultPage, DashboardPage, FacetSelect, VirtualTableBody, SettingsSection), consolidated EMPTY_VALUE/token-fallback/utilization helpers, and the migration of several hundred web components onto them. No defect found in the diffs I read, but most of the 577 files went unread, so this is not a vouch for the whole change.

  • New app primitives: ChartCard, DetailHeader, ResultPage, DashboardPage, FacetSelect, VirtualTableBody
  • Scroll gains width/gap centring, and DashboardLayout.Tabs is added
  • formatPercent gains a floor option; EMPTY_VALUE replaces ad-hoc placeholders
  • useKeyedAsyncAction/useKeyedMutationAction add per-row pending state
What was checked
  • formatPercent's new floor branch and tokenFallback's --color- prefix stripping (packages/ui/src/lib/format.ts:97, colors.ts:258)
  • useKeyedAsyncAction rejection propagation via promise adoption and keyed cleanup (apps/web/src/hooks/use-mutation-action.ts:45)
  • Timezone date helpers return EMPTY_VALUE on unparseable input and cache formatters per tz (apps/web/src/lib/timezone-format.ts:151)
Files not reviewed (214)

The review ended before it read these diffs, so nothing above vouches for them.

  • apps/local-ui/src/components/service-map-panel.tsx
  • apps/web/perf/check-bundle-budget.ts
  • apps/web/src/components/account/account-section-skeleton.tsx
  • apps/web/src/components/account/email-addresses-section.browser.test.tsx
  • apps/web/src/components/account/two-factor-section.browser.test.tsx
  • apps/web/src/components/agent-sessions/agent-sessions-list.tsx
  • apps/web/src/components/agent-sessions/agent-sessions-toolbar.tsx
  • apps/web/src/components/agent-sessions/session-detail/payload-view.tsx
  • apps/web/src/components/agent-sessions/session-detail/session-checks.tsx
  • apps/web/src/components/agent-sessions/session-detail/session-flow.tsx
  • apps/web/src/components/agent-sessions/session-detail/session-header.tsx
  • apps/web/src/components/agent-sessions/session-detail/session-load-indicator.tsx
  • apps/web/src/components/agent-sessions/session-detail/session-overview.tsx
  • apps/web/src/components/agent-sessions/session-detail/session-transcript.tsx
  • apps/web/src/components/agent-sessions/session-detail/session-waterfall.tsx
  • apps/web/src/components/agent-sessions/session-detail/span-expansion.tsx
  • apps/web/src/components/agent-sessions/session-detail/span-popover.tsx
  • apps/web/src/components/agent-sessions/session-detail/tool-io.tsx
  • apps/web/src/components/agent-sessions/tools/agent-tools-view.browser.test.tsx
  • apps/web/src/components/ai-elements/entity-ref.tsx
  • apps/web/src/components/ai-elements/inline/inline-card.tsx
  • apps/web/src/components/ai-elements/inline/inline-log.tsx
  • apps/web/src/components/ai-elements/inline/inline-trace.tsx
  • apps/web/src/components/ai-elements/markdown-chart.tsx
  • apps/web/src/components/ai-elements/markdown-table.tsx
  • apps/web/src/components/ai-elements/renderers/components/data-table.tsx
  • apps/web/src/components/ai-elements/renderers/components/error-list.tsx
  • apps/web/src/components/ai-elements/renderers/components/log-list.tsx
  • apps/web/src/components/ai-elements/renderers/components/metrics-list.tsx
  • apps/web/src/components/ai-elements/renderers/components/query-chart.tsx
  • and 184 more

0084d92 · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.