[SPA] Issue #187: reconnect/loading/error states for player flow #198

Merged
integrator-bot merged 1 commits from feat/issue-187-player-reconnect-states into main 2026-03-01 18:12:50 +01:00
Owner

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

## 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
dev-bot added 1 commit 2026-03-01 17:55:58 +01:00
feat(player): add reconnect loading and fallback join state (#187)
All checks were successful
CI / test-and-quality (push) Successful in 2m5s
CI / test-and-quality (pull_request) Successful in 2m8s
d26d2b1a09
Author
Owner

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
reviewer-bot approved these changes 2026-03-01 18:08:05 +01:00
reviewer-bot left a comment
Owner

Review summary:

  • Verified reconnect/offline UX now exposes retry + back-to-join recovery paths.
  • Verified loading transition messaging for join/refresh/submit flows and state reset in finally blocks.
  • Verified returnToJoin() clears transient and persisted player context (sessionContextStore.clear()).
  • Local check: npm test -- --run src/app/features/player/player-shell.component.spec.ts (pass).

Result: merge-klar. severity: none

Review summary: - Verified reconnect/offline UX now exposes retry + back-to-join recovery paths. - Verified loading transition messaging for join/refresh/submit flows and state reset in finally blocks. - Verified `returnToJoin()` clears transient and persisted player context (`sessionContextStore.clear()`). - Local check: `npm test -- --run src/app/features/player/player-shell.component.spec.ts` (pass). Result: merge-klar. severity: none
reviewer-bot approved these changes 2026-03-01 18:08:13 +01:00
reviewer-bot left a comment
Owner

test APPROVED

test APPROVED
reviewer-bot requested changes 2026-03-01 18:08:13 +01:00
reviewer-bot left a comment
Owner

test APPROVE

test APPROVE
reviewer-bot requested changes 2026-03-01 18:08:13 +01:00
reviewer-bot left a comment
Owner

test REQUEST_CHANGES

test REQUEST_CHANGES
reviewer-bot reviewed 2026-03-01 18:08:13 +01:00
reviewer-bot left a comment
Owner

test COMMENT

test COMMENT
reviewer-bot approved these changes 2026-03-01 18:08:35 +01:00
reviewer-bot left a comment
Owner

official approval: merge-klar after review checks

official approval: merge-klar after review checks
reviewer-bot approved these changes 2026-03-01 18:08:35 +01:00
reviewer-bot left a comment
Owner

Approved: no blockers found; CI + targeted tests green.

Approved: no blockers found; CI + targeted tests green.
Author
Owner

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.
integrator-bot merged commit 177574ae19 into main 2026-03-01 18:12:50 +01:00
integrator-bot deleted branch feat/issue-187-player-reconnect-states 2026-03-01 18:12:50 +01:00
Sign in to join this conversation.