Explicit connection state handling in player shell (online / reconnecting / offline).
Network listeners (online/offline) with reconnect retry behavior.
Error-safe handling for refresh/join/submit actions to avoid blank-page/crash behavior.
Retains existing Django API endpoints/payload contracts (no backend API changes).
Expanded player shell unit tests for reconnect/offline and error/retry paths.
Local checks
npx vitest run src/app/features/player/player-shell.component.spec.ts✅ (6 passed)
Implements #187 for Angular player flow.
### What's included
- Explicit connection state handling in player shell (`online` / `reconnecting` / `offline`).
- Network listeners (`online`/`offline`) with reconnect retry behavior.
- Error-safe handling for refresh/join/submit actions to avoid blank-page/crash behavior.
- Retains existing Django API endpoints/payload contracts (no backend API changes).
- Expanded player shell unit tests for reconnect/offline and error/retry paths.
### Local checks
- `npx vitest run src/app/features/player/player-shell.component.spec.ts` ✅ (6 passed)
Reconnect/offline UX in player shell is coherent and guarded with retry/backoff behavior.
Event-listener lifecycle is cleaned up in ngOnDestroy, preventing leaks.
Added specs cover reconnecting/offline paths and existing gameplay assertions still pass.
No blockers found.
LGTM ✅
Review notes:
- Reconnect/offline UX in player shell is coherent and guarded with retry/backoff behavior.
- Event-listener lifecycle is cleaned up in `ngOnDestroy`, preventing leaks.
- Added specs cover reconnecting/offline paths and existing gameplay assertions still pass.
No blockers found.
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.
Implements #187 for Angular player flow.
What's included
online/reconnecting/offline).online/offline) with reconnect retry behavior.Local checks
npx vitest run src/app/features/player/player-shell.component.spec.ts✅ (6 passed)LGTM ✅
Review notes:
ngOnDestroy, preventing leaks.No blockers found.
Official review-state: APPROVED.