Repository navigation
fix: transitions honor prefers-reduced-motion, and Playwright runs with it, so no click lands on a list still sliding open - #419
Merged
Conversation
…th it, so no click lands on a list still sliding open
HardMax71
enabled auto-merge (squash)
October 19, 2026 22:13
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
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 |
|
|
Codecov Report❌ Patch coverage is
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
"a saved script can be deleted from the list" failed once in CI (run). Its trace shows the Delete click 97 ms after "Show Saved Scripts", while the list was still inside its 200 ms
transition:slide. Playwright clicked at y 704, the bottom edge of the 720 px viewport, where the target's box had been measured. The failure screenshot has a different script in that row and the target below the viewport, and no DELETE request went out. The slide moved the list after Playwright scrolled to it, so the click hit a row part with no handler.Changes
Every Svelte transition reads
prefersReducedMotionfromsvelte/motionand uses a duration of 0 when the user asks for reduced motion, the pattern from the Svelte docs. Playwright runs withreducedMotion: 'reduce', so nothing animates under a click in E2E.Type of Change
Test Plan
cd backend && uv run pytest tests/unit)cd frontend && npm run test)docker compose exec -T backend sh -c 'uv sync --group test --no-dev --frozen --no-install-project --no-build && pytest tests/e2e')cd frontend && npm run test:e2e)./deploy.sh openapi, then./deploy.sh types), never edited by handValidation: lint, svelte-check, format:check and 868 unit tests pass. The race never fired in 115 local runs on main, CPU slowed 6x included, so the proof is the CI trace. With the change, the full local suite fails only tests that need the worker and admin tests that 4 local workers trip with 429s on
/auth/me, as main does.Checklist
pre-commit run --all-filesand all checks passSummary by cubic
Fixes a flaky E2E test where a click could land on the saved-scripts list while it was still sliding open. All Svelte transitions now honor
prefers-reduced-motionand run at 0ms duration when reduced motion is requested, and Playwright runs withreducedMotion: 'reduce'so no animation is in progress when tests click.Written for commit 9bb7e2d. Summary will update on new commits.