Repository navigation
test: settle the window before measuring the unread sidebar-row invalidation - #14568
Conversation
…idation testUnreadChangeUpdatesOnlyAffectedSidebarRow failed on main runs 36106360658 and 36114055694 with contentViewBody and workspaceContentBody at 1. Both logs show "ContentView: _fileExplorerStore changed." inside the measured window: the selected workspace's directory reaches the file explorer a few runloop turns after the first render, the same setup publish #14298 fixed for the minimal-mode toggle test. Move #14298's quiet-drain loop into a shared helper and run it before the unread test looks up its rows and starts counting. The assertions are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
All contributors have signed the CLA ✍️ ✅ |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 1 remains after this review. 📝 WalkthroughWalkthroughThe visibility tests now use a shared helper to wait for chrome-body reevaluations to settle before measuring invalidations. The helper allows up to 100 run-loop drains and requires three consecutive quiet drains. ChangesVisibility test settling
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Other Suggested reviewers: Merge Risk: ⚪ Minimal · up to The visibility tests can proceed with the shared settling helper; no identified issue blocks merging after normal checks. 🚥 Pre-merge checks | ✅ 24 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (24 passed)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 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 |
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
|
Merge receipt for
Labeled |
648d5c1 Add a Paste Last Screenshot action with an unbound shortcut (manaflow-ai#14955) ff61677 ci: avoid partial blobs in catch-up merges (manaflow-ai#15023) 4d0d112 ci: retry transient catch-up GraphQL failures (manaflow-ai#15021) 212e808 ci: attribution scores a lone suspect and reports app-host crashes apart (manaflow-ai#14952) 4cabdf4 test: settle the window before measuring the unread sidebar-row invalidation (manaflow-ai#14568) 12ec99b Add a release-media capture tool for changelog screenshots and clips (manaflow-ai#15010) ee2cda0 Backfill Unreleased changelog and draft next release cards (manaflow-ai#14999) be4adf8 Show a brief notice when Cmd+V fails on an oversized image or a timeout (manaflow-ai#14953) 23d22d7 ci: an owned pool the run starts on now beats an earlier one it queues on (manaflow-ai#14993) 05d0190 ci: catch-up posts once per head, says less, and merges inserted declarations (manaflow-ai#15018) 4ee4b21 ci: fail stalled Swift package tests instead of waiting out the job timeout (manaflow-ai#14997) 9ce512a merge-main: run local guards only when asked (manaflow-ai#15016) d60108a ci: clear test-e2e's fixed DerivedData with clear-dirs.sh (manaflow-ai#14994) 1d7895e ci: run the shell and CLI no-socket lanes in parallel (manaflow-ai#14990) 6e7d25f Honor macOS Differentiate Without Color, Increase Contrast and Reduce Transparency (manaflow-ai#14991) 966b355 Stop interrupting focused work: sidebar jumps, Computer Use focus steal, quit dialog on logout (manaflow-ai#14961) e1f1cb2 Strip control characters from feedback attachment filenames (manaflow-ai#14783) 0758c9f test: find the onboarding window the test presented, not a leftover (manaflow-ai#15015) b35c540 fix(spm): resolve GhosttyKit/GhosttyRuntimeTestStubs target name collisions (manaflow-ai#10569) ef33bed Map .purs artifacts to the Haskell highlight.js grammar (manaflow-ai#14202) e2a167a Highlight Elixir and Erlang files in the file editor (manaflow-ai#13732) 972c449 fix: wrap Linux browser download card label (manaflow-ai#11157) f563884 Add Aside to browser data import detection (manaflow-ai#13379) 091d0ea Add cmux send --paste and hint at it for large multi-line sends (manaflow-ai#14937) 3ffcdbb test(ios): keep folder-tap stat tests off the real 2 s deadline (manaflow-ai#15017) 68d3936 test: keep CmuxTerminal pasteboard tests off the cooperative pool (manaflow-ai#15006)
The unread-sidebar-row invalidation test can count a delayed file-explorer setup update as an unread-change regression. It now waits for three consecutive quiet runloop drains before starting the measurement, using the same bounded settling loop as the minimal-mode test. Assertions and product behavior are unchanged. Part of #13879.
The same failure appeared in main runs 36106360658 and 36114055694, and again in the app-host run for #14806:
_fileExplorerStorechanged during the measurement and both body counts were 1.Validation
The affected test explicitly passed on the original head
44d8919715b09in this app-host job; that job had unrelated failures. The refreshed head5670e73f0d08c9f8a2c98a5a0d5d01f287ca8e1epreserves the original one-file patch and passes all 66 local guard steps plus Swift syntax validation. Current-head native compile admission and all 16 tests in the affected suite passed, includingtestUnreadChangeUpdatesOnlyAffectedSidebarRow. The original broad plan covered unrelated historical failures. Validation is now scoped to native compile admission and the changed app-host suite. The obsolete full-suite run was cancelled while its shards were queued. The router selected another compile admission for the focused run; no compile-reuse result is claimed.Changelog
none
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Fixes the flaky
testUnreadChangeUpdatesOnlyAffectedSidebarRowby settling the window to a quiet state before measuring sidebar-row invalidation.The selected workspace's directory reaches the file explorer a few runloop turns after the first render, so ContentView can re-evaluate inside the measurement window on slower runs. This extracts the quiet-drain loop from #14298 into a shared
waitForQuietChromeBodieshelper and runs it before the unread test starts counting. No assertions or product code change.Written for commit 5670e73. Summary will update on new commits.
Summary by CodeRabbit