docs: add temporary Discord feature parity map

This commit is contained in:
2026-10-09 19:57:12 +01:00
parent 5eb47e45ef
commit 23a44aa210
+87
View File
@@ -0,0 +1,87 @@
# Discord Parity :3
> [!WARNING]
> The contents here are AI-generated using a local LLM as i didn't want to spend an hour writing this.<br>
> So it's a given that this would be non-authoritative.
> [!NOTE]
> I would like to make Tofu have all the same features as Discord, and be easy for people to transition from Discord, whilst having all the benefits from Matrix.
- ✅ working
- 🟡 partial
- ⬜ not built yet (but matrix supports it)
- ❌ no Matrix equivalent (maybe can be implemented still?)
## Navigation
| Server rail (spaces) | ✅ | Initials/colour instead of avatars |
|-----------------------------------------------|----|-------------------------------------------------------------------------|
| Feature | | Notes |
| Server icons from `mxc://` avatars | ⬜ | Needs media fetch + cache; same for user avatars |
| Unread dot / mention badge on servers | ✅ | Aggregated over child rooms |
| Create / join / leave server | ⬜ | `add-server` button is a stub |
| Server settings menu | ⬜ | Header click is a stub |
| Channel list with categories | 🟡 | One level of nesting; categories aren't collapsible yet |
| Unjoined channels shown dimmed, join on click | ✅ | Discord shows all channels; Matrix needs a join first |
| Voice channels | 🟡 | Listed with speaker icon; not joinable (needs MatrixRTC / Element Call) |
| Create / edit / reorder channels | ⬜ | |
| DMs list, most-recent first | ✅ | |
| Start a new DM / group DM | ⬜ | |
| Accept / decline invites | ⬜ | |
| Friends list, friend requests | ❌ | No concept in Matrix (closest: `m.direct` + ignore list) |
| Quick switcher (Ctrl+K) | ⬜ | |
## Messaging
| Feature | | Notes |
|-----------------------------------------------------|----|------------------------------------------------------------------------------|
| Send (Enter) / newline (Shift+Enter) | ✅ | Sent as markdown |
| Edit, delete own messages | ✅ | Via hover toolbar |
| Reply | ✅ | Banner above composer, preview above message |
| Reactions: add/remove, counts, "mine" highlight | 🟡 | Toolbar button toggles 👍; clicking a chip toggles that key; no emoji picker |
| Message grouping, date dividers, "start of channel" | ✅ | |
| Infinite history scroll | ✅ | Scroll anchoring on prepend is untested |
| Typing indicator (send + receive) | ✅ | |
| Read receipts / mark as read | 🟡 | Marks read whenever the room is open; no "new messages" divider |
| Local echo / pending state | ✅ | |
| Render markdown / formatted messages | ⬜ | |
| Mentions: autocomplete and highlight | ⬜ | `@`/`#` completion, mention styling |
| Links, embeds, URL previews | ⬜ | |
| Images, files, video: display | ⬜ | Shown as `[image] name` text |
| Upload (button, drag-drop, paste) | ⬜ | `attach` is a stub |
| Emoji picker, custom emoji, stickers | ⬜ | Custom emoji: MSC2545 |
| Threads | ⬜ | Header button is a stub; SDK supports threads |
| Pinned messages | ⬜ | Stub |
| Search | ⬜ | Stub |
| Spoilers, code-block highlighting | ⬜ | Needs formatted-body renderer first |
| Polls | ⬜ | Shown as `[poll]` |
| Forward / copy link / report | ⬜ | Text is selectable & copyable |
## People
| Feature | | Notes |
|-----------------------------|----|--------------------------------------------------|
| Member list grouped by role | ✅ | Power levels: 100 admin, 50 mod |
| Online / offline split | ⬜ | Matrix presence is optional and server-dependent |
| Profile popout, notes | ⬜ | |
| Roles & permissions UI | ⬜ | Power-level editor |
| Kick / ban / timeout | ⬜ | |
## Voice, video, apps
| Feature | | Notes |
|---------------------------------------------|----|----------------------------------------------|
| Voice / video calls, screen share | ⬜ | MatrixRTC (LiveKit); largest remaining chunk |
| Stage channels | ❌ | |
| Mute / deafen buttons | 🟡 | Local toggle only |
| Bots & slash commands | 🟡 | Bots exist in Matrix; no slash-command UI |
| Activities, Nitro, boosts, server discovery | ❌ | Not Matrix concepts |
## Account & app
| Feature | | Notes |
|-------------------------------------------|----|----------------------------------------------------------|
| Password login, session restore | ✅ | |
| SSO / OIDC login | ⬜ | Needed for matrix.org and other MAS servers |
| Encryption (E2EE) | 🟡 | Works in SDK; no verification / key-backup / recovery UI |
| Notifications (desktop, per-channel mute) | ⬜ | Push rules |
| User settings, themes | 🟡 | `Theme` global makes themes easy; no settings screen |
| Multi-account | ⬜ | `TOFU_DATA_DIR` runs separate instances meanwhile |
| Keyring storage for secrets | ⬜ | |