diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 82d7cac7bc..3c78215e81 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -469,7 +469,7 @@ All database access. Uses `sqlx::query()` (runtime, not compile-time macros) — | `user.rs` | User profile storage | | `error.rs` | Database error types | -**Channel types:** `Stream`, `Forum`, `Dm`, `Workflow` +**Channel types:** `Stream`, `Forum`, `Dm`, `Workflow`, `System` **Member roles:** `Owner`, `Admin`, `Member`, `Guest`, `Bot` **Workflow statuses:** `Active`, `Disabled`, `Archived` **Run statuses:** `Pending`, `Running`, `WaitingApproval`, `Completed`, `Failed`, `Cancelled` diff --git a/docs/nips/NIP-CL.md b/docs/nips/NIP-CL.md index 222bfb9e0d..9e00b539ca 100644 --- a/docs/nips/NIP-CL.md +++ b/docs/nips/NIP-CL.md @@ -24,12 +24,16 @@ plain NIP-29, a client cannot: A client also cannot mark its own channels so that it can find them again. Channel labels (below) do this. +Also, every channel that a person belongs to shows in their client as a chat. +So a group that exists only to control who can read some data appears in +sidebars, search results and unread counts. System channels (below) fix this. + ## Channel identity tags On every channel-state event that the relay signs, the relay MUST put these tags in this order, before any other `t` or `P` tag: -1. `["t", ]`, for example `stream`, `forum`, `dm`, `workflow`. +1. `["t", ]`, for example `stream`, `forum`, `dm`, `workflow`, `system`. 2. `["t",