Repository navigation
fix(zoom): let the copy fly past the stage's edges when it opens and closes - #368
Conversation
Codex Review Summary: ❌ FailedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Important
Closing during the opening animation can discard the new position compensation and make the copy jump.
Reviewed changes in 9c8c063, covering the zoom animation geometry, temporary overflow state, and new browser tests.
- Flying stage state Temporarily makes the stage unclipped and raises it over the dialog chrome while the copy travels.
- Geometry compensation Measures the frame before and after changing overflow and preserves its screen position with CSS
translate. - Browser coverage Adds checks for aside-edge clipping and closing a scrolled tall copy from its current position.
gpt-5.6-sol | 𝕏
comark-annotate
comark-badge
comark-cards
comark-carousel
comark-cast
comark-charts
comark-chat
comark-chips
comark-cjk
comark-code
comark-code-notes
comark-colors
comark-comments
comark-critic
comark-deflist
comark-details
comark-diagrams
comark-diff
comark-embed
comark-fields
comark-figure
comark-file-tree
comark-footnotes
comark-github
comark-icon
comark-include
comark-keys
comark-links
comark-linter
comark-magic-move
comark-mark
markdown-it-to-comark
marked-to-comark
comark-mathml
comark-media
comark-metrics
migrate-to-comark
comark-outline
comark-properties
comark-qr
comark-quiz
comark-reading-time
remark-to-comark
comark-sources
comark-steps
comark-table
comark-tabs
comark-tests
comark-time
comark-ui
comark-xref
comark-zoom
commit: |
Latest result Pull request merged. Final answersSession Pull request merged. Pushed f8017c9 fixing Pullfrog P1: closing mid-open discarded position compensation. Escape regressions at 0/130/259ms reproduced the jump before the fix. `playwright test e2e/zoom.e2e.ts --workers=1`: 23 passed; package `vp test run test/zoom.test.ts`: 10 passed. Focused typecheck and formatting passed; lint passed with one existing warning. Resolved the thread; awaiting CI. |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes since the prior Pullfrog review, covering the interrupted-opening fix and its browser regression coverage.
- Preserved flight compensation Made
fly()idempotent whiledata-flyingis active, retaining the independent CSStranslatewhen closing cancels an in-progress opening animation. - Covered interruption timing Added browser cases that close at the start, midpoint, and final frame of opening and verify the copy remains at its current screen position.
gpt-5.6-sol | 𝕏

When a zoomed item has an aside (a screenshot's notes), the stage ends where the aside's column starts. The stage has
overflow:hidden, so the copy flying back to the page, or out from it, was cut off at that edge. The same happened at the header and footer.While the copy flies, the stage now carries
data-flying, which turns its clipping off and draws it above the header, aside, and footer. A stage that stops clipping loses its scroll position and its scrollbar, so the copy is measured before and after and moved back withtranslate. The attribute goes once the opening animation ends.Two e2e tests: one freezes the open and close animations and checks the part of the copy over the aside's column can be hit (it fails on
main), and one checks a scrolled copy starts its close from where it is.🤖 Generated with Claude Code