Reduce start recording sidebar collapse cost#5901
Conversation
✅ Deploy Preview for old-char ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
650c5f0 to
808f09c
Compare
7700404 to
28f310d
Compare
808f09c to
4199771
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 4199771. Configure here.
| ])} | ||
| > | ||
| <ClassicMainSidebar | ||
| forceMount |
There was a problem hiding this comment.
Custom sidebar unmounts when collapsed
Medium Severity
Removing forceMount from ClassicMainSidebar makes ClassicMainSidebar return null whenever leftsidebar.expanded is false, including on custom-sidebar tabs (settings, calendar, contacts, templates). After useStartListening calls setExpanded(false), those tabs can stay active with the sidebar locked but no LeftSidebar UI.
Reviewed by Cursor Bugbot for commit 4199771. Configure here.
28f310d to
8abd851
Compare
4199771 to
1bd8cf9
Compare
8abd851 to
dea68ea
Compare
1bd8cf9 to
d94aafc
Compare
dea68ea to
824c0e0
Compare
d94aafc to
722219d
Compare
824c0e0 to
b0563b4
Compare
722219d to
e8ecfa8
Compare
b0563b4 to
af86aa4
Compare
e8ecfa8 to
35e25ae
Compare
Unmount hidden timeline content when the left sidebar collapses and skip redundant collapse updates when recording starts.
35e25ae to
8b8a826
Compare


Unmount hidden timeline content when the left sidebar collapses and skip redundant collapse updates when recording starts.
Note
Low Risk
Mostly lifecycle and data-flow refactors with tests; the hydration gate slightly changes when default summaries are created.
Overview
Reduces work when the left sidebar collapses (especially at recording start) by dropping
forceMountonClassicMainSidebar, so hidden timeline content unmounts instead of staying mounted behind the collapse animation.Moves session note UI state up to
TabContentNoteInnerso editor tabs, current view, transcript-tab visibility, and tab changes are computed once and passed intoNoteInput(withcreateEditorTabs,getCanShowTranscript, andcomputeCurrentNoteTabexported/shared for that path).NoteInputnow either renders with those props or falls back to the old hook-driven wrapper.Default summary rows are created via
useEnsureDefaultSummaryFromStatewithenabled: contentHydrated, avoidingensureNotebefore session content has loaded. Tests cover the disabled case and updated sidebar collapse expectations.Reviewed by Cursor Bugbot for commit 8b8a826. Bugbot is set up for automated code reviews on this repo. Configure here.