Fix drifted tests and apply safe renderer optimizations - #150
Conversation
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.
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.
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>
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Too many files changed for review. ( |
Important Review skippedToo many files! This PR contains 158 files, which is 8 over the limit of 150. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (132)
📒 Files selected for processing (158)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Uh oh!
There was an error while loading. Please reload this page.
Summary
TerminalView,AgentChatMessageList,appStore,CtoSettingsPanel) caused by test drift after recent refactors (sub-tab CTO UI, widened assistant bubble, terminalfontFamily).docs/OPTIMIZATION_OPPORTUNITIES.md: visibility-gated renderer watchdog (Phase7 #2), merged warmup timer (Integration: integration 3 #10), module-scopedOUTCOME_DOT_CONFIG(fix work tab #13), atomicade.userPreferences.v1store with legacy-key migration (feat: add Test tab to sidebar with Coming Soon screen #19), and a re-audit of preload JSON pretty-printing (feat: add Test tab to sidebar with Coming Soon screen #20 was a no-op — nothing to compact).## Appliedsection to the optimization backlog so the doc stays accurate.Test plan
cd apps/desktop && npx tsc --noEmit -p .passescd apps/desktop && for i in 1 2 3 4 5 6 7 8; do npx vitest run --shard=$i/8; done— all 8 shards green, 0 failed test filescd apps/desktop && npm run buildsucceeds🤖 Generated with Claude Code