fix(web): defer diff worker startup until diff opens#934
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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 |
|
@juliusmarminge #2 -- this fixes a flaky browser test |
juliusmarminge
left a comment
There was a problem hiding this comment.
this now creates 1 worker per thread though?
Good catch. The previous version did reset the deferred mount on thread changes. I removed that reset so the worker pool still initializes lazily, but it stays warm across thread switches instead of being recreated per thread. |
|
@macroscope-app review this |
Upstream features: - Selective file staging in commit dialog (pingdotgg#872) - Compact Codex tool-call icons in chat timeline (pingdotgg#988) - Replace worktree toggle with Select dropdown (pingdotgg#1001) - Timestamp format override setting (pingdotgg#855) - Preferred editor resolver + useLocalStorage helper (pingdotgg#662) - Extract reusable clipboard hook and media queries (pingdotgg#1006) - Default thread env mode setting (pingdotgg#892) - Block image uploads during plan mode (pingdotgg#621) Upstream bug fixes: - Prompt editor + Plan mode cursor fixes (pingdotgg#867) - Composer @file autocomplete cursor/spacing bugs (pingdotgg#936) - Diff panel unclosable after retainSearchParams (pingdotgg#937) - Fix agent response duration always 1ms (pingdotgg#866) - Defer diff worker startup until diff opens (pingdotgg#934) - Fix new-thread shortcuts when terminal focused (pingdotgg#984) - PlanSidebar memory leak fix (pingdotgg#949) - WebSocket error logging (pingdotgg#948) - Desktop "Check for Updates" dialog (pingdotgg#955) - macOS logo alignment fix (pingdotgg#960) Upstream tooling: - Upgrade oxfmt/oxlint versions (pingdotgg#1010) - Update @vitejs/plugin-react to 6.0.0 (pingdotgg#1002) - Upgrade marketing app to Astro 6 (pingdotgg#1005) Conflict resolutions: - workspaceEntries.ts: kept our zortos-ported fuzzy search (better ranked insertion) over upstream's pingdotgg#256 - appSettings.ts: merged our display settings with upstream's timestamp format and env mode settings - MessagesTimeline.tsx: merged our showCommandOutput gating with upstream's compact tool-call icons - DiffPanel.tsx: fixed duplicate useAppSettings import - open.test.ts: added missing node:fs/os/path imports for new test
Summary
Validation
Note
Defer diff worker pool startup until the diff panel is first opened
DiffWorkerPoolProvideris moved out of the chat route layout and into a newLazyDiffPanelcomponent, so the worker pool is only instantiated when the diff panel is first opened.ChatThreadRouteViewtracks ahasOpenedDiffflag so the diff panel stays mounted (warm) after first open, avoiding re-initialization on close or thread switch.DiffPanelShell,DiffPanelHeaderSkeleton, andDiffPanelLoadingStatecomponents to show a structured skeleton UI while the diff panel and worker pool load, replacing plain text fallbacks.DiffLoadingFallbackis updated to use these new skeleton components for both inline and sheet modes.Macroscope summarized a532709.