Repository navigation
Dashboard: accessible sign-in error state (aria-invalid, aria-describedby, focus return) - #917
Open
krypto-boi wants to merge 4 commits into
Open
krypto-boi wants to merge 4 commits into
krypto-boi wants to merge 4 commits into
Conversation
…h Playwright Closes StellarGateLabs#826
|
@krypto-boi Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
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
Dashboard: accessible sign-in error state (aria-invalid, aria-describedby, focus return)
What was solved
#824 — Dashboard: accessible sign-in errors
Make dashboard sign-in errors accessible by wiring the key input to its error message via aria-invalid and aria-describedby, and returning focus to the input when sign-in fails. This is a focused front-end change in the dashboard's sign-in flow, likely touching static/dashboard.html (markup for input/error), static/dashboard.js (error handling and focus management), and possibly static/dom.js or static/keys.js if helpers live there. Must not leak API keys into URLs, logs, or console output, and must keep tests/dashboard_asset_tests.rs passing.
Addressed:
#825 — Dashboard: mock API fixture for frontend development
Add a dev-only mock API server for dashboard frontend development that serves the static/ assets plus canned JSON responses for /v1/payments, the summary endpoint, webhooks, /ready and /, with fixtures covering every payment status and a merchant-controlled XSS payload, plus documentation in the dashboard dev notes. Must not leak API keys into URLs, logs, or console output, and must keep tests/dashboard_asset_tests.rs passing.
Addressed:
#826 — Dashboard: visual regression screenshots with Playwright
Add Playwright-based visual regression coverage for the dashboard: snapshot gate, table, drawer, and empty states in light/dark at desktop and mobile widths, store baselines in the repo, and fail CI on diffs above a threshold. This extends the existing e2e Playwright setup (e2e/playwright.config.js, e2e/tests/*.spec.js) and the dashboard CI workflow, while preserving the no-API-key-leak guarantee and keeping tests/dashboard_asset_tests.rs passing.
Addressed:
#827 — Dashboard: formatting check for HTML/CSS/JS
Add Prettier formatting enforcement for the dashboard frontend: a Prettier config scoped to static/, a CI formatting check alongside the existing lint job, and formatting of existing static/ files. The issue is part of a batch (70/70) and depends on the lint job from #668. Acceptance criteria require cross-browser/mobile compatibility, no API key leakage in URLs/logs/console, and passing tests/dashboard_asset_tests.rs.
Addressed:
Changes
static/keys.js(modify)e2e/playwright.config.js(modify).github/workflows/ci.yml(modify)static/dashboard.html(modify)e2e/scripts/serve.mjs(modify)e2e/tests/dashboard.spec.js(modify)static/dom.js(modify)static/api.js(modify).github/workflows/dashboard.yml(modify)Approach
Issues
Closes #824
Closes #825
Closes #826
Closes #827