timmy/549-inbound-web-push
main
Closes #549
Adds opt-in, device-bound Web Push for new unread Gitea updates: durable per-device deduplication, privacy-safe lock-screen content, existing update deep links, revocation cleanup, expired-endpoint removal, and fail-closed VAPID configuration.
Verification:
python3 -m pytest tests/ -q
No dependencies set.
The note is not visible to the blocked user.
Closes #549
Adds opt-in, device-bound Web Push for new unread Gitea updates: durable per-device deduplication, privacy-safe lock-screen content, existing update deep links, revocation cleanup, expired-endpoint removal, and fail-closed VAPID configuration.
Verification:
python3 -m pytest tests/ -q— 1138 passed