|
All checks were successful
CI / checks (pull_request) Successful in 41s
- Add last_confirm_sent_at to subscriptions, with a migration for
existing databases. registerSubscription now sends at most one
confirmation email per 10 minutes per subscription, so a page-refresh
or client retry storm can't spam an inbox. The cooldown resets when
the address changes or a tombstoned row is reactivated (fresh key),
so genuinely new addresses always get an email immediately.
- Restore getCronExpression to the documented daily (17:00 UTC) and
weekly (Monday 17:00 UTC) schedules with the 6-field cron syntax the
cron package expects, fixing the pre-existing reschedule tests that the
'run every minute' testing hack had broken.
- Add confirm-email-cooldown.test.ts covering first send, refresh storms,
frequency changes, email changes, reactivation, and the 10-minute constant.
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| confirm-already-confirmed.test.ts | ||
| confirm-code-on-email-change.test.ts | ||
| confirm-email-cooldown.test.ts | ||
| cors.test.sh | ||
| digest-reply-stats.test.ts | ||
| digest-template.test.ts | ||
| duplicate-subscription.test.ts | ||
| event-arrival-race.test.ts | ||
| integration.sh | ||
| normalize-relay-url.test.ts | ||
| notify-non-wss-relay-crash.test.ts | ||
| notify-response-shape.test.ts | ||
| reschedule-on-frequency-change.test.ts | ||
| resubscribe-reactivates.test.ts | ||
| schedule-fields.test.ts | ||
| setup.ts | ||