Closes #353
## Delivered
- abort and bound same-origin dashboard navigations after four seconds
- return the cached shell on stalls, including fetch implementations that ignore abort
- return deterministic HTTP 504 reconnect guidance when no shell exists
- prevent late network completion from writing the shell cache
- advance the app-shell cache atomically and document the behavior
## Verification
- RED observed for stalled cached navigation, uncached 504, late completion, and cache revision
- `pytest -q tests/test_service_worker.py` — 26 passed
- `pytest -q` — 660 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 #353
Delivered
Verification
pytest -q tests/test_service_worker.py— 26 passedpytest -q— 660 passed