Tracking issue for Matrix feature coverage against Element Web and Element X.
This is the deepest backend in the daemon (~10.6k lines) and most of Element's surface
is matched: end-to-end encryption with cross-signing (#94), key backup, device
verification by emoji and QR (#163), threads (#80, #102), spaces (#126), polls
(m.poll.* in both the stable and org.matrix.msc3381 spellings), read receipts (#71),
server-side search (#95), pinned messages (#96), notification rules (#98), room creation
and settings (#77), the public room directory (#86), SSO and OIDC (#103), key export and
import (#104), knocking and restricted joins (#124), and Element Call including its
encrypted form (#132, #133).
What is left, after the September 2026 review:
#190 - every sync is the whole account, because sliding sync is not spoken
#191 - a widget in a room is nothing here (low priority)
#193 - a new device starts deaf to everything sent while it did not exist (low priority)
#189 - a call is voice only, with no camera and no screen - held back deliberately, see
below
Settled since:
#194 - a message cannot be marked unread again - done
#200 - a call has nowhere to go when the homeserver names no media server - done
#202 - the login form is drawn before the homeserver is asked what it takes - done
#192 - live location - won't implement, it is a phone feature and moho has no
location source by choice; static locations already work both ways
#189 shares its plumbing with Discord's #14 (screen share) and #180 (camera), so the
three are worth planning together rather than doing Matrix's in isolation.
#190 is the one with a performance argument rather than a feature argument, and is worth
more than the four low-priority items together.
Built in the daemon, with no way to reach it
A separate axis from the list above: these are not missing features but features that
exist and work in the daemon with nothing in the window calling them.
#200 - a call has nowhere to go when the homeserver names no media server
#202 - the login form is drawn before the homeserver is asked what it takes
Tracking issue for Matrix feature coverage against Element Web and Element X.
This is the deepest backend in the daemon (~10.6k lines) and most of Element's surface
is matched: end-to-end encryption with cross-signing (#94), key backup, device
verification by emoji and QR (#163), threads (#80, #102), spaces (#126), polls
(`m.poll.*` in both the stable and `org.matrix.msc3381` spellings), read receipts (#71),
server-side search (#95), pinned messages (#96), notification rules (#98), room creation
and settings (#77), the public room directory (#86), SSO and OIDC (#103), key export and
import (#104), knocking and restricted joins (#124), and Element Call including its
encrypted form (#132, #133).
What is left, after the September 2026 review:
- #190 - every sync is the whole account, because sliding sync is not spoken
- #191 - a widget in a room is nothing here (low priority)
- #193 - a new device starts deaf to everything sent while it did not exist (low priority)
- #189 - a call is voice only, with no camera and no screen - held back deliberately, see
below
Settled since:
- #194 - a message cannot be marked unread again - **done**
- #200 - a call has nowhere to go when the homeserver names no media server - **done**
- #202 - the login form is drawn before the homeserver is asked what it takes - **done**
- #192 - live location - **won't implement**, it is a phone feature and moho has no
location source by choice; static locations already work both ways
#189 shares its plumbing with Discord's #14 (screen share) and #180 (camera), so the
three are worth planning together rather than doing Matrix's in isolation.
#190 is the one with a performance argument rather than a feature argument, and is worth
more than the four low-priority items together.
### Built in the daemon, with no way to reach it
A separate axis from the list above: these are not missing features but features that
exist and work in the daemon with nothing in the window calling them.
- #200 - a call has nowhere to go when the homeserver names no media server
- #202 - the login form is drawn before the homeserver is asked what it takes
#191 — widgets — done: both state-event spellings read, listed beside the pins, opened in a browser rather than drawn. A widget removed by having its content emptied is treated as removed, and a url still carrying a variable only an integration manager could fill says so instead of offering a broken link.
Still open:
#189 — a call is voice only — half done. Group calls on a media server now have a mid-call camera toggle to go with the screen share and remote video they already had; one-to-one calls in calls.rs remain voice-only, which is the substance of the ticket. As noted here, that half shares plumbing with #14 and #180 and wants planning with them.
So Matrix is down to one open item, and that item is really a three-protocol one.
A note on verification for anything Matrix from here: @salastil:poa.st is the working account and all three of its rooms have other people in them, so live sends and calls have nowhere to go that disturbs nobody. matrix.salastil.com cannot federate at present, pending a move from Conduit to tuwunel.
September 2026 sweep, after this round of work.
**Closed since this list was written:**
- #190 — sliding sync — done
- #193 — device dehydration — done
- #191 — widgets — done: both state-event spellings read, listed beside the pins, opened in a browser rather than drawn. A widget removed by having its content emptied is treated as removed, and a url still carrying a variable only an integration manager could fill says so instead of offering a broken link.
**Still open:**
- #189 — a call is voice only — **half done**. Group calls on a media server now have a mid-call camera toggle to go with the screen share and remote video they already had; one-to-one calls in `calls.rs` remain voice-only, which is the substance of the ticket. As noted here, that half shares plumbing with #14 and #180 and wants planning with them.
So Matrix is down to one open item, and that item is really a three-protocol one.
A note on verification for anything Matrix from here: `@salastil:poa.st` is the working account and all three of its rooms have other people in them, so live sends and calls have nowhere to go that disturbs nobody. `matrix.salastil.com` cannot federate at present, pending a move from Conduit to tuwunel.
Salastil
moved this to Complete in Protocols on 2026-10-01 21:10:27 -04:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Tracking issue for Matrix feature coverage against Element Web and Element X.
This is the deepest backend in the daemon (~10.6k lines) and most of Element's surface
is matched: end-to-end encryption with cross-signing (#94), key backup, device
verification by emoji and QR (#163), threads (#80, #102), spaces (#126), polls
(
m.poll.*in both the stable andorg.matrix.msc3381spellings), read receipts (#71),server-side search (#95), pinned messages (#96), notification rules (#98), room creation
and settings (#77), the public room directory (#86), SSO and OIDC (#103), key export and
import (#104), knocking and restricted joins (#124), and Element Call including its
encrypted form (#132, #133).
What is left, after the September 2026 review:
below
Settled since:
location source by choice; static locations already work both ways
#189 shares its plumbing with Discord's #14 (screen share) and #180 (camera), so the
three are worth planning together rather than doing Matrix's in isolation.
#190 is the one with a performance argument rather than a feature argument, and is worth
more than the four low-priority items together.
Built in the daemon, with no way to reach it
A separate axis from the list above: these are not missing features but features that
exist and work in the daemon with nothing in the window calling them.
September 2026 sweep, after this round of work.
Closed since this list was written:
Still open:
calls.rsremain voice-only, which is the substance of the ticket. As noted here, that half shares plumbing with #14 and #180 and wants planning with them.So Matrix is down to one open item, and that item is really a three-protocol one.
A note on verification for anything Matrix from here:
@salastil:poa.stis the working account and all three of its rooms have other people in them, so live sends and calls have nowhere to go that disturbs nobody.matrix.salastil.comcannot federate at present, pending a move from Conduit to tuwunel.