Repository navigation
test(webkit): settle the last three Safari release-matrix failures - #3497
Conversation
- On Call More anchors: poll until the bar and the page agree; the bar resolves its words one animation frame after the page changes. - DSM compare remove: click, then poll the URL with toHaveURL. A soft ?ids= navigation fires no load event, and Promise.all hid whether the click landed. - Phone hidden tabs: poll briefly for the row to leave, and report the band's top, translate, animations and attributes on failure so a WebKit-only failure can be read from the CI log. No test skipped or loosened. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DCghuougzFFXRF3dQQEcYr
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
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 |
🏁 CodeAnt Quality Gate ResultsCommit: ✅ Overall Status: PASSEDQuality Gate Details
|
Merging this PR will not alter performance
|
🤖 CodeAnt AI — Review Status
|
There was a problem hiding this comment.
BigSimmo has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
Codex Review SummaryThis 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. |
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
PR Summary by QodoStabilize three Safari release-matrix tests
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
Code Review by Qodo
No findings for this group No findings for this group No findings for this group Resolved findings 1.
|
Qodo FixerNo findings are available for this PR yet. Findings appear here once Qodo has reviewed the PR. |
CodeAnt Nitpicks1 code suggestion1.
|
CodeAnt PR Risk: Low Risk
Assessed commit: |
The slowest-of-five bound from #3494 still failed once on the loaded coverage runner (107 ms against 100 ms). A slow stripper or catastrophic backtracking slows every run, so the median keeps catching it while one garbage-collection or scheduler pause no longer fails the build. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DCghuougzFFXRF3dQQEcYr
|
Code review by qodo was updated up to the latest commit 47d54e9 |
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DCghuougzFFXRF3dQQEcYr
|
Code review by qodo was updated up to the latest commit 09bfe41 |
Code Review ✅ Approved🟡 Medium risk · Relaxing SQL timing assertions to a median and 300 ms outlier ceiling could let sporadic performance regressions pass CI. Test-only change settling the last three Safari release-matrix failures: the On Call More anchor check now polls until the bar and rendered sections agree, the DSM compare remove check clicks and then polls the URL, and the phone hidden-tabs check polls for the tab row to leave the screen and reports its computed state on failure. No issues found.
Review coverage🤖 Auto-approval Approved 📋 Rules No rules evaluated 🧪 Functional validation Not enabled · Set up OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |
* test(webkit): wait for the settled copy after a streamed reload Main's Safari matrix after #3497 cleared the DSM compare, On Call anchor and hidden-tabs checks. Two new reads failed on the same cause: the test looked while a streamed page was still swapping its content in. - Phone assessments: after the reload the hero existed twice for a moment, which a strict locator rejects without retrying. Wait for one copy first. - Forms home hero: the icon was visible, then its box read came back empty because the subtree was replaced in between. Poll the box. No test skipped or loosened; no app code changed. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DCghuougzFFXRF3dQQEcYr * test: keep the icon box from the poll read that succeeded Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DCghuougzFFXRF3dQQEcYr * test: check the settled hero icon size inside one fresh poll Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DCghuougzFFXRF3dQQEcYr --------- Co-authored-by: Claude <noreply@anthropic.com>
User description
Summary
Before: after #3487, #3492, #3493 and #3494, main's release browser matrix (run 38251002775) still had 4 Safari-engine failures across 3 tests: the On Call More anchor check and the phone hidden-tabs check on phone Safari, and the DSM compare remove check on desktop Safari.
After: the two timing races are closed, and the third test reports exactly where the tab row is held when it fails, so the next main run tells us whether it is a real Safari display bug.
tests/ui-on-call-boards.spec.ts): the bar resolves its words from the rendered sections one animation frame after the page changes (use-resolved-page-sections.ts). The test read the bar once, so it could still see Support a frame after Support left the page. It now polls until bar and page agree, and names any word still missing.tests/ui-route-coverage.spec.ts):waitForURLwaits for a load event that a same-route?ids=soft navigation never fires, and insidePromise.allits 30 s timeout hid whether the click landed at all. Now it clicks, then polls the URL withtoHaveURL.tests/ui-phone-scroll-assessments.spec.ts): same bound (the row must leave the screen), polled for up to 1 s after the existing 350 ms settle, and on failure it prints the band's computedtop,translate, running animations, focus and attributes. Safari traces cannot be downloaded from the cloud environment (#PM71Z1), so this is how the cause gets read.Areas touched: App experience, Personal practice
No test skipped, quarantined or loosened; no app code changed.
Verification
tsc --noEmitall clean (no output).Risk and rollout
Notes
🤖 Generated with Claude Code
https://claude.ai/code/session_01DCghuougzFFXRF3dQQEcYr
Generated by Claude Code
Summary by cubic
Fixes the three remaining Safari release-matrix test failures with test-only changes, and makes the SQL stripper timing check tolerant of sporadic pauses.
toHaveURL; the oldwaitForURLinsidePromise.allwaited for a load event a same-route?ids=soft navigation never fires, and its timeout hid whether the click landed.top,translate, running animations, focus, and attributes so the WebKit-only failure can be read from the CI log.No test is skipped, quarantined, or loosened; no app code changed. Safari verification must come from main’s next release-matrix run, since WebKit can’t be installed in the cloud container.
Written for commit 3f7b88e. Summary will update on new commits.
CodeAnt-AI Description
Stabilize Safari release checks for navigation and hidden tabs
What Changed
Impact
✅ Fewer Safari timing-related release failures✅ Clearer reports when phone tabs stay visible✅ Reliable checks for diagnosis removal navigation💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.
Summary by Gitar
This will update automatically on new commits.