Skip to content

fix: harden uploaded audio polling and accessibility - #7

Merged
1074016045 merged 1 commit into
mainfrom
feature/v0.6-accessibility-tests
Jul 25, 2026
Merged

fix: harden uploaded audio polling and accessibility#7
1074016045 merged 1 commit into
mainfrom
feature/v0.6-accessibility-tests

Conversation

@1074016045

Copy link
Copy Markdown
Owner

Summary

This PR delivers the first focused v0.6 increment for Uploaded Audio reliability, accessibility, and deterministic component-level polling coverage.

Added

  • 32 focused React component tests for UploadedAudioPanel
  • deterministic fake-timer and controlled-promise polling tests
  • loading, empty, uploaded, queued, running, retrying, completed, failed, cancelled, and deleting state coverage
  • explicit Transcribe and Delete action coverage
  • polling visibility, abort, cleanup, recovery, and terminal-state coverage
  • accessibility regression coverage for labels, busy states, alerts, status announcements, keyboard access, and focus preservation

Correctness fixes

  • prevents stale in-flight polling responses from restoring an asset after successful deletion
  • prevents callback identity changes from restarting the loading and polling lifecycle
  • prevents terminal completion-callback failures from scheduling another polling timer
  • rejects late responses from aborted or superseded requests
  • clears recovered polling errors without erasing valid asset state
  • invalidates and aborts polling before authoritative post-delete reload

Accessibility improvements

  • announced initial loading state
  • explicit cancelling/deleting status
  • accurate per-asset aria-busy
  • clearer accessible name for an in-progress destructive action
  • request failures use alert semantics
  • polling refreshes do not steal focus

This PR does not claim formal WCAG compliance.

Verification

  • focused component tests: 32/32 passed, three consecutive runs
  • Vitest: 29 files, 313/313 tests passed
  • ESLint passed
  • TypeScript typecheck passed
  • Question Boundary evaluation passed with 100% accuracy/F1
  • Question Understanding evaluation passed
  • Playwright: 6/6 passed
  • production build passed
  • git diff --check passed
  • no React warnings or unhandled promise rejections

Scope integrity

  • pnpm-lock.yaml unchanged
  • migrations 0000–0006 unchanged
  • no 0007 migration created
  • no database schema or API contract change
  • no provider or dependency change

Deferred v0.6 work

  • database backup, validation, and restore
  • configurable retention
  • content-free operational observability

@1074016045
1074016045 merged commit 0cf71f3 into main Jul 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant