Skip to content

fix: SMTP command ordering, WebSocket cleanup, inbox a11y#19

Merged
xsmyile merged 1 commit intomasterfrom
fix/frontend-a11y
Apr 16, 2026
Merged

fix: SMTP command ordering, WebSocket cleanup, inbox a11y#19
xsmyile merged 1 commit intomasterfrom
fix/frontend-a11y

Conversation

@xsmyile
Copy link
Copy Markdown
Member

@xsmyile xsmyile commented Apr 16, 2026

Summary

  • Enforce RFC 5321 EHLO/HELO requirement before MAIL FROM (503 Bad Sequence)
  • Track and clean up WebSocket instance + reconnect timer on component unmount (prevents leaks during HMR)
  • Add Enter/Space keyboard activation on inbox rows (matches role="button" semantics)

Test plan

  • All 67 tests pass
  • Zero clippy warnings
  • TypeScript typecheck passes

Closes #16

- Track EHLO/HELO greeting state in SMTP session; reject MAIL FROM
  with 503 Bad Sequence if client hasn't greeted yet (M-1)
- Track current WebSocket instance and reconnect timer in module scope;
  close socket and clear timer on component cleanup to prevent leaks
  during HMR/remount (L-1)
- Add onKeyDown handler for Enter/Space on inbox rows so keyboard-only
  users can activate messages, matching the role="button" semantics (L-2)

Closes #16
@xsmyile xsmyile merged commit ec28b43 into master Apr 16, 2026
2 checks passed
@xsmyile xsmyile deleted the fix/frontend-a11y branch April 16, 2026 09:42
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.

Frontend accessibility and cleanup

1 participant