Comment OSIA se connecte
Ordre LAN, WebRTC et relais, transport autoritaire, signalisation et comportement lors d’une coupure.
#Ordre autoritaire
LAN et WebRTC sont activés par défaut. Le relais peut rester connecté comme canal de signalisation pendant la préparation directe, mais il ne devient le transport applicatif qu’après l’échec des deux tentatives directes.
#Un seul transport à la fois
Le transport sélectionné détient un bail applicatif global et un pont local unique. Les trames d’un tour ne sont pas dupliquées sur plusieurs chemins. Cette règle évite les doubles actions et les réponses concurrentes.
#Coupure pendant une réponse
OSIA ne renvoie ni ne bascule le tour en milieu de réponse. La connexion est considérée perdue; les données déjà persistées peuvent être relues après reconnexion. Le prochain tour reprend la sélection LAN → WebRTC → relais. Il ne faut pas promettre que la réponse interrompue sera complète.
#Pièces jointes et transport
Un lot de fichiers reste sur le transport autoritaire choisi au début. Il n’est ni basculé ni renvoyé automatiquement si la liaison tombe. Le lot échoue et est nettoyé; une action explicite de l’utilisateur crée une nouvelle tentative.
- Jusqu’à 10 fichiers.
- 20 MiB maximum par fichier et pour l’ensemble du message.
- Fragments de 20 KiB.
- Taille et SHA-256 exacts avant commit.
- Aucun tour modèle avant le commit complet.
#Pourquoi le relais reste nécessaire
- CGNAT ou NAT symétrique.
- Pare-feu d’entreprise qui bloque les candidats directs.
- Isolation des clients sur Wi-Fi invité.
- UDP indisponible ou filtré.
- Téléphone et PC sur des réseaux sans route directe.
Aucun utilisateur ne doit ouvrir un port sur son routeur pour forcer la connexion.
#Flux distincts
| Flux | But | Données visibles au service |
|---|---|---|
| Fournisseur de modèle | Produire la réponse | Prompt et contexte nécessaires selon la configuration. |
| STUN | Découvrir des candidats WebRTC | Adresse/port source, timing et protocole; pas le contenu OSIA. |
| Relais | Transport de repli | Métadonnées de routage, tailles/timing et texte chiffré opaque. |
| LAN | Transport local direct | Trafic entre téléphone et PC dans le réseau privé. |
Provenance de cette page
Faits produit vérifiés sur PC 7b6b3b000b89, mobile d492cc89cf77 et Worker f07e239bd455.
Sources consultées
- PC: docs/webrtc-direct.md
- Mobile: lib/services/transport/
- Worker: src/relay.js et src/relay_policy.js