Element X is the future Element. It is the brand new, and fastest ever, Matrix client. It is for personal and community use, and will support enterprise functionality later this year. A complete new build, Element X transforms performance. It's not just the fastest Matrix client, it's also fresher and more reliable. This app is currently in a pre-alpha release stage with only basic functionalities.
The application is a total rewrite of Element-Android and Element-iOS using the Matrix Rust SDK underneath and targeting devices running Android 6+ and iOS 16+ respectively. The UI layer is written using Jetpack Compose, and the navigation is managed using Appyx.
Element X leverages the Matrix Rust SDK through an FFI layer that the final client can directly import and use. We're doing this as a way to share code between platforms and while we've seen promising results it's still in the experimental stage and bound to change.
What's New
Features
- [Rich text editor] Add full screen mode (#1447)
 - Improve rendering of m.emote. (#1497)
 - Improve deleted session behavior. (#1520)
 
Bugfixes
- WebP images can't be sent as media. (#1483)
 - Fix back button not working in bottom sheets. (#1517)
 - Render body of unknown msgtype in the timeline and in the room list (#1539)
 
Other changes
- Room : makes subscribeToSync/unsubscribeFromSync suspendable. (#1457)
 - Add some Konsist tests. (#1526)
 
What's Changed
- Update _developer_onboarding.md by @ganfra in #1439
 - Improve developer build instructions by @kegsay in #1440
 - Update dependency io.sentry:sentry-android to v6.30.0 by @renovate in #1444
 - Ensure http url entered by the user are provided to the SDK without being altered by @bmarty in #1443
 - Update dependency androidx.compose.material3:material3 to v1.2.0-alpha08 by @renovate in #1389
 - Update dependency androidx.compose:compose-bom to v2023.09.02 by @renovate in #1441
 - Update dependency com.autonomousapps.dependency-analysis to v1.23.1 by @renovate in #1459
 - Update android.gradle.plugin to v8.1.2 by @renovate in #1458
 - String duplicate by @bmarty in #1454
 - Room : makes subscribeToSync/unsubscribeFromSync suspendable by @ganfra in #1457
 - [Rich text editor] Add full screen mode by @jonnyandrew in #1447
 - Display poll notifications in the notification drawer by @julioromano in #1467
 - Fix composer options bottom sheet position by @jonnyandrew in #1469
 - Update dependency com.autonomousapps.dependency-analysis to v1.24.0 by @renovate in #1473
 - Sync Strings by @ElementBot in #1475
 - Update gradle/gradle-build-action action to v2.9.0 by @renovate in #1470
 - Improve code coverage by @bmarty in #1465
 - Store images and app icon by @bmarty in #1435
 - Element call url param by @bmarty in #1477
 - Maestro test: change server (again) to test server which does not support sliding sync by @bmarty in #1479
 - Fix template by @bmarty in #1478
 - Update dagger to v2.48.1 by @renovate in #1485
 - Add docs for debug mitm proxying. by @julioromano in #1490
 - Update dependency org.matrix.rustcomponents:sdk-android to v0.1.59 by @renovate in #1486
 - Small cleanup by @bmarty in #1487
 - Update activity to v1.8.0 by @renovate in #1494
 - Update dependency androidx.compose.material3:material3 to v1.2.0-alpha09 by @renovate in #1493
 - Update dependency androidx.compose:compose-bom to v2023.10.00 by @renovate in #1495
 - Render emote by @bmarty in #1498
 - Update dependency gradle to v8.4 by @renovate in #1496
 - Update wysiwyg to v2.14.1 by @renovate in #1491
 - Fix: WebP images can't be sent as media. by @jmartinesp in #1501
 - Improve coverage in permalinks package by @jmartinesp in #1502
 - Update rnkdsh/action-upload-diawi action to v1.5.3 by @renovate in #1505
 - Update appyx to v1.4.0 by @renovate in #1482
 - Add feature flag for voice messages by @jonnyandrew in #1507
 - Add more tests, particularly to the room list diffing by @jmartinesp in #1508
 - Switch off enableOnBackInvokedCallback due to androidx bug (#1517) by @julioromano in #1517
 - Update dependency com.autonomousapps.dependency-analysis to v1.25.0 by @renovate in #1513
 - Sync Strings by @ElementBot in #1515
 - Update mobile-dev-inc/action-maestro-cloud action to v1.6.0 by @renovate in #1512
 - Optimize use of blurhash algo in bloom modifier by @julioromano in #1509
 - Refactor composer UI components to separate files by @jonnyandrew in #1506
 - Cleanup dependencies by @bmarty in #1524
 - Update dependency org.matrix.rustcomponents:sdk-android to v0.1.60 by @renovate in #1528
 - Update plugin ktlint to v11.6.1 by @renovate in #1527
 - Konsist by @bmarty in #1526
 - Improve session db and improve deleted session behavior by @bmarty in #1520
 - Update dependency org.matrix.rustcomponents:sdk-android to v0.1.61 by @renovate in #1550
 - Render unknown msgtype by @bmarty in #1549
 
