[EPIC]: Use one account on several devices

Đang mở
#194 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
dart, flutter, go, postgresql
Lĩnh vực
backend, databases, mobile, security

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
Dart
Star
9
Fork
5
Merge trung bình
49 phút
Pull request đã merge (30 ngày)
34

Chuẩn bị môi trường

  • Có Dockerfile hoặc tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của CommandLineCoding/Elephant

Tất cả issue của CommandLineCoding/Elephant

Issue tương tự

Thêm issue về Dart

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.