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