model app-icon attention as independent Updates and Following channels
persist privacy-safe channel counts across foreground and service-worker flows
combine Following pushes with the last authoritative Updates count without overwriting either channel
clear retained channel state on opt-out and roll the offline shell
update mobile setting/readiness copy to describe review attention
Verification
RED observed for foreground channel sum, background combination, authenticated count sync, render-cache invalidation, and shell revision
pytest tests/ -q: 2485 passed, 14 skipped
packaged mobile Following journey: 3 passed at 320x568 and 390x844
Node syntax checks passed for changed runtime scripts
Closes #1324
## What changed
- model app-icon attention as independent Updates and Following channels
- persist privacy-safe channel counts across foreground and service-worker flows
- combine Following pushes with the last authoritative Updates count without overwriting either channel
- clear retained channel state on opt-out and roll the offline shell
- update mobile setting/readiness copy to describe review attention
## Verification
- RED observed for foreground channel sum, background combination, authenticated count sync, render-cache invalidation, and shell revision
- `pytest tests/ -q`: 2485 passed, 14 skipped
- packaged mobile Following journey: 3 passed at 320x568 and 390x844
- Node syntax checks passed for changed runtime scripts
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 #1324
What changed
Verification
pytest tests/ -q: 2485 passed, 14 skipped