element-meta icon indicating copy to clipboard operation
element-meta copied to clipboard

Element X Current Features Status

Open manuroe opened this issue 1 year ago • 39 comments

This page gives an overview of what Element X apps (Android & iOS) can and cannot do as of 2024-09-25 on Element X Android 0.6.3 and Element X iOS 1.8.3.

Homeserver requirements

The homeserver must:

  • have native Sliding Sync support. Synapse supports is since 1.114.0. A workaround option is to use a Sliding Sync proxy alongside the homeserver. EX will support SS proxies until Nov, 25th. Then, the homeserver has to support it natively
  • offer simple authentication mechanism: login + password
  • or provide OIDC authentication (see matrix-authentication-service)

The matrix.org homeserver(Synapse) natively supports SS but it is not OIDC ready yet.

Authentication

Element X is going to rely more and more on OIDC as this is the most secure way for a matrix client to connect a user to a server. OIDC avoids users to share their credentials with a random app. During the migration, EX is still supporting native sign in for simple login+password authentication.

  • OIDC support
  • Sign In with QR Code with the QR code displayed on Element Web
  • In-App signing in with login+password
  • Account creation via OIDC
    • Account creation is possible on matrix.org. Until it is not MAS ready, we use a temporary webapp for the registration that is advertised by registration_helper_url of https://matrix.org/.well-known/element/element.json
  • No OIDC support yet on the matrix.org homeserver
  • No Sign In with QR Code with the QR code displayed on Element X
  • No multi-account support

Room list

  • Fast display after logging in.
  • Fast update after resuming the app
  • Rooms sorted by activity
  • Last message and unread indicator for every room
  • Room filtering, filters per room types (Unreads, People, Rooms, Favourites, Invites)
  • Invites are in the room list
  • Room creation
  • No spaces
  • No global search: Just users own rooms. Matrix room directory is under a feature flag
  • No breadcrumbs

Room screen

Timeline

  • Bubbles!
  • Decryption of messages received after login
  • Inconspicuous back pagination
  • Permalink support
  • Rendered message types: text, emote, HTML, image, GIF, video, files, replies, edit, polls
  • Media fullscreen display: image, video, text file, pdf
  • Voice messages
  • Reactions
  • Reactions detailed list view
  • Static Location sharing
  • Message actions: reactions, reply, edit, forward, copy, permalink, report content
  • Local echoes
  • Send failure management
  • View source
  • Pills
  • Read receipts
  • History decryption
  • Typing notification
  • No threads
  • No low priority toggle
  • No message history view (after message edition)
  • No breadcrumbs update

Known issues

  • No permanent timeline caching
    • Entering a timeline from a push may (re-) load the content
    • When scrolling fast content has to be loaded
  • When entering a room from roomlist the user will the see the most current message (end of timeline)
  • No local echos for sending media, including voice messages

Composer

  • Markdown support
  • Voice messages
  • Photo & Video Library
  • Take pictures & videos
  • File Attachment
  • Rich Text Editor
  • Location sharing
  • Polls
  • Sending of typing notifications
  • Save draft when switching or leaving rooms
  • Automatic retry management
  • No multiple selection for sending media
  • No media quality selection on upload
  • No Stickers

End-to-End Encryption

  • Mandatory device verification at login
  • Key backup restoration on demand. No need to wait for the full key backup restoration like legacy apps to be able to read rooms timelines.
  • Device managers screen via OIDC
  • History decryption with message key backup
  • Message shield decoration in case of suspicious messages
  • Device list available only for users connected with OIDC
  • No verification of a new login on another device
  • No user verification
  • Invisible crypto WIP

Notifications

  • Notifications where you expect
  • Notification for invites
  • Notifications at global and room levels
  • No reply from a notification from lock-screen

Room detail screen

  • Edit room name, avatar and topic
  • Notifications settings
  • Member list
  • Invite people
  • Leave

Settings

  • Notifications
  • Analytics preference
  • Bug report
  • Device Management (for OIDC users)
  • Advanced settings

Call with Element Call

The VoIP experience is EX is managed by Element Call:

  • Video group calls
  • Create and join Element Call from the app
  • Native integation (incoming call ringing, call log)
  • PiP
  • Element Call links tapped from another app is opened into Element X
  • No audio-only calls

