Releases: element-hq/element-x-android
Releases · element-hq/element-x-android
Element X Android v0.4.7
Changes in Element X v0.4.7 (2024-03-26)
Features ✨
- Enable the feature "RoomList filters". (#2603)
- Enable the feature "Mark as unread" (#2261)
- Implement MSC2530 (Body field as media caption) (#2521)
Bugfixes 🐛
- Use user avatar from cache if available. (#2488)
- Update member list after changing member roles and when the room member list is opened. (#2590)
Other changes
- Compound: add
BigIcon
,BigCheckmark
andPageTitle
components. (#2574) - Remove Welcome screen from the FTUE. (#2584)
What's Changed
- Test and verify coverage only on debug variant by @jmartinesp in #2556
- Move
Konsist
tests to quality checks by @jmartinesp in #2558 - Add analytic events to room moderation by @jmartinesp in #2553
- Sync Strings by @ElementBot in #2561
- Update plugin dependencycheck to v9.0.10 by @renovate in #2560
- Enable the feature "Mark as unread". by @bmarty in #2559
- Remove 'clear cache' CI flow by @jmartinesp in #2563
- Remove unnecessary
Room.updateMembers()
calls. by @jmartinesp in #2564 - Read user avatar from cache by @bmarty in #2565
- Add
isInDebug
variable to simulate debug/release configs for tests by @jmartinesp in #2566 - Update dependency org.matrix.rustcomponents:sdk-android to v0.2.10 by @renovate in #2571
- Implement MSC2530: render caption for image and video if available and add white backround to images in timeline. by @jmartinesp in #2570
- Update kotlin by @renovate in #2464
- Update dependency androidx.compose:compose-bom to v2024.03.00 by @renovate in #2575
- Update android.gradle.plugin to v8.3.1 by @renovate in #2471
- Compound: add
BigIcon
,BigCheckmark
andPageTitle
components by @jmartinesp in #2574 - Update wysiwyg to v2.34.0 by @renovate in #2576
- Fix Poll history 'Load more' button alignment by @jmartinesp in #2577
- Update dependency org.matrix.rustcomponents:sdk-android to v0.2.11 by @renovate in #2586
- Update dependency com.vanniktech:blurhash to v0.3.0 by @renovate in #2587
- Replace leftover hardcoded string with the right text by @jmartinesp in #2592
- Sync Strings by @ElementBot in #2598
- Update plugin detekt to v1.23.6 by @renovate in #2599
- Remove Welcome screen from the FTUE by @jmartinesp in #2588
- Update dependency com.google.firebase:firebase-bom to v32.8.0 by @renovate in #2589
- Update dependency com.squareup.retrofit2:retrofit to v2.10.0 by @renovate in #2567
- Update telephoto to v0.9.0 by @renovate in #2604
- Update member list after changing member roles by @jmartinesp in #2591
- RoomList filters : enable the feature for production build by @ganfra in #2605
- Update dependency org.matrix.rustcomponents:sdk-android to v0.2.12 by @renovate in #2607
Full Changelog: v0.4.6...v0.4.7
Element X Android v0.4.6
Changes in Element X v0.4.6 (2024-03-15)
Features ✨
- Admins can now change user roles in rooms. (#2257)
- Room member moderation: remove, ban and unban users from a room. (#2258)
- Change a room's permissions power levels. (#2259)
- Add state timeline events and notifications for legacy call invites. (#2485)
Bugfixes 🐛
- Added empty state to banned member list. (#+add-empty-state-to-banned-members-list)
- Prevent sending empty messages. (#995)
- Use the display name only once in display name change events. The user should be referenced by
userId
instead. (#2125) - Hide blocked users list when there are no blocked users. (#2198)
- Fix timeline not showing sender info when room is marked as direct but not a 1:1 room. (#2530)
Other changes
- Add
local_time
,utc_time
andsdk_sha
params to bug reports so they're easier to investigate. (#+add-time-and-sdk-sha-params-to-bugreports) - Improve room member list loading times, increase chunk size (#2322)
- Improve room member list loading UX. (#2452)
- Remove the special log level for the Rust SDK read receipts. (#2511)
- Track UTD errors. (#2544)
What's Changed
- Sync Strings by @ElementBot in #2455
- Update dependency com.posthog:posthog-android to v3.1.11 by @renovate in #2450
- Update dependency app.cash.molecule:molecule-runtime to v1.4.0 by @renovate in #2453
- Update firebaseAppDistribution to v4.2.0 by @renovate in #2457
- Add French and German screenshots by @bmarty in #2449
- Fix localazy sync by @bmarty in #2466
- Sync Strings by @ElementBot in #2468
- Update dependency com.posthog:posthog-android to v3.1.12 by @renovate in #2470
- Update dependency com.google.truth:truth to v1.4.2 by @renovate in #2472
- Element X Android gallery by @bmarty in #2479
- Update dependency io.sentry:sentry-android to v7.5.0 by @renovate in #2477
- Feature/bma/fix layout room empty by @bmarty in #2481
- Update dependency io.mockk:mockk to v1.13.10 by @renovate in #2456
- Update dependency com.posthog:posthog-android to v3.1.13 by @renovate in #2475
- Update dependency org.matrix.rustcomponents:sdk-android to v0.2.6 by @renovate in #2482
- Sync Strings by @ElementBot in #2484
- Faster member list by avoiding many FFI calls by @timokoesters in #2322
- Add extra params to bug reports by @jmartinesp in #2490
- Room admins can change user roles by @jmartinesp in #2423
- Add room moderation feature flag by @jmartinesp in #2495
- Update wysiwyg to v2.30.0 by @renovate in #2493
- Room member moderation: kick, ban and unban by @jmartinesp in #2496
- Fix crash when leaving room using
LeaveRoomPresenter
by @jmartinesp in #2498 - Update dependency app.cash.turbine:turbine to v1.1.0 by @renovate in #2497
- Update dependency androidx.compose:compose-bom to v2024.02.02 by @renovate in #2500
- Update plugin paparazzi to v1.3.3 by @renovate in #2476
- Add clear gradle cache flow by @jmartinesp in #2473
- Check invalid screenshots by @bmarty in #2483
- Update dependency androidx.browser:browser to v1.8.0 by @renovate in #2502
- Update dependency com.posthog:posthog-android to v3.1.14 by @renovate in #2489
- Update dependency app.cash.molecule:molecule-runtime to v1.4.1 by @renovate in #2460
- Update dependency androidx.compose.material3:material3 to v1.2.1 by @renovate in #2499
- Update dependency com.google.firebase:firebase-bom to v32.7.3 by @renovate in #2458
- Update media3 to v1.3.0 by @renovate in #2503
- Generate world screenshots and publish them as GitHub pages. by @bmarty in #2507
- Hide blocked users list when there are no blocked users by @jmartinesp in #2504
- Fix double back navigation in roles and permissions screen by @jmartinesp in #2506
- Update dependency io.nlopez.compose.rules:detekt to v0.3.12 by @renovate in #2510
- Update dependency com.google.firebase:firebase-bom to v32.7.4 by @renovate in #2508
- Fix GitHub page rendering by @bmarty in #2512
- Use nschloe/action-cached-lfs-checkout to retrieve LFS content. by @bmarty in #2514
- Update dependency io.sentry:sentry-android to v7.6.0 by @renovate in #2513
- Update dependency com.posthog:posthog-android to v3.1.15 by @renovate in #2516
- Sync Strings by @ElementBot in #2523
- Disable trace logs for read receipts by @bnjbvr in #2511
- Update wysiwyg to v2.31.0 by @renovate in #2517
- Update dependency org.matrix.rustcomponents:sdk-android to v0.2.7 by @renovate in #2526
- Add UI test on room members moderation view by @bmarty in #2524
- Test poll history view by @bmarty in #2518
- Update wysiwyg to v2.32.0 by @renovate in #2531
- Prevent sending empty messages by @jmartinesp in #2527
- Change a room's permissions power levels by @jmartinesp in #2525
- Sync Strings by @ElementBot in #2533
- Fix layout poll by @bmarty in #2532
- Fix string import by @bmarty in #2534
- Rename localazy keys by @bmarty in #2540
- Update dependency org.matrix.rustcomponents:sdk-android to v0.2.8 by @renovate in #2538
- Bugfix : fix timeline not showing sender info by @ganfra in #2537
- Added empty state to banned member list by @jmartinesp in #2541
- Feature/fga/room list filter iteration by @ganfra in #2536
- Update wysiwyg to v2.33.0 by @renovate in #2539
- Improve room member list loading UX by @jmartinesp in #2543
- Improve GitHub pages by @bmarty in #2546
- Clear and generate new cache only when merging to
develop
by @jmartinesp in #2549 - Use
userId
on display name change state events by @jmartinesp in #2545 - Add SDK git SHA to user agent by @jmartinesp in https://github.com/element-hq/el...
Element X Android v0.4.5
Changes in Element X v0.4.5 (2024-02-28)
Features ✨
- Mark a room or dm as favourite. (#2208)
- Add moderation to rooms:
- Sort member in room member list by powerlevel, display their roles.
- Display banner users in room member list for users with enough power level to ban/unban. (#2256)
- MediaViewer : introduce fullscreen and flick to dismiss behavior. (#2390)
- Allow user-installed certificates to be used by the HTTP client (#2992)
Bugfixes 🐛
- Do not display empty room list state before the loading one when we still don't have any items (#+do-not-display-empty-state-before-loading-roomlist)
- Improve how Talkback works with the timeline. Sadly, it's still not 100% working, but there is some issue with the
LazyColumn
usingreverseLayout
that only Google can fix. (#+improve-accessibility-in-timeline) - Add ability to enter a recovery key to verify the session. Also fixes some refresh issues with the verification session state. (#2421)
Other changes
- Provide the current system proxy setting to the Rust SDK. (#2420)
What's Changed
- Update dependencyAnalysis to v1.30.0 by @renovate in #2394
- Update rnkdsh/action-upload-diawi action to v1.5.5 by @renovate in #2399
- Feature/fga/mark room as favorite by @ganfra in #2397
- Update kotlin to v1.8.0 by @renovate in #2401
- Update mobile-dev-inc/action-maestro-cloud action to v1.8.1 by @renovate in #2403
- Update dependency com.google.truth:truth to v1.4.1 by @renovate in #2406
- Improve how Talkback works with the timeline by @jmartinesp in #2404
- Update dependency me.saket.telephoto:zoomable-image-coil to v0.8.0 by @renovate in #2409
- RoomList : rework how search is done to prepare for later filtering by @ganfra in #2405
- Sort the room member list and display member roles by @jmartinesp in #2412
- Add more unit tests by @bmarty in #2413
- Update dependency com.posthog:posthog-android to v3.1.8 by @renovate in #2411
- Update kotlin by @renovate in #2407
- Update dependency org.matrix.rustcomponents:sdk-android to v0.2.3 by @renovate in #2417
- Display banned users in room member list by @jmartinesp in #2415
- Analytics : add analytics on read status and favorite toggles by @ganfra in #2416
- Do not display empty room list state before the loading one by @jmartinesp in #2402
- RoomList : allow to show empty state and invites. by @ganfra in #2426
- Update dependency io.sentry:sentry-android to v7.4.0 by @renovate in #2425
- Update dependency androidx.compose.compiler:compiler to v1.5.10 by @renovate in #2427
- Last session recovery by @bmarty in #2421
- Add the user certificates as additional certificates to the ClientBuilder by @poljar in #2392
- Pass user certificates to the Rust SDK by @bmarty in #2430
- Test direct logout dialog and RoomDetailsView by @bmarty in #2433
- Update dependency com.posthog:posthog-android to v3.1.9 by @renovate in #2431
- Update dependency androidx.compose:compose-bom to v2024.02.01 by @renovate in #2428
- Update dependency org.matrix.rustcomponents:sdk-android to v0.2.4 by @renovate in #2432
- Test recovery key by @bmarty in #2429
- [Feature] Room list filters by @ganfra in #2422
- Sync Localazy strings. by @bmarty in #2436
- [Improvement] MediaViewer/Attachment experience by @ganfra in #2438
- Provide global proxy to the SDK by @bmarty in #2435
- Update coil to v2.6.0 by @renovate in #2440
- Show blocked users list by @jmartinesp in #2437
- Sync Strings by @ElementBot in #2446
- Improve Localazy post processing by @bmarty in #2447
- Bump CI max JVM heap size and CPU usage by @jmartinesp in #2444
- Add test on MediaViewerView and other missing unit tests. by @bmarty in #2448
- Update dagger to v2.51 by @renovate in #2452
- [Improvements] Room list filters by @ganfra in #2451
Full Changelog: v0.4.4...v0.4.5
Element X Android v0.4.4
Bugfixes 🐛
- Fix decryption of previous messages after session verification not working.
What's Changed
Full Changelog: v0.4.3...v0.4.4
Element X Android v0.4.3
- Change "Read receipts" advanced setting used to send private Read Receipt to "Share presence" settings. When disabled, private Read Receipts will be sent, and no typing notification will be sent. Also Read Receipts and typing notifications will not be rendered in the timeline. (#2241)
- Render typing notifications. (#2242)
- Manually mark a room as unread. (#2261)
- Fix message forwarding after SDK API change related to Timeline intitialization.
- Remove Compose Foundation version pinning workaround. This was done to avoid a bug introduced in the default foundation version used by the material3 library, but that has already been fixed.
- Remove
FilterHiddenStateEventsProcessor
, as this is already handled by the Rust SDK. - Remove session preferences on user log out.
Breaking changes 🚨
- Update Compound icons in the project. Since the icon prefix changed to
ic_compound_
and theCompoundIcons
helper now contains the vector icons as composable functions.
What's Changed
- Add missing device id to settings screen by @jmartinesp in #2320
- Iterate on the release script and workflow by @bmarty in #2324
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.96 by @renovate in #2323
- Update accompanist to v0.34.0 by @renovate in #2289
- Update dependency androidx.compose.material3:material3 to v1.2.0-rc01 by @renovate in #2284
- Update peter-evans/create-pull-request action to v6 by @renovate in #2327
- Update dependency io.sentry:sentry-android to v7.3.0 by @renovate in #2317
- Update plugin paparazzi to v1.3.2 by @renovate in #2229
- Update plugin detekt to v1.23.5 by @renovate in #2325
- Try fixing contributor PR notice by @jmartinesp in #2335
- Update codecov/codecov-action action to v4 by @renovate in #2331
- Remove Compose Foundation version pinning workaround by @jmartinesp in #2332
- Do not crash on UP unregistered by @SpiritCroc in #2334
- Update gradle/gradle-build-action action to v3 by @renovate in #2326
- Sync Strings by @ElementBot in #2328
- Use
MatrixRoom.isEncrypted
value to set encryption mode in room calls by @jmartinesp in #2333 - Update plugin sonarqube to v4.4.1.3373 by @renovate in #2336
- Aligned CTA button on login flow by @surakin in #2212
- Update wysiwyg to v2.27.0 by @renovate in #2339
- Remove session preferences on logout. by @jmartinesp in #2303
- Add an empty state to the room list by @jmartinesp in #2342
- Sync Strings by @ElementBot in #2345
- Update dependency com.google.truth:truth to v1.4.0 by @renovate in #2344
- Change link to Element Android room to Element X Android room. by @bmarty in #2348
- Upgrade gradle wrapper to 8.6 using command line by @bmarty in #2347
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.97 by @renovate in #2351
- Improve send problem ux by @bmarty in #2350
- Fix message forwarding after SDK API change by @jmartinesp in #2341
- Do not use a key for the LazyColumn. by @bmarty in #2353
- "Share presence" setting by @bmarty in #2349
- Test timeline view by @bmarty in #2355
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.98 by @renovate in #2359
- Fix some todo by @bmarty in #2360
- Update dependency io.element.android:compound-android to v0.0.4 by @renovate in #2358
- Enable trace logging for the Olm Account by @poljar in #2357
- Update dependency androidx.compose.compiler:compiler to v1.5.9 by @renovate in #2363
- Move migration screen to within the room list by @jmartinesp in #2361
- Remove
FilterHiddenStateEventsProcessor
by @jmartinesp in #2368 - Add Unit tests on MessagesView by @bmarty in #2365
- Update wysiwyg to v2.28.0 by @renovate in #2367
- Remove modifier parameter in private methods by @bmarty in #2366
- Update dependency androidx.compose:compose-bom to v2024.02.00 by @renovate in #2364
- Update dependency com.posthog:posthog-android to v3.1.6 by @renovate in #2338
- Mark room as unread by @bmarty in #2354
- Fix test compilation after change on other PR getting merged. by @bmarty in #2373
- Update dependency com.google.firebase:firebase-bom to v32.7.2 by @renovate in #2370
- Update dependency com.google.gms:google-services to v4.4.1 by @renovate in #2371
- Update dependency com.google.firebase:firebase-appdistribution-gradle to v4.1.0 by @renovate in #2372
- Update dependency androidx.compose.material3:material3 to v1.2.0 by @renovate in #2362
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.99 by @renovate in #2369
- Typing notification rendering by @bmarty in #2374
- Update wysiwyg to v2.29.0 by @renovate in #2375
- Sync Strings by @ElementBot in #2377
- More test on MessagesView, and harmonize preview on Dialogs by @bmarty in #2376
- Open the keyboard (and keep it opened) when creating a poll. by @bmarty in #2381
- Update Compound to v0.0.5 and update icons by @jmartinesp in #2380
- Fix Maestro test. by @bmarty in #2385
- Update dependency org.matrix.rustcomponents:sdk-android to v0.2.0 by @renovate in #2382
- Reply on redacted and UTD rendering by @bmarty in #2384
- Improve typing notification animations by @jmartinesp in #2386
- Update dependency org.matrix.rustcomponents:sdk-android to v0.2.1 by @renovate in #2389
- Update dependency com.posthog:posthog-android to v3.1.7 by @renovate in #2391
New Contributors
- @SpiritCroc made their first contribution in #2334
- @poljar made their first contribution in #2357
Full Changelog: v0.4.2...v0.4.3
Element X Android v0.4.2
Changes in Element X v0.4.2 (2024-01-31)
Matrix SDK 🦀 v0.1.95
Features ✨
- Add 'send private read receipts' option in advanced settings (#2204)
- Send typing notification (#2240). Disabling the sending of typing notification and rendering typing notification will come soon.
Bugfixes 🐛
- Make the room settings screen update automatically when new room info (name, avatar, topic) is available. (#921)
- Update timeline items' read receipts when the room members info is loaded. (#2176)
- Edited text message bubbles should resize when edited (#2260)
- Ensure login and password exclude
\n
(#2263) - Room list Ensure the indicators stay grey if the global setting is set to mention only and a regular message is received. (#2282)
Other changes
- Add a special logging configuration for nightlies so we can get more detailed info for existing issues. (#+add-special-tracing-configuration-for-nightlies)
- Try mitigating unexpected logouts by making getting/storing session data use a Mutex for synchronization.
Also added some more logs so we can understand exactly where it's failing. (#+try-mitigating-unexpected-logouts) - Upgrade Material3 Compose to
1.2.0-beta02
.
There is also a constraint on a transitive Compose Foundation dependency version (1.6.0-beta02) that fixes the timeline scrolling issue. (#0-beta02) - Disambiguate display name in the timeline. (#2215)
- Disambiguate display name in notifications (#2224)
- Remove room creation, self-join of room creator and 'this is the beginning of X' timeline items for DMs. (#2217)
- Encrypt databases used by the Rust SDK on Nightly and Debug builds. (#2219)
- Fallback to UnifiedPush (if available) if the PlayServices are not installed on the device. (#2248)
- Add "Report a problem" button to the onboarding screen (#2275)
- Add in app logs viewer to the "Report a problem" screen. (#2276)
What's Changed
- Feature/bma/fdroid by @bmarty in #2213
- Update dependency com.posthog:posthog-android to v3.1.3 by @renovate in #2245
- Update dependency com.google.testparameterinjector:test-parameter-injector to v1.15 by @renovate in #2246
- Update plugin dependencycheck to v9.0.9 by @renovate in #2243
- Upgrade Material3 Compose to
1.2.0-beta02
by @jmartinesp in #2247 - Ensure that a PushProvider is available on a device before using it. by @bmarty in #2248
- Try mitigating unexpected logouts by @jmartinesp in #2251
- Update dependency com.squareup:kotlinpoet to v1.16.0 by @renovate in #2253
- Update dependencyAnalysis to v1.29.0 by @renovate in #2249
- Update dependency com.google.firebase:firebase-bom to v32.7.1 by @renovate in #2254
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.84 by @renovate in #2255
- Make the room settings screen update automatically by @jmartinesp in #2197
- Remove some state events at the start of DMs by @jmartinesp in #2252
- Encrypted db by @bmarty in #2244
- Display name disambiguation by @bmarty in #2221
- Update kotlin by @renovate in #1867
- Update dependency com.google.truth:truth to v1.3.0 by @renovate in #2266
- Sync Strings by @ElementBot in #2271
- Fix nightly build in CI by @jmartinesp in #2269
- Some rework on the codebase by @bmarty in #2130
- Room list room summary cleanup by @bmarty in #2273
- Update dependency com.posthog:posthog-android to v3.1.4 by @renovate in #2262
- Edited text message bubbles should resize when edited by @jmartinesp in #2272
- Iterate on notification count by @bmarty in #2265
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.92 by @renovate in #2277
- Add a report problem text button to the OnBoarding screen. by @bmarty in #2278
- Return cached room members before fetching new ones, do it in batches by @jmartinesp in #2274
- Update dependency io.nlopez.compose.rules:detekt to v0.3.10 by @renovate in #2264
- Update timeline items read receipts when the room members are loaded by @jmartinesp in #2194
- Update android.gradle.plugin to v8.2.2 by @renovate in #2280
- Update dependency com.posthog:posthog-android to v3.1.5 by @renovate in #2285
- Update gradle/gradle-build-action action to v2.12.0 by @renovate in #2288
- View Folders and logs by @bmarty in #2283
- Update dependency androidx.compose:compose-bom to v2024 by @renovate in #2287
- Git sha and branch in log by @bmarty in #2292
- Disambiguate display name in notifications #2224 by @bmarty in #2295
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.94 by @renovate in #2296
- Add a special tracing configuration for nightlies by @jmartinesp in #2297
- Add 'send private read receipts' option in advanced settings by @jmartinesp in #2290
- Update dependency androidx.webkit:webkit to v1.10.0 by @renovate in #2286
- Ensure login and password exclude
\n
by @bmarty in #2294 - FileViewer: fix coloration issue for logs files. by @bmarty in #2299
- Send typing notification by @bmarty in #2302
- Sync Strings by @ElementBot in #2309
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.95 by @renovate in #2301
- Update gradle/wrapper-validation-action action to v2 by @renovate in #2315
- Update dependency io.nlopez.compose.rules:detekt to v0.3.11 by @renovate in #2300
- Iterate on notification badges by @bmarty in #2293
- Cleanup and ensure that canUserJoinCall is live. by @bmarty in #2313
- Fix crash about several DataStores using the same file by @jmartinesp in #2312
- Make the whole items in advanced settings screen clickable, standarize paddings by @jmartinesp in #2314
Full Changelog: v0.4.1...v0.4.2
Element X Android v0.4.1
Changes in Element X v0.4.1 (2024-01-17)
Features ✨
- Render m.sticker events (#1949)
- Add support for sending images from the keyboard (#1977)
- Added support for MSC4027 (render custom images in reactions) (#2159)
Bugfixes 🐛
- Fix crash sending image with latest Posthog because of an usage of an internal Android method. (#+crash-sending-image-with-latest-posthog)
- Make sure the media viewer tries the main url first (if not empty) then the thumbnail url and then not open if both are missing instead of failing with an error dialog (#1949)
- Fix room transition animation happens twice. (#2084)
- Disable ability to send reaction if the user does not have the permission to. (#2093)
- Trim whitespace at the end of messages to ensure we render the right content. (#2099)
- Fix crashes in room list when the last message for a room was an extremely long one (several thousands of characters) with no line breaks. (#2105)
- Disable rasterisation of Vector XMLs, which was causing crashes on API 23. (#2124)
- Use
SubomposeLayout
forContentAvoidingLayout
to prevent wrong measurements in the layout process, leading to cut-off text messages in the timeline. (#2155) - Improve rendering of voice messages in the timeline in large displays (#2156)
- Fix no indication that user list is loading when inviting to room. (#2172)
- Hide keyboard when tapping on a message in the timeline. (#2182)
- Mention selector gets stuck when quickly deleting the prompt. (#2192)
- Hide verbose state events from the timeline (#2216)
Other changes
- Only apply
com.autonomousapps.dependency-analysis
plugin in those modules that need it. (#+only-apply-dependency-analysis-plugin-where-needed) - Migrate to Kover 0.7.X (#1782)
- Remove extra logout screen. (#2072)
- Handle
MembershipChange.NONE
rendering in the timeline. (#2102) - Remove extra previews for timestamp view with 'document' case (#2127)
- Bump AGP version to 8.2.0 (#2142)
- Replace 'leave room' text with 'leave conversation' for DMs. (#2218)
What's Changed
- Fix release script by @jmartinesp in #2108
- Attempt to fix test on CI (again) by @jmartinesp in #2107
- Add warning about updating
com.autonomousapps.dependency-analysis
by @jmartinesp in #2096 - Sync Strings by @ElementBot in #2103
- Update screenshots by @bmarty in #2114
- Reactions power level by @bmarty in #2115
- Direct logout by @bmarty in #2111
- Handle
MembershipChange.NONE
rendering in the timeline #2102 by @bmarty in #2112 - Compose upgrade by @bmarty in #2117
- Add missing test for SecureBackupEnablePresenter by @bmarty in #2120
- Add build script for the RTE library by @jmartinesp in #2119
- Only apply dependencyanalysis plugin to some modules by @jmartinesp in #2118
- Disable vector XML rasterisation on API 23 by @jmartinesp in #2128
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.83 by @renovate in #2094
- Update dagger to v2.50 by @renovate in #2069
- Update wysiwyg to v2.23.0 by @renovate in #2121
- Update dependency org.jsoup:jsoup to v1.17.2 by @renovate in #2126
- Fix record screenshots workflow and script for forks by @jmartinesp in #2141
- [Feature] Render m.sticker events by @surakin in #2122
- Fix room transition animation happens twice by @ganfra in #2146
- Revert compose material3 to 1.2.0-alpha11 by @ganfra in #2150
- Restore Github PAT in record screenshots, disable Maestro for forks by @jmartinesp in #2147
- Implement ContentAvoidingLayout for timeline items by @jmartinesp in #2113
- [Technical] Open stickers using the thumbnail url if the main url is empty by @surakin in #2157
- Sync Strings by @ElementBot in #2138
- Update actions/github-script action to v7 by @renovate in #2152
- Update dependency app.cash.molecule:molecule-runtime to v1.3.2 by @renovate in #2149
- Update dependency com.posthog:posthog-android to v3.0.1 by @renovate in #2154
- Upgrade to AGP 8.2.0 by @jmartinesp in #2142
- Update android.gradle.plugin to v8.2.1 by @renovate in #2158
- Remove 'document' case for message with timestamp preview by @jmartinesp in #2164
- Disable forwarding for stickers (until it can be properly fixed) by @surakin in #2162
- Implement MSC4027 (Custom images in reactions) by @surakin in #2160
- Introduce AsyncAction with a Confirmation state and use it for logout action by @bmarty in #2166
- Fix crashes for extremely long messages with no line breaks by @jmartinesp in #2163
- Trim whitespace at the end of messages by @jmartinesp in #2169
- Use
SubcomposeLayout
forContentAvoidingLayout
by @jmartinesp in #2171 - Feature/fga/invite user loader by @ganfra in #2173
- Update wysiwyg to v2.24.0 by @renovate in #2174
- Update plugin dependencycheck to v9.0.8 by @renovate in #2179
- Sync Strings by @ElementBot in #2186
- Update dependency com.freeletics.flowredux:compose to v1.2.1 by @renovate in #2184
- Add support for sending images from the keyboard by @bmarty in #2131
- Update anvil to v2.4.9 by @renovate in #2177
- Update dependency com.posthog:posthog-android to v3.1.0 by @renovate in #2189
- Add first tests on compose click interaction. by @bmarty in #2175
- Do not use sublist as it crashes if
index > items.count()
. by @bmarty in #2191 - Update dependency io.mockk:mockk to v1.13.9 by @renovate in #2185
- Hide keyboard when tapping on a message in the timeline by @jmartinesp in #2187
- Fix mention selector getting stuck when quickly deleting the prompt by @jmartinesp in #2195
- Fix crash when sending image with latest posthog by @jmartinesp in #2196
- Upgrade kover by @bmarty in #1782
- Improve rendering of voice messages in the ...
Element X Android v0.4.0
Changes in Element X v0.4.0 (2023-12-22)
Features ✨
- Use the RTE library
TextView
to render text events in the timeline. Add support for mention pills - with no interaction yet. (#1433) - Tapping on a user mention pill opens their profile. (#1448)
- Display different notifications for mentions. (#1451)
- Reply to a poll (#1848)
- Add plain text representation of messages (#1850)
- Allow polls to be edited when they have not been voted on (#1869)
- Scroll to end of timeline when sending a new message. (#1877)
- Confirm back navigation when editing a poll only if the poll was changed (#1886)
- Add option to delete a poll while editing the poll (#1895)
- Open room member avatar when you click on it inside the member details screen. (#1907)
- Poll history of a room is now accessible from the room details screen. (#2014)
- Always close the invite list screen when there is no more invite. (#2022)
Bugfixes 🐛
- Fix see room in the room list after leaving it. (#1006)
- Adjust mention pills font weight and horizontal padding (#1449)
- Font size in 'All Chats' header was changing mid-animation. (#1572)
- Accessibility: do not read initial used for avatar out loud. (#1864)
- Use the right avatar for DMs in DM rooms (#1912)
- Fix scaling of timeline images: don't crop, don't set min/max aspect ratio values. (#1940)
- Fix rendering of user name with vertical text by clipping the text. (#1950)
- Do not render
roomId
if the room has no canonical alias. (#1970) - Fix avatar not displayed in notification when the app is not in background (#1991)
- Fix wording in room invite members view:
Send
->Invite
. (#2037) - Timestamp positioning was broken, specially for edited messages. (#2060)
- Emojis in custom reaction bottom sheet are too tiny. (#2066)
- Set a default power level to join calls. Also, create new rooms taking this power level into account.
Other changes
- Add a warning for 'mentions and keywords only' notification option if your homeserver does not support it (#1749)
- Remove
:libraries:theme
module, extract theme and tokens to Compound Android. (#1833) - Update poll icons from Compound (#1849)
- Add ability to see the room avatar in the media viewer. (#1918)
- RoomList: introduce incremental loading to improve performances. (#1920)
- Add toggle in the notification settings to disable notifications for room invites. (#1944)
- Update rendering of Emojis displayed during verification. (#1965)
- Hide sender info in direct rooms (#1979)
- Render images in Notification (#1991)
- Only process content.json from Localazy. (#2031)
- Always show user avatar in message action sheet (#2032)
- Hide room list dropdown menu. (#2062)
- Enable Chat backup, Mentions and Read Receipt in release. (#2087)
- Make most code used in Compose from
:libraries:matrix
and derived classes Immutable or Stable.
What's Changed
- Reply to a poll by @julioromano in #1848
- Update poll icons from Compound by @julioromano in #1849
- Run Maestro flow only then
Run-Maestro
label is present in a PR by @jmartinesp in #1852 - Show poll question in timeline replies by @julioromano in #1857
- Content description: add for sending state and fix other issues. by @bmarty in #1845
- Run 'record screenshots' flow if label is present by @jmartinesp in #1860
- Add plain text representation of messages by @jmartinesp in #1850
- RoomList : rework a bit the api and make usage of entriesWithDynamicAdapter by @ganfra in #1865
- Add test for NotifiableEventResolver by @bmarty in #1871
- Add test for TimelineItemContentMessageFactory by @bmarty in #1875
- Update plugin dependencycheck to v9 by @renovate in #1858
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.70 by @renovate in #1861
- Remove lambda default value by @bmarty in #1862
- Add more unit tests by @bmarty in #1878
- Remove unused code to increase code coverage. by @bmarty in #1872
- More preview on TimelineItemEventRow by @bmarty in #1866
- Fix see room in room list after leaving by @ganfra in #1885
- Allow polls to be edited by @jonnyandrew in #1869
- Change wording for view source by @bmarty in #1887
- Update dependency app.cash.molecule:molecule-runtime to v1.3.1 by @renovate in #1889
- Update dependency org.jsoup:jsoup to v1.17.1 by @renovate in #1893
- Extract compound tokens and theming to
compound-android
library by @jmartinesp in #1888 - Update plugin dependencycheck to v9.0.1 by @renovate in #1890
- Update plugin detekt to v1.23.4 by @renovate in #1891
- Update gradle/gradle-build-action action to v2.10.0 by @renovate in #1894
- Test notification factory by @bmarty in #1899
- Merge TimelineItemEventRow's textForInReplyTo and attachmentThumbnailInfoForInReplyTo functions by @julioromano in #1859
- Kotlin duration and MimeTypes by @bmarty in #1903
- Sync Strings by @ElementBot in #1892
- Add special notifications for mentions by @jmartinesp in #1846
- Timeline : Scroll to end of timeline when sending a new message #1877 by @ganfra in #1879
- Add option to delete a poll while editing the poll by @jonnyandrew in #1895
- Update wysiwyg to v2.19.0 by @renovate in #1909
- Confirm back navigation when editing a poll only if the poll was changed by @jonnyandrew in #1886
- Fix issues around read receipt by @bmarty in #1910
- Open room member avatar in a media viewer by @jmartinesp in #1911
- Rename params in NodeFactories for clarity by @julioromano in #1916
- Upgrade to rust sdk 0.1.71 by @julioromano in https://github.com/element-hq/element-x...
Element X Android v0.3.2
Features ✨
- Add ongoing call indicator to rooms lists items. (#1158)
- Add support for typing mentions in the message composer. (#1453)
- Add intentional mentions to messages. This needs to be enabled in developer options since it's disabled by default. (#1591)
- Update voice message recording behaviour. Instead of holding the record button, users can now tap the record button to start recording and tap again to stop recording. (#1784)
Bugfixes 🐛
- Always ensure media temp dir exists (#1790)
Other changes
- Update icons and move away from
PreferenceText
components. (#1718) - Add item "This is the beginning of..." at the beginning of the timeline. (#1801)
- LockScreen : rework LoggedInFlowNode and back management when locked. (#1806)
- Suppress usage of removeTimeline method. (#1824)
- Remove Element Call feature flag, it's now always enabled.
- Reverted the EC base URL to
https://call.element.io
. - Moved the option to override this URL to developer settings from advanced settings.
What's Changed
- Enable seeking a recorded voice message by @jonnyandrew in #1758
- Check for the correct media id when ensuring the MediaPlayer is ready by @julioromano in #1783
- Gradle catalog cleanup by @bmarty in #1787
- Sync Strings by @ElementBot in #1789
- Update mobile-dev-inc/action-maestro-cloud action to v1.7.0 by @renovate in #1785
- Always ensure media temp dir exists by @julioromano in #1790
- Add active call icon to room list summaries by @jmartinesp in #1792
- Fix rendering of emote when the message contains some formatting. by @bmarty in #1802
- Update voice message recording button behaviour by @jonnyandrew in #1784
- Persist state of VoiceMessagePresenter in memory by @julioromano in #1795
- Update dependency org.jetbrains.kotlinx:kotlinx-collections-immutable to v0.3.6 by @renovate in #1791
- Delay displaying the voice message download indicator by @jonnyandrew in #1793
- Show error dialog when voice message fails to send by @jonnyandrew in #1796
- Allow to seek a voice message before playing it by @julioromano in #1780
- Configs object in appconfig and move strings to dedicated modules. by @bmarty in #1798
- Fix merge conflict by @jonnyandrew in #1804
- Add a View to show the beginning of the timeline (parity with iOS) by @bmarty in #1801
- Remove lateinit from Application class by @julioromano in #1803
- LockScreen : rework LoggedInFlowNode and Back management by @ganfra in #1806
- Timeline: render TimelineItemReadMarkerModel by @bmarty in #1805
- Iterate design on several screens: update icons, replace PreferenceTexts by @jmartinesp in #1771
- Remove Element Call feature flag and revert base URL to
call.element.io
by @jmartinesp in #1809 - Update plugin dependencycheck to v8.4.3 by @renovate in #1810
- Fix a changelog typo by @jplatte in #1820
- Update plugin dependencyanalysis to v1.26.0 by @renovate in #1819
- Update activity to v1.8.1 by @renovate in #1814
- Update dependency androidx.browser:browser to v1.7.0 by @renovate in #1818
- Suppress usage of removeTimeline method (#1824) by @ganfra in #1825
- Update wysiwyg to v2.17.0 by @renovate in #1827
- Update android.gradle.plugin to v8.1.4 by @renovate in #1830
- Update dependency com.google.firebase:firebase-bom to v32.6.0 by @renovate in #1831
- Fix wrong list used when forwarding an Event to some rooms fails. by @bmarty in #1828
- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.6.1 by @renovate in #1816
- Update lifecycle to v2.7.0-rc01 by @renovate in #1817
- Timeline : do not use SubcomposeLayout if not needed by @ganfra in #1835
- Update dependency me.saket.telephoto:zoomable-image-coil to v0.7.1 by @renovate in #1838
- Sync Strings by @ElementBot in #1839
- Delete media caches on startup by @julioromano in #1807
- Stop voice message on redaction by @julioromano in #1826
- Update rnkdsh/action-upload-diawi action to v1.5.4 by @renovate in #1840
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.68 by @renovate in #1832
- Render send state and read receipts by @bmarty in #1834
- Integrate mentions in the composer by @jmartinesp in #1799
- Feature/bma/theme switch by @bmarty in #1844
- Update wysiwyg to v2.18.0 by @renovate in #1836
- Update media3 to v1.2.0 by @renovate in #1823
- Update dependency io.sentry:sentry-android to v6.34.0 by @renovate in #1842
- Update dependency com.squareup:kotlinpoet to v1.15.1 by @renovate in #1837
- Add intentional mentions by @jmartinesp in #1843
- Update mobile-dev-inc/action-maestro-cloud action to v1.8.0 by @renovate in #1813
- Voice message scrubbing improvements by @julioromano in #1847
- Update dependency androidx.compose.material3:material3 to v1.2.0-alpha11 by @renovate in #1815
New Contributors
Full Changelog: v0.3.1...v0.3.2
Element X Android v0.3.1
Features ✨
- Chat backup is still under a feature flag, but when enabled, user can enter their recovery key (it's also possible to input a passphrase) to unlock the encrypted room history. (#1770)
Bugfixes 🐛
- Improve confusing text in the 'ready to start verification' screen. (#879)
- Message composer wasn't resized when selecting a several lines message to reply to, then a single line one. (#1560)
Other changes
- PIN: Set lock grace period to 0. (#1732)
What's Changed
- Update dependency app.cash.molecule:molecule-runtime to v1.3.0 by @renovate in #1717
- Add analytics for voice messages by @jonnyandrew in #1706
- Update dependency org.robolectric:robolectric to v4.11.1 by @renovate in #1715
- Update lifecycle to v2.7.0-beta01 by @renovate in #1721
- Add time to voice message composer UI by @jonnyandrew in #1720
- Update dependency io.nlopez.compose.rules:detekt to v0.3.3 by @renovate in #1638
- Update dependency io.gitlab.arturbosch.detekt to v1.23.3 by @renovate in #1712
- Fix maestro test. by @bmarty in #1722
- Update dependency com.android.tools:desugar_jdk_libs to v2.0.4 by @renovate in #1723
- Update dependency io.sentry:sentry-android to v6.33.0 by @renovate in #1724
- Fix scaling of composer UI by @jonnyandrew in #1691
- Improve dialog api by @bmarty in #1726
- Add voice message 'hold to record' tooltip by @jonnyandrew in #1710
- Only build
app
module for Maestro tests. by @jmartinesp in #1727 - Update dependency androidx.compose.material3:material3 to v1.2.0-alpha10 by @renovate in #1597
- Remove useless by lazy wrapping by @bmarty in #1730
- Use Parallel GC and bump RAM usage by @jmartinesp in #1734
- Replace suffixes for
@PreviewsDayNight
annotation by @jmartinesp in #1736 - Display duration of recorded voice message by @jonnyandrew in #1733
- Update showkase to v1.0.2 by @renovate in #1383
- Pin lock grace period set to 0 by @bmarty in #1735
- Konsist: check if sealed class could be sealed interface by @bmarty in #1731
- Introduce AsyncView to avoid repeating ourselves by @bmarty in #1738
- Sync Strings by @ElementBot in #1742
- Feature/bma/lint by @bmarty in #1745
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.67 by @renovate in #1747
- Update dependency io.sentry:sentry-android to v6.33.1 by @renovate in #1752
- Fix crash on logout by @jmartinesp in #1749
- Create UserStoryFlowPage by @bmarty in #1737
- Improve confusing text in the 'ready to start verification' screen by @jmartinesp in #1751
- Message composer isn't resized when changing the replied to message by @jmartinesp in #1750
- Update dependency org.maplibre.gl:android-sdk-ktx-v7 to v2.0.2 by @renovate in #1761
- Voice messages: Don't crash if mxc uri is invalid by @julioromano in #1756
- Update dependency org.maplibre.gl:android-plugin-annotation-v9 to v2.0.2 by @renovate in #1760
- Lower max RAM usage for gradle to avoid CI issues by @jmartinesp in #1766
- Iterate design on Settings screen by @jmartinesp in #1763
- Feature/bma/encrypted messages by @bmarty in #1767
- Update android.gradle.plugin to v8.1.3 by @renovate in #1762
- Update kotlin by @renovate in #1697
- Show full history if key backup is enabled. by @bmarty in #1770
- Recovery key with spaces by @bmarty in #1759
- LockScreen polish by @ganfra in #1757
- Update issue description. Rageshake is disabled by default. (#1693) by @bmarty in #1775
- Ensure BackupState and RecoveryState values are set from the SDK only… by @bmarty in #1769
- Lower RAM usage in nightly related jobs by @jmartinesp in #1777
- Fix maestro again by @bmarty in #1778
- Update wysiwyg to v2.16.0 by @renovate in #1779
- Improve rendering of
AttachmentThumbnail
when thumbnailSource is not provided by @bmarty in #1774 - Feature/bma/recovery key error dialog by @bmarty in #1773
- Don't leak MediaFileHandle when downloading voice messages by @julioromano in #1748
- Voice message MediaPlayer: wait until player is ready by @julioromano in #1772
- On boarding iteration by @bmarty in #1781
Full Changelog: v0.3.0...v0.3.1