Commit Graph

6097 Commits

Author SHA1 Message Date
Benoit Marty 123037a612 Fix broken preview of BottomSheet in Android Studio. 2026-06-19 14:04:46 +02:00
Benoit Marty e98cbdfce1 BottomSheet for maps must be Expanded 2026-06-19 11:26:20 +02:00
Benoit Marty 82c6167441 Bottom sheet: initial state must be Hidden else there is no animation when opening the bottom sheet. 2026-06-19 10:38:20 +02:00
Benoit Marty 33e2f72792 Fix deprecation warning 2026-06-18 18:52:38 +02:00
Benoit Marty 5e30f94ccc Fix deprecation warning 2026-06-18 18:46:58 +02:00
Benoit Marty 3a2f19f26c Fix deprecation warning 2026-06-18 18:44:43 +02:00
Benoit Marty 34d17f4903 Merge pull request #7041 from element-hq/feature/bma/compileWithSdk37
Compile with sdk37 and target API 37
2026-06-18 16:15:47 +02:00
Jorge Martin Espinosa 9dc3dec72e Replace ContentResolver.delete usage with a backwards-compatible version (#7053)
The previous signature needed API 30, the new one is available since API 1
2026-06-18 15:48:21 +02:00
Benoit Marty c430877d87 Ensure Robolectric test are run using API 36 until the library support API 37. 2026-06-18 12:18:32 +02:00
Benoit Marty e54d93cd50 Compile with SDK 37 2026-06-18 12:18:31 +02:00
Benoit Marty 5a7015c566 screen_custom_recovery_key_input_notice is now a plurals. 2026-06-17 18:36:10 +02:00
Benoit Marty 70433b283e call: Remove deprecated web<->EX api calls, use the new ones (#6628)
* call: Remove deprecated web<->EX api calls, use the new ones

* ktlint format
2026-06-17 16:01:25 +02:00
Benoit Marty 355894cc74 Merge pull request #6944 from element-hq/feature/custom-recovery-key-wellknown
Add well-known parsing and extension seam for custom recovery passphrase
2026-06-17 13:58:22 +02:00
Benoit Marty 568e137cd4 Merge branch 'develop' into feature/bma/multipleForward 2026-06-17 10:31:44 +02:00
Benoit Marty 72e9371fa3 Custom recovery key: import strings from Localazy 2026-06-17 10:04:24 +02:00
bxdxnn 351acec58d Fix thread list not loading older threads (#7034)
* Fix thread list pagination
2026-06-16 20:52:52 +02:00
Jorge Martin Espinosa 8e9c0bedf2 Fix sharing media inside the app (#7016)
When a `MediaSource` is disposed, the local temp file associated to it will be deleted from disk.

When we try sharing a media from the media viewer screen to another room, this will dismiss the screen, which in turn will dispose of the media source and remove the file, which then fails to be shared.

If we copy it first and then make sure we delete it after trying to send it, it works fine.
2026-06-16 16:42:59 +02:00
Jorge Martin Espinosa 710f501689 ScanQrCodeViewTest: try fixing broken test in CI (#7027)
Add `LocalInspectionMode.current = true` in case the failure is related to rendering the `QrCodeCameraView`
2026-06-16 16:42:32 +02:00
ElementBot d39b208099 Sync Strings from Localazy (#7021)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-06-16 12:59:45 +02:00
bxdxnn 260639cde9 Fix invites not being sent during the room creation (#7018)
* Proceed to the room only from the 'Trust (user) On First Use' confirmation screen
2026-06-15 12:16:05 +02:00
Benoit Marty d33852d32f Room selection: add a limitation of 10 rooms for Share and Forward actions. 2026-06-12 09:22:29 +02:00
Jenna Vassar e90c91d446 Add a node-builder test for DefaultSecureBackupSetupEntryPoint
The new entry point had no test, leaving its createNode body (and the api
Inputs data class) uncovered and failing codecov/patch. Mirror the existing
Default*EntryPointTest convention to exercise the builder.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:04:25 -07:00
Jenna Vassar cc9d787602 Collapse the recovery passphrase strength labels to five tiers
Adopt the design feedback from element-meta#3228: drop the time-to-crack
hint strings and reduce the strength labels to Very weak / Weak / Moderate /
Strong / Very strong. Bumps the enterprise submodule to the matching
indicator change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 14:39:58 -07:00
renovate[bot] f0a6cba6db fix(deps): update android.gradle.plugin to v9 (major) (#6021)
* Update android.gradle.plugin to v9

* Separate extensions between app and library ones

`CommonExtension` has been split and its properties are now duplicated in `ApplicationExtension` and `LibraryExtension` without a shared interface, so we now need to duplicate the helper extension functions

* Bump Gradle wrapper to `9.3.1`

* Remove `kotlin-android` plugin usage: it's no longer needed

* Enable `resValues` build feature for the modules that have resources in custom variants like gplay, debug, etc.

Otherwise this now fails saying the resources are there but the feature is disabled

* Remove `retrofit` dependency from `:features:call:impl`

It wasn't in use and the build was failing

* Update kotlin to v2.4.0

* Update plugin paparazzi to v2.0.0-alpha05

* Update gradle wrapper to 9.5.1

./gradlew wrapper --gradle-version 9.5.1 --gradle-distribution-sha256-sum bafc141b619ad6350fd975fc903156dd5c151998cc8b058e8c1044ab5f7b031f

* Update com.android.tools.build:gradle to 9.2.1

* Update plugin sonarqube to v7.3.1.8318

* Kotlin 2.4.0

* Context parameters are enabled by default in Kotlin 2.4.0

* Fix code issue

* Fix record screenshot issue

* Workaround for https://github.com/cashapp/paparazzi/issues/2342

* Workaround for another issue with Paparazzi

* Remove unused import

* Update screenshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: Benoit Marty <benoitm@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: ElementBot <android@element.io>
2026-06-11 09:51:47 +02:00
Benoit Marty 99b7c758f2 Merge pull request #6954 from element-hq/fix/try-fixing-flaky-location-timeline-item-screenshots
Try fixing flaky screenshots for location timeline items
2026-06-10 14:44:39 +02:00
Benoit Marty ff8e477b4f Merge pull request #6984 from bxdxnn/fix/draft-threads
Fix message drafts not being saved in Threads
2026-06-10 14:44:12 +02:00
Jenna Vassar 1df91ca8d5 Drop the SecureBackupSetupEntryPoint KDoc to match sibling entry points
No other FeatureEntryPoint interface carries KDoc, and the genericised
comment only restated what FeatureEntryPoint + DI already imply.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 15:13:56 -07:00
Jenna Vassar 4f2c2b773a Move custom recovery passphrase strings to FOSS for iOS parity
Add the pro_screen_recovery_key_mode_* and a11y_recovery_key_* strings to
the securebackup module's temporary.xml so they flow through Localazy for
translation, matching element-x-ios#5684, and bump the enterprise submodule
to the commit that references these FOSS strings and drops its own copy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 15:07:47 -07:00
Jenna Vassar 2a66df7b8a Avoid describing Pro-build specifics in the recovery setup entry point doc
Genericise the SecureBackupSetupEntryPoint KDoc so the public repo no longer
spells out the enterprise custom recovery passphrase behaviour.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 12:15:21 -07:00
Jenna Vassar 8479c8346e Add bringIntoViewOnImeVisible modifier and adopt it on the recovery key screen
Extract the IME-aware bring-into-view logic into a reusable designsystem
modifier and use it in the enter recovery key screen, replacing the inline
BringIntoViewRequester wiring.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 10:03:39 -07:00
ganfra cf63453ff8 Fix tests (after rebasing develop) 2026-06-09 17:25:30 +02:00
Benoit Marty 703f2b22ed Improve static map preview / screenshots. 2026-06-09 13:00:30 +02:00
bxdxnn 3bc7da0e01 Apply suggestion from @bmarty
Co-authored-by: Benoit Marty <benoit.marty@gmail.com>
2026-06-09 13:29:58 +03:00
Jenna Vassar 6710b1c9c1 Remove custom recovery passphrase API from EnterpriseService
These methods gated the feature at runtime. The gate is now a DI binding swap in the enterprise build (EnterpriseSecureBackupSetupEntryPoint replaces the FOSS default), so the EnterpriseService surface and the CustomRecoveryPassphraseStrength result types are no longer needed in FOSS.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 15:36:16 -07:00
Jenna Vassar a050716123 Remove custom recovery passphrase flow from FOSS secure backup setup
The custom passphrase entry/confirm UI now lives in the enterprise secure backup module behind the SecureBackupSetupEntryPoint seam. Reverts the setup presenter, view, state, state machine, state provider, and events to the auto-generated-key-only flow, deletes CustomPassphraseDerivations and the temporary strings, and drops the well-known and enterprise-test dependencies the feature required.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 15:36:02 -07:00
Jenna Vassar 1f84bef601 Add SecureBackupSetupEntryPoint extension seam
Introduces a FeatureEntryPoint for the recovery-key setup screen so enterprise builds can vend a richer setup node. The FOSS default builds the standard auto-generated-key node; SecureBackupFlowNode now resolves the Setup and Change targets through this seam instead of creating SecureBackupSetupNode directly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 15:35:30 -07:00
ganfra 6b9aa31c19 change(location): ensure permissions are always requested at least once 2026-06-08 22:10:04 +02:00
bxdxnn 8b4158c824 Address review 2026-06-08 18:17:45 +00:00
Jorge Martin Espinosa bea2903093 Click on avatar in moderation bottom sheet opens avatar preview (#6991)
* Make the avatar in the room member moderation bottom sheet open the avatar in the media viewer (#6962)

* Make the avatar in the room member moderation bottom sheet open the avatar in the media viewer.

* Fix issue with avatar overlay not dismissing the bottom sheet: the bottom sheet would eat all the touch events until the first click, which would somehow cancel this behaviour

* Fix lint issues

* Update screenshots

---------

Co-authored-by: bxdxnn <267911624+bxdxnn@users.noreply.github.com>
Co-authored-by: ElementBot <android@element.io>
2026-06-08 16:32:13 +02:00
ElementBot 5a4c0b5d58 Sync Strings from Localazy (#6986)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-06-08 14:33:40 +02:00
bxdxnn 6219378ad3 Fix "Sent" checkmark disappearing when the message is read and "Share presence" is disabled (#6985)
* Don't compute read receipts if presence sharing is disabled

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-06-08 13:21:34 +02:00
Benoit Marty c06e7ed276 Merge pull request #6953 from element-hq/feature/bma/cropIcon
Replace "Edit" button with Crop icon.
2026-06-08 10:15:11 +02:00
bxdxnn a10aa6cbe3 Support thread root in drafts 2026-06-06 18:26:46 +00:00
ganfra 53bbef0554 Merge pull request #6955 from element-hq/feature/fga/remove_location_dot_when_sharing
Change: hide UserLocationPuck when sharing from current device
2026-06-05 17:30:00 +02:00
Benoit Marty 43ab1e5050 Fix some string mappings for link new device errors (#6958)
* Fix some string mappings for link new device errors (#6675)

* Fix some string mappings for link new device errors

* Update snapshots

* Add appName

* Iterate

---------

Co-authored-by: Jorge Martin Espinosa <jorgem@element.io>
Co-authored-by: Benoit Marty <benoitm@element.io>

* Update screenshots

---------

Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>
Co-authored-by: Jorge Martin Espinosa <jorgem@element.io>
Co-authored-by: ElementBot <android@element.io>
2026-06-05 11:17:44 +02:00
Jenna Vassar 8722305e12 Update strings for ios parity 2026-06-04 09:41:55 -07:00
Benoit Marty 4749ec3112 Replace "Edit" button with Crop icon. 2026-06-04 16:13:30 +02:00
Jorge Martin Espinosa a91e1fa2ae Make Vulkan a *not required* feature (#6961)
* Make Vulkan a *not required* feature

* Add `DeviceHasVulkanSupport` helper to check this on runtime

* When trying to open a screen with a map in it, check if vulkan is supported and display a new error dialog in that case

* Fix random lint issue

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-06-04 13:08:19 +00:00
Hugh Nimmo-Smith 1717cc7370 Fix some string mappings for link new device errors (#6675)
* Fix some string mappings for link new device errors

* Update snapshots

* Add appName

* Iterate

---------

Co-authored-by: Jorge Martin Espinosa <jorgem@element.io>
Co-authored-by: Benoit Marty <benoitm@element.io>
2026-06-04 09:34:55 +02:00
ganfra f800bb5586 change : Hide UserLocaitonPuck when currentlySharing from this device (and follow the marker instead of the puck) 2026-06-03 21:54:29 +02:00