Skip to content

Implement WebSocket manager #79

Description

@2witstudios

Epic 5: iOS App — Models & Networking — Issue 4/6

Source: Composite

Description

Observable WebSocket manager with auto-reconnect and keepalive.

Acceptance Criteria

  • WebSocketManager as @Observable class
  • URLSessionWebSocketTask for WebSocket connection
  • Connection states: disconnected, connecting, connected, reconnecting(attempt: Int)
  • Auto-reconnect with exponential backoff (1s, 2s, 4s, 8s, 16s, 30s max)
  • Keepalive ping every 30s
  • Proper task cancellation on disconnect
  • Event parsing into typed Swift enums matching server events
  • Terminal subscribe/unsubscribe/input commands

Files to Create

  • ios/PPGMobile/PPGMobile/Networking/WebSocketManager.swift (new)

Metadata

Metadata

Assignees

No one assigned

    Labels

    epic:ios-networkingEpic 5: iOS App — Models & NetworkingmobilePPG Mobile project

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions