repro-64-ui.test.tsx renders framer-motion whileInView without mocking it — emits 'Not implemented: window.scrollTo' and silently skips animation ticks #101
Labels
No labels
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:verify-failed
bug
deferred
feature-request
in-progress
needs-decompose
needs-triage
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/Kimi_Agent_Brother_10_Digitizing_App#101
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Where:
src/components/workspace/repro-64-ui.test.tsx(nowhileInViewmock). Compare withissue-66.test.tsx:20,issue-67-context-menu.test.tsx:18,CanvasArea.test.tsx:13which all mock it.Repro:
Reproduced on this session, 2026-09-17. The test still PASSES because
framer-motion swallows the error, but stderr is polluted and the animation
ticks never run — meaning anything that depends on a motion component
resolving to its target state is unverified.
Why this test alone:
Three sibling tests mock
framer-motion'swhileInView:repro-64-ui.test.tsxrenders<RightPanel>(which imports framer-motiontransitively via ToastContainer / CanvasArea) without the same
vi.mock.The component tree reaches a
<motion.div whileInView={...}>that callswindow.scrollToduring keyframe measurement under jsdom.Fix:
Add the same
whileInViewmock torepro-64-ui.test.tsxthat the otherthree tests use, OR — better — extract the mock to
src/test/mocks/framer-motion.tsand import it from all four test files.The latter avoids drift when framer-motion adds new exports that need
stubbing.
Acceptance:
npx vitest run src/components/workspace/repro-64-ui.test.tsxemits zeroNot implemented: window.scrollToerrors.repro #64 — RightPanel comboboxestest still asserts that comboboxvalues (hoop / fabric / stabilizer) survive a full digitize round-trip
with the FAB Auto-Digitize button.