cache bounded, allowlisted unread-update conversation details by notification identity
hydrate saved conversations without network reads and block server-state actions offline
preserve the existing durable, account-bound reply outbox
ship the changed runtime atomically in shell cache v40
Verification
RED observed for update-detail persistence, offline hydration/server-state blocking, offline routing, and documentation
pytest -q → 648 passed
Chromium at 390×844: cached conversation rendered on a cold outage; 390px panel had no overflow; composer 112px and Send 44px; mark-read/ownership/older/defer controls disabled
Closes #347
## What changed
- cache bounded, allowlisted unread-update conversation details by notification identity
- hydrate saved conversations without network reads and block server-state actions offline
- preserve the existing durable, account-bound reply outbox
- ship the changed runtime atomically in shell cache v40
## Verification
- RED observed for update-detail persistence, offline hydration/server-state blocking, offline routing, and documentation
- `pytest -q` → 648 passed
- Chromium at 390×844: cached conversation rendered on a cold outage; 390px panel had no overflow; composer 112px and Send 44px; mark-read/ownership/older/defer controls disabled
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 #347
What changed
Verification
pytest -q→ 648 passed