Releases: element-hq/element-x-android
Releases · element-hq/element-x-android
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
Element X Android v0.3.0
Changes in Element X v0.3.0 (2023-10-31)
Features ✨
- Element Call: change the 'join call' button in a chat room when there's an active call. (#1158)
- Mentions: add mentions suggestion view in RTE (#1452)
- Record and send voice messages (#1596)
- Enable voice messages for all users (#1669)
- Receive and play a voice message (#2084)
- Enable Element Call integration in rooms by default, fix several issues when creating or joining calls.
Bugfixes 🐛
- Group fallback notification to avoid having plenty of them displayed. (#994)
- Hide keyboard when exiting the chat room screen. (#1375)
- Always register the pusher when application starts (#1481)
- Ensure screen does not turn off when playing a video (#1519)
- Fix issue where text is cleared when cancelling a reply (#1617)
Other changes
- Remove usage of blocking methods. (#1563)
What's Changed
- Konsist: add more test by @bmarty in #1552
- Feature/bma/fix db migration test by @bmarty in #1555
- [Voice messages] Add voice recording UI by @jonnyandrew in #1546
- Move Konsist tests to their own module by @bmarty in #1558
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.62 by @renovate in #1562
- Misc: remove usage of blocking methods #1563 by @ganfra in #1565
- [Pin code] : setup the feature by @ganfra in #1554
- Update dependency io.sentry:sentry-android to v6.31.0 by @renovate in #1559
- Ensure screen does not turn off when playing a video (#1519) by @bmarty in #1556
- Fix issue detected by Konsist. by @bmarty in #1570
- Migrate SqlDelight to 2.0.0 by @julioromano in #1569
- Update dependency com.google.testparameterinjector:test-parameter-injector to v1.13 by @renovate in #1568
- Always register the pusher when application starts by @bmarty in #1579
- Sync Strings by @ElementBot in #1573
- Update dependency com.squareup.okhttp3:okhttp-bom to v4.12.0 by @renovate in #1587
- Add script to build the rust sdk locally and from different repo / branch by @bmarty in #1582
- Make sure Konsist tests always run by @jmartinesp in #1590
- Feature/fga/setup crypto for pin by @ganfra in #1592
- Update dependency androidx.recyclerview:recyclerview to v1.3.2 by @renovate in #1599
- Update dependency io.sentry:sentry-android to v6.32.0 by @renovate in #1602
- Hide keyboard when exiting the room screen by @jmartinesp in #1593
- Include desugaring lib also in library modules by @julioromano in #1604
- Extract more content from audio messages. by @julioromano in #1607
- Add global
context.cacheDir
provider. by @julioromano in #1606 - TimelineItemPresenterFactories by @julioromano in #1609
- Integrate Element Call with widget API by @jmartinesp in #1581
- Update dependency org.jsoup:jsoup to v1.16.2 by @renovate in #1613
- Feature/fga/pin create UI by @ganfra in #1608
- Document the nuances in
UserId
andSessionId
types. by @julioromano in #1616 - Maestro No need to close the keyboard after fix from #1593 by @bmarty in #1615
- Update dependency com.google.firebase:firebase-bom to v32.4.0 by @renovate in #1601
- Remove AppNameProvider, we have buildMeta now. by @bmarty in #1614
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.63 by @renovate in #1619
- Update dependency org.owasp.dependencycheck to v8.4.2 by @renovate in #1622
- Sync Strings by @ElementBot in #1623
- Fix issue where text is cleared when cancelling a reply by @jonnyandrew in #1617
- Update dependency androidx.sqlite:sqlite-ktx to v2.4.0 by @renovate in #1600
- PIN : unlock screen ui by @ganfra in #1624
- Fix emoji shortcut values by @langleyd in #1625
- Record and send voice messages by @jonnyandrew in #1596
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.64 by @renovate in #1629
- Set tracing of
matrix_sdk_ui::timeline
totrace
by @jmartinesp in #1630 - Add progress indicator for sending voice messages by @jonnyandrew in #1618
- Add voice message recording duration indicator and limit by @jonnyandrew in #1628
- Add
BackupState
andBackupStateMapper
by @bmarty in #1632 - Update package of voice message composer by @jonnyandrew in #1633
- Room notification settings UI update by @langleyd in #1621
- Code coverage by @bmarty in #1634
- Update dependency com.google.testparameterinjector:test-parameter-injector to v1.14 by @renovate in #1636
- Allow deleting a recorded voice message by @jonnyandrew in #1635
- Receive and play a voice message by @julioromano in #1503
- Custom room notification settings list by @langleyd in #1610
- Voice message bubble design improvements by @julioromano in #1637
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.65 by @renovate in #1639
- Refactor of voice message playing code by @julioromano in #1643
- Add custom waveform with cursor and nice gesture support. by @langleyd in #1641
- Use Float instead of Double for all the level metering logic. by @julioromano in #1645
- Update the chat screen UI using RoomInfo. by @jmartinesp in #1640
- PIN : settings and branch flow by @ganfra in #1642
- Move waveform UI to design system library by @jonnyandrew in #1649
- Add voice message preview player by @jonnyandrew in #1646
- Include waveform when sending voice messages by @julioromano in #1650
- Convert mx waveform to floats as early as possible in the chain by @julioromano in #1652
- Update dependency com.google.firebase:firebase-bom to v32.4.1 by @renovate in #1657
- Update plugin com.google.firebase.appdistribution to v4.0.1 by @renovate in #1656
- SecureBackup: update matrix sdk module. by @bmarty in #1653
- Move MediaPlayer from messages module to new dedicated library module by @julioromano in #1654
- Update dependency com.google.firebase:firebase-appdistribution-gradle to v4.0.1 by @renovate in https://git...
Element X Android v0.2.4
Changes in Element X v0.2.4 (2023-10-12)
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
New Contributors
Full Changelog: v0.2.3...v0.2.4
Element X Android v0.2.3
Features ✨
Other changes
- Element call: add custom parameters to Element Call urls. (#1434)
What's Changed
- Update dependency io.mockk:mockk to v1.13.8 by @renovate in #1412
- Update dependency me.saket.telephoto:zoomable-image-coil to v0.6.2 by @renovate in #1416
- Push TimelineEvents further down the UI tree. by @julioromano in #1424
- Update danger/danger-js action to v11.3.0 by @renovate in #1413
- Update rnkdsh/action-upload-diawi action to v1.5.2 by @renovate in #1421
- Update gradle/gradle-build-action action to v2.8.1 by @renovate in #1426
- Use eventSink method reference in TimelinePresenter.kt by @julioromano in #1428
- Sync Strings by @ElementBot in #1419
- Show poll creator view in timeline by @julioromano in #1429
- Navigation fixes by @ganfra in #1427
- Delete story template by @kittykat in #1431
- Install apk from the app - REQUEST_INSTALL_PACKAGES by @bmarty in #1432
- Mutable int float by @bmarty in #1436
- Element call tweaks by @bmarty in #1434
- Update dependency org.matrix.rustcomponents:sdk-android to v0.1.58 by @renovate in #1437
Full Changelog: v0.2.2...v0.2.3
Element X Android v0.2.2
Changes in Element X v0.2.2 (2023-09-21)
Bugfixes 🐛
- Add animation when rendering the timeline to avoid glitches. (#1323)
- Fix crash when trying to take a photo or record a video. (#1395)
What's Changed
- Iterate on icons by @bmarty in #1392
- Update dependency me.saket.telephoto:zoomable-image-coil to v0.6.1 by @renovate in #1398
- chore(deps): update dependency io.gitlab.arturbosch.detekt to v1.23.1 by @renovate in #1388
- Update dependency androidx.compose:compose-bom to v2023.09.01 by @renovate in #1397
- Update dependency io.nlopez.compose.rules:detekt to v0.3.0 by @renovate in #1399
- Properly format lastMessage when it belongs to a poll. by @julioromano in #1387
- Fix crash when user wants to use the camera by @bmarty in #1400
- Sync Strings by @ElementBot in #1404
- Upgrade Rust SDK to v0.1.57 by @julioromano in #1401
- Add animation on the timeline content, to avoid glitch (#1323) by @bmarty in #1405
Full Changelog: v0.2.1...v0.2.2