mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-05-27 11:53:03 +00:00
rfc: channels MVP scope (#6131)
* rfc: channels MVP scope * update * split mvp
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# Channels
|
||||
|
||||
This supersedes the previous [super-peers RFC](./2025-02-13-super-peer-groups-mvp.md), by reducing its scope to channels.
|
||||
|
||||
## Problem
|
||||
|
||||
This doc proposes the scope for MVP for channels based on chat relays, as the first step to arbitrary large groups based on chat relays.
|
||||
|
||||
The technical difference of channels is that only owners can send messages and all members are "observers" who can send reactions.
|
||||
|
||||
From UX point of view, channels will be a separate thing, as one more action in the menu.
|
||||
|
||||
From threat model point of view, we want to protect from chat relays being able to act as owners - channel "identity" will be based on owners keys, as described in [this rfc](https://github.com/simplex-chat/simplexmq/blob/stable/rfcs/2025-04-04-short-links-for-groups.md).
|
||||
|
||||
## Solution
|
||||
|
||||
Minimal testable scope:
|
||||
- protocol for managing owners changes and channel profile changes - probably based on some consensus protocol.
|
||||
- message signing by owners - to authorize channel profile and ownership changes.
|
||||
- make group link part of group profile, while delegating connection to channel to chat relays included in link data.
|
||||
- messages sent from channel name.
|
||||
- message forwarding by chat relays:
|
||||
- all relays forward each message, client de-duplicates by message ID and highlights any differences between chat relays.
|
||||
- forwarding operation should be persistent, resumable and batched, optimizing between latency and load.
|
||||
|
||||
Channels MVP implementation scope:
|
||||
- split directory service from chat relay.
|
||||
- message services to allow for fast subscriptions of chat relays to SMP servers using service certificates. It is in progress in [this PR](https://github.com/simplex-chat/simplexmq/pull/1565).
|
||||
- fully migrate SMP servers to PostgreSQL.
|
||||
- chat relay management (started in [this PR](https://github.com/simplex-chat/simplex-chat/pull/5653)), include chat relays into pre-configured operators.
|
||||
- catch up with skipped messages (related to history navigation).
|
||||
- manage chat relays in UI.
|
||||
- member keys, for owners, profile signatures and for establishing e2e encryption in chat with admins. Possibly, profile keys as described in [this RFC](./2025-04-14-signing-messages.md) (option 2).
|
||||
- reuploading files by relays for indefinite storage and maintaining channel quotas for files.
|
||||
- operator content moderation.
|
||||
- UI changes for channel/group creation.
|
||||
|
||||
Post MVP:
|
||||
- pagination in member list.
|
||||
- history "navigation" - request older messages.
|
||||
- e2e encryption in chats with admins.
|
||||
- message revocation from history by senders.
|
||||
- message comments.
|
||||
Reference in New Issue
Block a user