Repository navigation
test: stabilize Windows CI suites - #885
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryThis PR replaces wall-clock waits in scrollbar tests with deterministic scheduling, guards newer visibility windows against canceled callbacks, and extends the compiled portability setup deadline.
Confidence Score: 4/5The PR appears safe to merge, with only non-blocking documentation needed for two new test-scheduler methods. The production timer lifecycle safely invalidates stale callbacks and preserves scheduler ownership, while the sole accepted issue is missing required TSDoc on test utility methods. Files Needing Attention: src/ui/components/scrollbar/VerticalScrollbar.test.tsx Important Files Changed
Prompt To Fix All With AI### Issue 1
src/ui/components/scrollbar/VerticalScrollbar.test.tsx:146
**Scheduler methods lack TSDoc**
The new `setTimeout` and `clearTimeout` methods lack the required short TSDoc explanations, leaving their timer registration and cancellation semantics harder to understand and safely modify.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (1): Last reviewed commit: "test: stabilize Windows CI timers" | Re-trigger Greptile |
| /** Provides deterministic scrollbar timer control without replacing renderer timers. */ | ||
| class TestScrollbarScheduler implements VerticalScrollbarScheduler { | ||
| readonly cleared: number[] = []; | ||
| readonly tasks = new Map<number, ScheduledTask>(); |
There was a problem hiding this comment.
The new setTimeout and clearTimeout methods lack the required short TSDoc explanations, leaving their timer registration and cancellation semantics harder to understand and safely modify.
Context Used: guidelines.mdc Cursor rule (source)
Prompt To Fix With AI
This is a comment left during a code review.
Path: src/ui/components/scrollbar/VerticalScrollbar.test.tsx
Line: 146
Comment:
**Scheduler methods lack TSDoc**
The new `setTimeout` and `clearTimeout` methods lack the required short TSDoc explanations, leaving their timer registration and cancellation semantics harder to understand and safely modify.
**Context Used:** guidelines.mdc Cursor rule ([source](https://github.com/modem-dev/modem/blob/main/.cursor/rules/guidelines.mdc))
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Summary
Problem
The Windows compatibility job has repeatedly failed the scrollbar auto-hide assertion even after widening its timer margins. Hosted Windows runners can oversleep those real-time boundaries enough to invert the assertion.
A separate Windows prebuilt job also killed the second compiled control at Bun's default five-second
beforeAlldeadline. The compiler emitted no error; the hook timed out while two cold builds ran sequentially.Repeated Windows validation also exposed the same five-second default in the loader and Git-command integration suites: on a slower hosted runner, nine otherwise-successful real-Git tests crossed the deadline. Those suites now use the same bounded timeout policy already used by the Git adapter integration tests.
Testing
bun test --rerun-each=20 src/ui/components/scrollbar/VerticalScrollbar.test.tsxbun test src/core/changeset/loaders.test.tsbun test src/extensions/default/vcs/git/commands.test.tsbun run build:binHUNK_TEST_EXECUTABLE="$PWD/dist/hunk" bun test test/cli/compiled-headless-native-lib.test.tsbun run test:integrationbun run test:theme-contrastbun run typecheckbun run format:checkbun run lintbun run deps:checkbun run testreaches one unrelated local-environment failure insrc/extensions/hostRuntimeModules.test.ts: this machine has a globally resolvable/home/bentlegen/node_modules/react, while that test requires an outsider module not to resolve React. The same focused failure reproduces from a cleanorigin/mainworktree under Bun 1.3.14; the remaining source tests pass.Tested locally on Linux and through repeated Windows GitHub Actions jobs. No visual evidence is included because production rendering and interaction behavior are unchanged.
This PR description was generated by Pi using GPT-5.6 Sol