Deliver Android push notifications through a durable retry queue
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
Research direction
Read prerequisites #107 and #108 and the contract from #107, then inspect internal/notification/service.go and its repository. Completion means durable enqueue and recovery, bounded retry and eligibility behavior, duplicate-delivery handling, and crash and provider-outage tests using the specified fake provider.
Written by the indexing model from the issue text.
Description
Roadmap: #76
Goal
Implement recoverable server delivery for notification events without losing work across restarts.
Acceptance criteria
- Persist delivery work consistently with the notification event and recover unfinished work after restart.
- Implement bounded retries, expiry, provider error classification, and invalid-device cleanup.
- Recheck account/device eligibility before delivery and honor revocation or opt-out.
- Define duplicate-delivery behavior for ambiguous provider responses; use event IDs for downstream deduplication instead of promising exactly-once delivery.
- Test crashes around enqueue/send/ack boundaries, provider outages, token rotation, and revoked devices with a fake provider.
Start: internal/notification/service.go, its repository, and the contract from #107. Existing mail/webhook worker issues are separate.
Prerequisites: #107, #108.
- Dominant language
- Go
- Stars
- 1
- Forks
- 7
- Avg merge
- 1h 45m
- Merged PRs (30d)
- 16
Getting set up
We have not checked this project's setup files yet. Start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from wavefnd/wave-platform
-
bug difficulty: beginner documentation good first issue help wanted localization
Difficulty 1/5 Under an hour Newbie friendliness 90/100
wavefnd/wave-platform#140 ·
-
bug difficulty: beginner documentation good first issue help wanted localization
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
wavefnd/wave-platform#139 ·
-
bug difficulty: beginner documentation good first issue help wanted localization
Difficulty 2/5 Half a day Newbie friendliness 88/100
wavefnd/wave-platform#137 ·
-
bug difficulty: beginner documentation good first issue help wanted localization
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
wavefnd/wave-platform#136 ·
-
bug difficulty: beginner documentation good first issue help wanted localization
Difficulty 1/5 Under an hour Newbie friendliness 94/100
wavefnd/wave-platform#135 ·
All issues in wavefnd/wave-platform
Similar issues
-
priority: low 🌱 type: enhancement 💅🏼
Difficulty 2/5 Half a day Newbie friendliness 84/100
nebari-dev/llm-serving-pack#199 ·
Maintainers usually reply within 3 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
area/helm kind/bug priority/backlog triage/accepted
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
lexfrei/cloudflare-tunnel-gateway-controller#889 ·
Maintainers usually reply within 1 day
-
compiler/runtime
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Priority
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
canonical/chisel-releases#1328 ·
Maintainers usually reply within 1 day