fix: support complet iOS/mobile pour PTT (audio + HTTPS/WSS)

Modifications majeures :
- HTTPS obligatoire pour getUserMedia sur iOS (certificats mkcert)
- Proxy WSS Vite pour LiveKit (contourner mixed content HTTPS→WS)
- Audio unlock explicite iOS dans useLiveKit (AudioContext)
- Demande permission microphone avant connexion LiveKit
- Touch optimizations CSS (touch-action, tap-highlight)
- Meta iOS PWA (apple-mobile-web-app-capable)
- Logs debug pour troubleshooting mobile
- Attente publication track audio avant utilisation PTT

Tests validés :
 iPhone Safari : émission + réception audio OK
 Desktop Chrome : fonctionne toujours
 3+ devices simultanés

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-05-22 23:05:44 +02:00
parent 24edf36d3c
commit ed22e6d878
9 changed files with 202 additions and 25 deletions
+2
View File
@@ -21,6 +21,7 @@ export default function PTTButton({ isTalking, onPressStart, onPressEnd }) {
// Touch events (mobile)
const handleTouchStart = (e) => {
e.preventDefault();
console.log('🖐️ Touch start');
if (!isPressingRef.current) {
isPressingRef.current = true;
onPressStart();
@@ -29,6 +30,7 @@ export default function PTTButton({ isTalking, onPressStart, onPressEnd }) {
const handleTouchEnd = (e) => {
e.preventDefault();
console.log('🖐️ Touch end');
if (isPressingRef.current) {
isPressingRef.current = false;
onPressEnd();