Deliver Telegram notifications with bounded retries and current permissions #29
Labels
No labels
area/backend
area/frontend
area/tooling
kind
build
kind
chore
kind
ci
kind
docs
kind
feat
kind
perf
kind
test
size
l
size
m
size
s
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
#16 Run durable PostgreSQL jobs with atomic effects
viacheslavshuka/quorum
#20 Display dates and deadlines in each user's saved timezone
viacheslavshuka/quorum
#22 Keep a durable notification inbox with current action status
viacheslavshuka/quorum
#23 Let users control Telegram delivery, reminders, and digests
viacheslavshuka/quorum
Reference
viacheslavshuka/quorum#29
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Outcome
Users should receive useful Telegram notifications without stale actions or unbounded retries. Implement aiogram delivery as an adapter around durable notification work.
Acceptance criteria
retry_aftertakes precedence. A delivery deadline can end retries before that delay expires.Validation design
Use a controlled Telegram adapter for success,
retry_after, forbidden recipient, malformed request, credential failure, and ambiguous timeout. Advance a clock through each retry boundary. Change preferences and expire an action between attempts. Crash after an uncertain external send and assert that the inbox still contains one record without claiming exactly-once delivery.Ignore an organizer between attempts for an existing commitment update. Verify that delivery still follows the channel preference and bypasses availability hours.
Dependencies
Related work