Skip to content

fix(a11y): make the JSON snapshot fallback payload keyboard-focusable and run the history and Mail chip e2e specs against Yii3. - #75

Merged
terabytesoftw merged 1 commit into
mainfrom
chore/phase-7-release-gate
Sep 26, 2026
Merged

terabytesoftw merged 1 commit into
mainfrom
chore/phase-7-release-gate

Conversation

@terabytesoftw

Copy link
Copy Markdown
Contributor

Pull Request

  • Breaking change (fix or feature that would cause existing functionality to change)
  • Bugfix (non-breaking change that fixes an issue)
  • CI/build configuration
  • Documentation update
  • New feature (non-breaking change that adds functionality)
  • Refactoring (no functional changes)

… and run the history and Mail chip e2e specs against Yii3.
@codecov

codecov Bot commented Sep 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (8dcc113) to head (aa5f12b).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff             @@
##                main       #75   +/-   ##
===========================================
  Coverage     100.00%   100.00%           
  Complexity      2392      2392           
===========================================
  Files            173       173           
  Lines           8726      8726           
===========================================
  Hits            8726      8726           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@coderabbitai

coderabbitai Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 7fc9fbd6-a25a-484e-b845-d0b283ee7ec6

📥 Commits

Reviewing files that changed from the base of the PR and between 8dcc113 and aa5f12b.

📒 Files selected for processing (5)
  • e2e/smoke.spec.js
  • e2e/support/environment.js
  • e2e/toolbar-mail.spec.js
  • resources/views/snapshot.php
  • tests/View/SnapshotViewTest.php

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout. (21)
  • GitHub Check: mutation / PHP 8.5-ubuntu-latest
  • GitHub Check: phpstan / PHP 8.5-ubuntu-latest
  • GitHub Check: security / Zizmor (ubuntu-latest)
  • GitHub Check: security / Gitleaks (ubuntu-latest)
  • GitHub Check: phpunit / PHP 8.4-ubuntu-latest
  • GitHub Check: phpunit / PHP 8.4-windows-2022
  • GitHub Check: easy-coding-standard / PHP 8.5-ubuntu-latest
  • GitHub Check: phpunit / PHP 8.3-windows-2022
  • GitHub Check: phpunit / PHP 8.5-windows-2022
  • GitHub Check: phpunit / PHP 8.3-ubuntu-latest
  • GitHub Check: composer-require-checker / PHP 8.5-ubuntu-latest
  • GitHub Check: phpunit / PHP 8.5-ubuntu-latest
  • GitHub Check: quality / Spelling (ubuntu-latest)
  • GitHub Check: quality / Actionlint (ubuntu-latest)
  • GitHub Check: Verify Vite build reproduces dist.
  • GitHub Check: Analyze (actions)
  • GitHub Check: phpunit / PHP 8.3-windows-2022
  • GitHub Check: phpunit / PHP 8.5-windows-2022
  • GitHub Check: phpunit / PHP 8.4-windows-2022
  • GitHub Check: mutation / PHP 8.5-ubuntu-latest
  • GitHub Check: Verify Vite build reproduces dist.
🧰 Additional context used
🪛 OpenGrep (1.30.0)
tests/View/SnapshotViewTest.php

[ERROR] 31-31: Dynamic file path passed to include/require. This can lead to local or remote file inclusion. Use a fixed allowlist of paths.

(coderabbit.file-inclusion.php-dynamic-include)

🪛 PHPMD (2.15.0)
tests/View/SnapshotViewTest.php

[warning] 22-22: Avoid unused local variables such as '$failure'. (undefined)

(UnusedLocalVariable)


[warning] 23-23: Avoid unused local variables such as '$method'. (undefined)

(UnusedLocalVariable)


[warning] 24-24: Avoid unused local variables such as '$panelContent'. (undefined)

(UnusedLocalVariable)


[warning] 25-25: Avoid unused local variables such as '$panelLabel'. (undefined)

(UnusedLocalVariable)


[warning] 26-26: Avoid unused local variables such as '$payload'. (undefined)

(UnusedLocalVariable)


[warning] 27-27: Avoid unused local variables such as '$renderError'. (undefined)

(UnusedLocalVariable)


[warning] 28-28: Avoid unused local variables such as '$url'. (undefined)

(UnusedLocalVariable)

🔇 Additional comments (5)
resources/views/snapshot.php (1)

60-60: LGTM!

tests/View/SnapshotViewTest.php (1)

1-40: LGTM!

e2e/support/environment.js (1)

112-113: LGTM!

e2e/smoke.spec.js (1)

229-229: LGTM!

e2e/toolbar-mail.spec.js (1)

22-22: LGTM!

Also applies to: 24-24


📝 Summary

Summary by CodeRabbit

  • Accessibility

    • JSON snapshot payloads can now receive keyboard focus, supporting keyboard-based navigation and horizontal scrolling.
  • Tests

    • Updated browser test coverage for history and mail toolbar behavior across Yii2 and Yii3.

Walkthrough

The end-to-end tests update history routing and row selection and enable Mail chip checks for Yii3. The JSON snapshot payload gains keyboard focus support, with a PHPUnit test for the rendered element.

Changes

End-to-end route checks

Layer / File(s) Summary
History and Mail route checks
e2e/support/environment.js, e2e/smoke.spec.js, e2e/toolbar-mail.spec.js
The history URL changes to /debug, and the history test selects rows by data-yii-debug-tag. The Mail chip test runs for Yii2 and Yii3 and matches either toolbar endpoint name.

Snapshot keyboard focus

Layer / File(s) Summary
Focusable JSON payload
resources/views/snapshot.php, tests/View/SnapshotViewTest.php
The JSON payload <pre> gains tabindex="0". A PHPUnit test checks its class and tabindex.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to aa5f1

The JSON snapshot payload is keyboard-focusable, and the Mail check accommodates both endpoint names. History behavior depends on external fixtures that are not available here, but no concrete regression is established and no known issue blocks merging.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 5 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the accessibility fix and the Yii3 end-to-end test updates. It is specific and related to the main changes.
Description check ✅ Passed The description marks the change as a non-breaking bugfix, which matches the keyboard-focus and Yii3 test updates.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

❤️ Share

A rabbit taps the debug trail,
Then checks the rows along the way.
The Mail chip hops through both Yii routes,
The snapshot takes focus today.
Soft paws review each change with care,
And leave a bright little carrot there.

Comment @coderabbitai help to get the list of available commands.

@terabytesoftw terabytesoftw added the bug Something isn't working label Sep 26, 2026
@terabytesoftw
terabytesoftw merged commit f0f3f5a into main Sep 26, 2026
43 checks passed
@terabytesoftw
terabytesoftw deleted the chore/phase-7-release-gate branch September 26, 2026 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant