Files
assistenza/roadmap.txt

107 lines
1.8 KiB
Plaintext

Fase 1 — Signaling minimal (MVP control-plane)
Obiettivo: vedere agent online e fare “connect_request/accept”.
Server
WebSocket endpoints: /agent e /client
Registry device in memoria + persist (DB)
Auth semplice:
client login (username/pwd hash)
agent pairing con pairCode (inizialmente manuale)
Android
Connessione WS + heartbeat
DeviceId stabile
Ricezione connect_request → mostra notifica → accept/deny
Windows
Login + lista device + “richiedi connessione”
Deliverable: flusso completo “richiesta/accetta” senza WebRTC ancora.
Fase 2 — WebRTC video solo (prima connessione reale)
Obiettivo: stream schermo tablet → viewer su Windows.
Android
MediaProjection → encoder → WebRTC VideoTrack
ICE config: STUN+TURN
Start/Stop session
Windows
WebRTC receiver + render (Electron: <video> e basta)
Gestione resize + aspect
Deliverable: vedere lo schermo in tempo reale.
Fase 3 — Input base (tap, swipe, back/home)
Obiettivo: controllo reale.
Windows
Cattura mouse/keyboard
Coordinate mapping (considera rotazione e scaling)
Invio su DataChannel
Android
Parser input
dispatchGesture() per tap/swipe
performGlobalAction() per back/home/recents
Rate limit / validation (anti spam)
Deliverable: posso aprire app, cliccare bottoni, scorrere.
Fase 4 — Robustezza rete + osservabilità
Fallback TURN automatico (già in ICE, ma monitora)
Retry WS, reconnect, session resume
Metriche:
% TURN vs P2P
bitrate, fps, packet loss
tempi handshake
Log sessioni (audit)
Deliverable: sistema che regge ambienti reali.
Fase 5 — Sicurezza “production grade”
Pairing serio:
QR o codice one-time
device associato a account
Token short-lived (access) + refresh
Ruoli (admin/operatore)
“Allowlist controller” per device (opzionale)
Deliverable: pronto per distribuzione controllata.