HydraIssues

hydraheadipad: rating card after Exit experience (#565 Phase 4)
open feature Project: experiencenet Reporter: 27 Aug 2026 12:05

Description

Sub-issue of #565 (master: HydraNPS end of experience rating). Full design on #565. This issue is Phase 4: hydraheadipad.

Scope:

  • HydraNPSClient (nps_url/nps_token from head config); session id mint; stream start timestamp in AppState
  • Pending rating captured in AppState.stopStream() only for the visitor exit path (the exit action sheet in HydraStreamSession.m), with expiry
  • Card as SwiftUI ZStack sibling in ContentView, .zIndex(14), NOT a .sheet (blank black screen bug, ContentView.swift:81-83); styled like OperatorPinView per docs/design/rating-card.md; portrait + landscape; cap the wait on notifyStreamStopped before showing the card
  • Bounded UserDefaults queue (50), flushed on heartbeat and at launch

Verify: testbook step 8 rating flow + step 9 regression (mic enabled exit); remote check via admin screenshot (window.drawHierarchy captures the card).

Depends on: hydranps and hydracluster sub-issues.

Custom Fields

parent_issue
565