[EPIC]: Use one account on several devices

Aperta
#194 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
dart, flutter, go, postgresql

Direzione di ricerca

Start with the user_devices registry and the WebSocket hub’s h.clients[userID] mapping, then review dependency #178 and discuss an approach on a sub-issue before starting. The work spans server device registration, per-device encryption and message delivery, and app device linking and management. Done means each device has its own Signal identity and receives its own copy of every message.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area: e2ee difficulty: hard enhancement

Goal

Today keys live on one device. Signing in elsewhere shows "Sent from another device" for messages you sent from the other phone, and only one live connection per user is kept. Multi-device means each device has its own Signal identity and receives its own copy of every message.

Starting point

  • user_devices already has a device_id column (currently always main).
  • The WebSocket hub keeps one connection per user (h.clients[userID]). This becomes per device.

Steps (sub-issues)

  1. Server: device registry and per-device prekey bundles.
  2. Fan-out: encrypt each message for every device of the recipient and your own other devices, and deliver per device.
  3. App: link a new device and manage devices.

Depends on the hub fix (#178). Please discuss your approach on a sub-issue before starting.

Lingua principale
Dart
Stelle
9
Fork
5
Merge medio
49m
PR unite (30g)
34

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di CommandLineCoding/Elephant

Tutte le issue di CommandLineCoding/Elephant

Issue simili

Altre issue su Dart

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.