Files
binwiederhier d7013703c1 Add Playwright end-to-end tests for the web app
Adds 56 Playwright tests in web/e2e/ that drive Chromium against a real
ntfy server: subscribing, publishing, notifications, signup/login/logout,
account settings, access tokens, reservations and languages. "make web-e2e"
builds the binary and runs them against a fresh local server; setting
NTFY_E2E_BASE_URL (plus an admin token and tier) runs them against an
existing server instead. docs/develop.md describes both.

The tests found two bugs, fixed here:

- Signup showed "Username is already taken" without the name, since it
  read the username from the error instead of the form.
- A poll that overlapped a WebSocket delivery could overwrite the stored
  message and drop its unread marker, or log a ConstraintError. Both
  write paths in SubscriptionManager now check and write in one
  transaction, and the poller skips messages that are already stored.
2026-10-07 17:26:35 +00:00

24 lines
299 B
Plaintext

dist/
dev-dist/
build/
.idea/
.vscode/
*.swp
server/docs/
server/site/
tools/fbsend/fbsend
tools/pgimport/pgimport
tools/loadtest/loadtest
tools/s3cli/s3cli
playground/
secrets/
*.iml
node_modules/
.DS_Store
__pycache__
web/dev-dist/
web/test-results/
web/playwright-report/
venv/
cmd/key-file.yaml