docs: add temporary Discord feature parity map
This commit is contained in:
@@ -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 | ⬜ | |
|
||||||
Reference in New Issue
Block a user