# ReVision PWA: System Requirements and Known Bugs

## System Requirements

### Supported platforms
- iPhone/iPad with Safari (recommended for iOS users)
- Android phones/tablets with Chrome
- Desktop browsers: Chrome, Edge, Safari (latest stable versions)

### Minimum software requirements
- iOS 16+ for best camera and speech behavior in PWA mode
- Android 10+ for stable camera/microphone permissions
- Modern browser with support for:
  - Service Workers
  - MediaDevices (`getUserMedia`)
  - Web Speech API (`speechSynthesis`, `SpeechRecognition` where available)
  - LocalStorage

### Network requirements
- Internet connection required for:
  - Online object/conversation API calls
  - Lemonfox custom voice TTS (cloud speech generation)
- Stable 4G/5G or Wi-Fi recommended to reduce response delay

### Device requirements
- Working rear camera
- Working microphone (for voice follow-up)
- Speaker/audio output enabled
- At least 200 MB free storage (browser cache + PWA assets)

### User/account requirements
- Valid signed-in user session
- Email present in stored user profile (required for conversation session routing)

## Current Known Bugs

### 1) iPhone PWA custom voice inconsistency outside direct tap flows
- **Severity:** High
- **Status:** Partially mitigated
- **Affected area:** TTS playback in iOS PWA mode
- **Symptoms:** Custom voice may fail in some async/auto-send paths, while working more reliably when triggered from direct button taps (for example, `What is this`).
- **Notes:** iOS PWA autoplay/user-activation policies are strict and can block async media playback.

### 2) Speech recognition availability differs by browser
- **Severity:** Medium
- **Status:** Known platform limitation
- **Affected area:** Voice capture/follow-up
- **Symptoms:** Some browsers/devices do not expose `SpeechRecognition`/`webkitSpeechRecognition`, so voice transcript capture may not run and fallback text flow is used.

### 3) Camera initialization can fail before first user interaction on iOS
- **Severity:** Medium
- **Status:** Mitigated with interaction retry
- **Affected area:** Camera startup in PWA mode
- **Symptoms:** Camera preview may not start until user performs an explicit interaction.

### 4) Custom voice response delay is higher than native TTS
- **Severity:** Low
- **Status:** Expected behavior
- **Affected area:** Perceived response speed
- **Symptoms:** Noticeable delay before speech starts when custom voice is enabled because audio is generated remotely.

## Recommended QA Checks (per release)
- Verify custom voice on iPhone PWA in:
  - `What is this`
  - Follow-up flow
  - Auto-send after silence flow
- Verify fallback to native speech when cloud TTS fails
- Verify first-launch camera and microphone permission behavior
- Verify signed-in and signed-out speech/conversation behavior