Others

  • Screen lock with PIN code
  • Share extension on Android (not yet on iOS)
  • No Siri extension for iOS
  • No Integrations / Widgets / Matrix apps
  • No message search
  • No presence

UI

  • Dark and Light mode.

manuroe avatar Jul 19 '23 08:07 manuroe

@manuroe Can you add support for multiple accounts to the list as currently unsupported feature?

claell avatar Sep 02 '23 22:09 claell

@manuroe Can you add support for multiple accounts to the list as currently unsupported feature?

Good point. I added it.

manuroe avatar Sep 04 '23 09:09 manuroe

Is "Element X missing from the share dialog of other apps (at least on Android)" already mentioned, please?

kubo6472 avatar Sep 04 '23 19:09 kubo6472

Is "Element X missing from the share dialog of other apps (at least on Android)" already mentioned, please?

missing from iOS as well as well as Shortcuts support

ofifoto avatar Sep 04 '23 20:09 ofifoto

Is "Element X missing from the share dialog of other apps (at least on Android)" already mentioned, please?

EX apps do not have the share from other apps capability. I added it to the list. Thanks for the report

manuroe avatar Sep 06 '23 11:09 manuroe

EX apps do not have the share from other apps capability. I added it to the list. Thanks for the report

Thanks! Can we include Shortcuts support along with that? I'm not sure it comes automatically... It was previously working in the old iOS app, before both were both were removed within the last month due to the encrypted rooms thing

ofifoto avatar Sep 06 '23 18:09 ofifoto

It would be good to have either individual issues for these features or have announcement posts on this issue (not just edits to the top level comment). That way we have a place to subscribe for key features we desire

LecrisUT avatar Sep 12 '23 06:09 LecrisUT

is a element-x client for desktop and/or web planned?

Pheromon avatar Sep 22 '23 10:09 Pheromon

Is OLM be replaced with MLS in future (or the implementation openMLS)? https://arewemlsyet.com/

i believe to use standarized E2EE make Element ready for the feature too

genofire avatar Sep 24 '23 21:09 genofire

Would it be possible to separate each category into "Implemented", and "Not implemented"? It removes the intereperetation of the wording from the post.

K4LCIFER avatar Sep 26 '23 22:09 K4LCIFER

Is sending voice messages planned in the near future?

Also, I think this is outdated: "No setting for notifications on room- or app-level"

timokoesters avatar Oct 06 '23 06:10 timokoesters

Is sending voice messages planned in the near future?

Voice messages are currently being worked on: #2057

is a element-x client for desktop and/or web planned?

Element web/desktop is receiving the Element X updates, but will not have a rewrite from scratch. Updates include sharing major components with the mobile apps, such as the encryption library, and new designs. They are landing with every release so you should be seeing improvements regularly.

It would be good to have either individual issues for these features or have announcement posts on this issue (not just edits to the top level comment). That way we have a place to subscribe for key features we desire

You will find Epics, which are broken down into stories in this (element-meta) repository for all features. They are filed as we go along so please keep checking back. We are not filing all work too far ahead of time (e.g. we haven't filed issues for next year's work yet) so that we don't clog up our backlog and can keep it relevant.

kittykat avatar Oct 10 '23 09:10 kittykat

Any updated timeline on SSO implementation?

I would love to test elementX on iOS, but my server uses Authentik for user management not login and password.

Thanks

Roomba5 avatar Oct 10 '23 12:10 Roomba5

Is OLM be replaced with MLS in future (or the implementation openMLS)? https://arewemlsyet.com/

i believe to use standarized E2EE make Element ready for the feature too

We are looking into integrating MLS into Matrix, but we are undecided whether MLS will completely replace Olm/Megolm, or whether both will be supported at the same time.

uhoreg avatar Oct 10 '23 12:10 uhoreg

Would it be possible to separate each category into "Implemented", and "Not implemented"? It removes the intereperetation of the wording from the post.

Better: Have a checklist. It's not hard and makes it additionally very easy to mark things as done.

Additionally, can the corresponding existing issues for features be linked (if they exist)?

@manuroe

claell avatar Nov 10 '23 09:11 claell

Any updated timeline on SSO implementation?

I would love to test elementX on iOS, but my server uses Authentik for user management not login and password.

Thanks

