Problem
notifications.service.ts sends notifications once; transient failures (email/push provider hiccups) are lost with no retry or visibility.
Requirements
- Retry failed deliveries with capped exponential backoff.
- Route permanently-failed notifications to a dead-letter store with the failure reason.
- Metric/log counters for sent/retried/dead-lettered.
- Tests: transient failure retries then succeeds; permanent failure is dead-lettered.
Acceptance Criteria
- Failed notifications are retried and, if unrecoverable, captured for inspection. Covered by tests.
Files
backend/src/notifications/notifications.service.ts
backend/src/notifications/email.service.ts
backend/src/notifications/notifications.module.ts
Problem
notifications.service.tssends notifications once; transient failures (email/push provider hiccups) are lost with no retry or visibility.Requirements
Acceptance Criteria
Files
backend/src/notifications/notifications.service.tsbackend/src/notifications/email.service.tsbackend/src/notifications/notifications.module.ts