Closes #557
## What changed
- fan out Web Push across devices with a configurable concurrency ceiling (default 8)
- preserve ordered sends within each device
- stop retrying later threads on a failed endpoint during the same poll
- document the production setting
## Verification
- RED observed for bounded cross-device concurrency, per-device failure short-circuiting, and poll-loop configuration wiring
- `python3 -m pytest tests/test_push_notifications.py -q` — 17 passed
- `python3 -m pytest tests/ -q` — 1156 passed
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #557
What changed
Verification
python3 -m pytest tests/test_push_notifications.py -q— 17 passedpython3 -m pytest tests/ -q— 1156 passed