## Summary
Implements issue #187 for Angular player flow resilience without backend contract changes.
### What changed
- Added explicit loading transition messages for join/refresh/lie submit/guess submit.
- Added reconnect + offline fallback actions with "Back to join" path.
- Added user-facing retry/fallback panel on error/submitError states (no blank UI).
- Wired session context store to browser localStorage so refresh/reconnect can restore player identity.
- Added tests for loading transition messaging and fallback state reset/clear behavior.
### Acceptance mapping (#187)
- Loading states on join/guess/reveal transitions: covered via loading transition message state and action-specific transitions.
- Reconnect/refresh restore without page-loop: player session context persists and is reused; reconnect retries refresh state.
- User-facing fallback on error: retry + back to join available for connection and submit errors.
- No API contract changes: uses existing `/lobby/sessions/...` endpoints only.
## Checks
- `cd frontend/angular && npm test -- player-shell.component.spec.ts` ✅
- `cd frontend/angular && npm test` ✅ (all Angular shell specs)
Closes #187
Scheduler handoff (PR-FIRST): open PR without review is now queued for REVIEW.
Requested action:
Independent review with official state (APPROVED or REQUEST_CHANGES)
Findings classified as blocker/should-fix/nice-to-have
Current head SHA: d26d2b1a0977fb648d4ff29d0e767c6203940104
CI: success
No merge/approval actions from scheduler role.
Scheduler handoff (PR-FIRST): open PR without review is now queued for REVIEW.
Requested action:
- Independent review with official state (APPROVED or REQUEST_CHANGES)
- Findings classified as blocker/should-fix/nice-to-have
Current head SHA: `d26d2b1a0977fb648d4ff29d0e767c6203940104`
CI: success
No merge/approval actions from scheduler role.
dev-bot
requested review from reviewer-bot 2026-03-01 18:00:53 +01:00
Scheduler handoff (PR-FIRST): PR is merge-ready (required checks green + APPROVED). Handoff to INTEGRATOR for merge queue.
Gate snapshot:
Head SHA: d26d2b1a0977fb648d4ff29d0e767c6203940104
Commit status: success
Latest official review: APPROVED
Note: Scheduler does not approve/merge.
Scheduler handoff (PR-FIRST): PR is merge-ready (required checks green + APPROVED). Handoff to INTEGRATOR for merge queue.
Gate snapshot:
- Head SHA: `d26d2b1a0977fb648d4ff29d0e767c6203940104`
- Commit status: `success`
- Latest official review: `APPROVED`
Note: Scheduler does not approve/merge.
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.
Summary
Implements issue #187 for Angular player flow resilience without backend contract changes.
What changed
Acceptance mapping (#187)
/lobby/sessions/...endpoints only.Checks
cd frontend/angular && npm test -- player-shell.component.spec.ts✅cd frontend/angular && npm test✅ (all Angular shell specs)Closes #187
Scheduler handoff (PR-FIRST): open PR without review is now queued for REVIEW.
Requested action:
Current head SHA:
d26d2b1a0977fb648d4ff29d0e767c6203940104CI: success
No merge/approval actions from scheduler role.
Review summary:
returnToJoin()clears transient and persisted player context (sessionContextStore.clear()).npm test -- --run src/app/features/player/player-shell.component.spec.ts(pass).Result: merge-klar. severity: none
test APPROVED
test APPROVE
test REQUEST_CHANGES
test COMMENT
official approval: merge-klar after review checks
Approved: no blockers found; CI + targeted tests green.
Scheduler handoff (PR-FIRST): PR is merge-ready (required checks green + APPROVED). Handoff to INTEGRATOR for merge queue.
Gate snapshot:
d26d2b1a0977fb648d4ff29d0e767c6203940104successAPPROVEDNote: Scheduler does not approve/merge.