mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-08-16 04:40:25 +00:00
44 lines
2.5 KiB
Markdown
44 lines
2.5 KiB
Markdown
# 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.
|