Skip to content

Comments

[pull] develop from Orcpub:develop#80

Merged
pull[bot] merged 14 commits intodatdamnzotz:developfrom
Orcpub:develop
Feb 19, 2026
Merged

[pull] develop from Orcpub:develop#80
pull[bot] merged 14 commits intodatdamnzotz:developfrom
Orcpub:develop

Conversation

@pull
Copy link

@pull pull bot commented Feb 19, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

datdamnzotz and others added 14 commits February 18, 2026 19:35
Review and hardening of PR #644 (allow users to update email):

Server (routes.clj, email.clj):
- Fix silent email send failure: full rollback of pending-email,
  verification-key, and verification-sent on send error
- Case-insensitive email-query to guard against mixed-case legacy data
- Race-condition guard at verify time: re-check email availability
- Invalidate verification key after use (prevent link reuse)
- Clean up all pending state on expired verification links
- Separate email template for email-change vs registration
- 3-zone rate limiting (0-1min blocked, 1-5min free resend, 5min+ open)
- Return retry-after-secs in 429 responses for client countdown
- Nil-username guard in request-email-change handler
- Transit-params destructured as map (matches codebase convention)
- Remove redundant verified? reassertion on email swap

Client (events.cljs, views.cljs):
- Add confirm-email field with client-side validation
- Show contextual rate-limit messages with countdown
- Display pending email address in sent confirmation
- Resend button for pending verification (server rate-limited)
- Use server-canonical email for display (lowercased/trimmed)

Tests (email_change_test.clj):
- 11 tests, 315 assertions covering: happy path, duplicate rejection,
  same-as-current, invalid format, nil/empty email, no auth, send
  failure rollback, expired verification, race condition, rate limiting
  (all 3 zones), and pending email replacement

Docs (docs/email-system.md):
- Full documentation of the email system: 4 flows, schema, rate
  limiting, expiration windows, file map, known issues
…ress

Harden email change flow: fixes, rate limiting, tests, docs
…address

Add new feature - Allow users to update their email + related improvements
@pull pull bot locked and limited conversation to collaborators Feb 19, 2026
@pull pull bot added the ⤵️ pull label Feb 19, 2026
@pull pull bot merged commit 8687c62 into datdamnzotz:develop Feb 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants