feat: add Test tab to sidebar with Coming Soon screen#19
Conversation
- Add Flask icon + /test entry to TabNav.tsx mainItems - Create TestPage.tsx with centered Coming Soon message - Add lazy import and /test route in App.tsx - Add /test tint mapping in AppShell.tsx Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Free Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThe changes introduce a new Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~4 minutes Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
Part A — fix 22 branch-introduced test failures: - TerminalView: add DEFAULT_TERMINAL_FONT_FAMILY to appStore mock + fontFamily to terminalPreferences (8 tests) - AgentChatMessageList: update bubble max-w assertion to match widened responsive class (1 test) - appStore: include fontFamily in terminalPreferences expectations; switch persistence assertions to unified store (2 tests) - CtoSettingsPanel: navigate to correct sub-tab in 4 tests, drop 3 tests for removed UI (Configured/Needs work badges, CTO runtime header), update tag/button assertions (11 tests) Part B — apply 5 low-risk optimizations from docs/OPTIMIZATION_OPPORTUNITIES.md: - #2 Pause renderer watchdog when tab hidden (main.tsx): start/stop the 1s event-loop-stall interval based on document.visibilityState. - #10 Combine warmup timers (appStore.ts): merge warmLaneStatusTimer + warmProviderModeTimer into a single warmupTimer firing both refreshes after max(1200, 1800) ms. - #13 Hoist inline config objects (IntegrationTab.tsx): OutcomeDot config moved to module-scope OUTCOME_DOT_CONFIG. AppShell was already module-scoped. - #19 Atomic UserPreferences store (appStore.ts): theme / terminalPreferences / smartTooltipsEnabled now persist as one ade.userPreferences.v1 JSON; legacy per-key reads kept as one-time migration. - #20 Compact JSON for machine files: preload.ts audited — no pretty-printed JSON.stringify remained, no-op for this pass. Doc: append "## Applied" section to docs/OPTIMIZATION_OPPORTUNITIES.md describing the five changes. Verified: typecheck clean; all 8 vitest shards pass; npm run build succeeded. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Improve Tasks and Subagents panel typography and sizing Bump text sizes across BottomDrawerSection, ChatTasksPanel, ChatSubagentsPanel, and ChatSubagentStrip to be more readable (e.g. 9px→11px, 10px→12px, 11px→13px). Switch labels, descriptions, and buttons from font-mono to the system sans font, keeping monospace only where it belongs (timestamps, task IDs, tool names, status badges). Slightly increase icon sizes and padding for better visual weight. * Widen assistant message cards on large screens Change max-width from 78ch to min(96ch, 75%) so messages use more horizontal space on wide displays while still staying readable and not stretching edge-to-edge. * Fix drifted tests and apply safe renderer optimizations Part A — fix 22 branch-introduced test failures: - TerminalView: add DEFAULT_TERMINAL_FONT_FAMILY to appStore mock + fontFamily to terminalPreferences (8 tests) - AgentChatMessageList: update bubble max-w assertion to match widened responsive class (1 test) - appStore: include fontFamily in terminalPreferences expectations; switch persistence assertions to unified store (2 tests) - CtoSettingsPanel: navigate to correct sub-tab in 4 tests, drop 3 tests for removed UI (Configured/Needs work badges, CTO runtime header), update tag/button assertions (11 tests) Part B — apply 5 low-risk optimizations from docs/OPTIMIZATION_OPPORTUNITIES.md: - #2 Pause renderer watchdog when tab hidden (main.tsx): start/stop the 1s event-loop-stall interval based on document.visibilityState. - #10 Combine warmup timers (appStore.ts): merge warmLaneStatusTimer + warmProviderModeTimer into a single warmupTimer firing both refreshes after max(1200, 1800) ms. - #13 Hoist inline config objects (IntegrationTab.tsx): OutcomeDot config moved to module-scope OUTCOME_DOT_CONFIG. AppShell was already module-scoped. - #19 Atomic UserPreferences store (appStore.ts): theme / terminalPreferences / smartTooltipsEnabled now persist as one ade.userPreferences.v1 JSON; legacy per-key reads kept as one-time migration. - #20 Compact JSON for machine files: preload.ts audited — no pretty-printed JSON.stringify remained, no-op for this pass. Doc: append "## Applied" section to docs/OPTIMIZATION_OPPORTUNITIES.md describing the five changes. Verified: typecheck clean; all 8 vitest shards pass; npm run build succeeded. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
TestPage.tsxcomponent displaying a centered "Coming Soon" message/testroute in the router and tint mapChanges
TabNav.tsx— addedFlaskicon import and{ to: "/test", label: "Test", icon: Flask }tomainItemsTestPage.tsx— new component atcomponents/test/TestPage.tsxwith "Coming Soon" UIApp.tsx— lazy import +<Route path="/test">entryAppShell.tsx—/testadded totintMapSummary by CodeRabbit