Im in the same boat, OIDC with Keycloak. Any update on OIDC support? Is there an issue or PR I can track?

SNThrailkill avatar Nov 27 '23 15:11 SNThrailkill

Is there a plan to be able to join public rooms from element x? if i wanted to join #emacs:matrix.org for example. I was unable to find this when searching for issues.

viviicat avatar Dec 13 '23 14:12 viviicat

Any updated timeline on SSO implementation? I would love to test elementX on iOS, but my server uses Authentik for user management not login and password. Thanks

Im in the same boat, OIDC with Keycloak. Any update on OIDC support? Is there an issue or PR I can track?

@SNThrailkill Already implemented, you need to put MAS in between. Keycloak works as the upstream OIDC for MAS, you need to make an initial sync with Syn2MAS. Did that around 3 weeks ago on my server, works pretty good.

So migrating a homeserver which currently uses OIDC directly via keycloak needs:

  • Put Sliding Sync Proxy (Syncv3) in front
  • Install and configure MAS, using your Keycloak as upstream OIDC
  • Sync your users via Syn2MAS

MAS can be tricky, I'd recommend taking a VM snapshot before doing the user sync ;-)

You can then use Element-X along the old Element clients. I need to keep the old Element on my devices to have features which are currently not supported by EX like direct voice/video calls.

jacotec avatar Dec 14 '23 08:12 jacotec

@jacotec I had no idea this was a piece of Matrix 2.0. Thank you so much, I'll set this up and start filing reports!

SNThrailkill avatar Dec 15 '23 19:12 SNThrailkill

I'd like to request the reintroduction of the image size adjustment feature when sending images via the 'Element X' Messenger App. This functionality was available in the older 'Element' App and would greatly enhance user experience. Thank you for considering this enhancement!

beposec avatar Dec 18 '23 20:12 beposec

Why are favorites and Spaces not part of the feature-list/timeline. It's basically impossible to keep chats usefully organized in the current state, which makes it borderline unusable.

skug67 avatar Dec 25 '23 16:12 skug67

Why are favorites and Spaces not part of the feature-list/timeline. It's basically impossible to keep chats usefully organized in the current state, which makes it borderline unusable.

Both of those are in this issue.

cyrneko avatar Jan 05 '24 08:01 cyrneko

Are there corresponding issues for each bullet point in this list?

ericjmorey avatar Jan 27 '24 17:01 ericjmorey

Feature request:

I would be great to have function to overrule the "Display Name" like an alias only on client side, in my local view inside the app.

Why? You do it since years if you saving phone numbers into your phone. You can set for the name for the number and see in calls or SMS the display name as you wish.

For our little kids (They should get to know a sensible messenger right from the beginning ;-) ) it's better if they have the "alias" like mom or dad instead our real Display Names.

Changing the room name is not an option, because the change is for both sides and by two kids i would have than two "dad" rooms for personal chats. That would only confuse.

I hope that this request will be approved and implemented.

If the post here is wrong, please let me know, I'll be happy to put it in the right place again.

freli83 avatar Jan 31 '24 09:01 freli83

This is not the right place to request features. Please request features by opening issues for the features requested (but first make sure there isn't already an issue open for those feature).

uhoreg avatar Jan 31 '24 14:01 uhoreg

@freli83 - this is the issue you're looking for: matrix-org/matrix-spec#188

nidico avatar Jan 31 '24 15:01 nidico

Important feature for me that the old apps have, but Element X doesn't and that's not in the list yet:

Low priority rooms.

Only with them you can be in many rooms passively, without them popping up your normal room list constantly Maybe something like "archived rooms" (Telegram does this) is even better. (The is not a new-feature request but rather a keep-existing-feature-request :)

TheJJ avatar Apr 10 '24 19:04 TheJJ

The matrix.org homeserver is SS ready but not OIDC ready yet.

When do you planning to release OIDC authentication?

ZelChief avatar Jul 01 '24 15:07 ZelChief

@ZelChief on your own homeserver you could use the matrix-authentication-service.

on the homeserver matrix.org there is no OIDC needed.

genofire avatar Jul 03 '24 08:07 genofire

Feature request: URL previews in encrypted rooms in element-x mobile apps as per https://github.com/element-hq/element-android/issues/2555#issuecomment-1072991844

jessebot avatar Jul 16 '24 20:07 jessebot