Commit Graph

4634 Commits

Author SHA1 Message Date
ElementBot 7c40c87d9a Sync Strings from Localazy (#5178)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-08-18 11:09:27 +02:00
Benoit Marty de16268674 Merge pull request #5166 from element-hq/feature/fga/create_room_flow_rework
Create room flow rework
2025-08-18 09:38:28 +02:00
Benoit Marty 476a2b9007 Avoid using runBlocking in Node resolve function. 2025-08-14 16:53:35 +02:00
Benoit Marty 037e5dbce4 Revert "Provide default value for modifier."
This reverts commit 67b4d315fe.
2025-08-14 16:05:50 +02:00
Benoit Marty ee3b3c6f13 Use SessionCoroutineScope here. 2025-08-14 14:41:51 +02:00
Benoit Marty 67b4d315fe Provide default value for modifier. 2025-08-14 14:39:00 +02:00
Benoit Marty 003249faa6 Use string from Localazy. 2025-08-14 11:46:28 +02:00
Benoit Marty f061f981fc iterate on the isSelected value. Let the UI decide how to render. 2025-08-14 11:46:26 +02:00
Benoit Marty 6877c7cc88 Remove default values for InvitableUser's constructor 2025-08-14 09:10:22 +02:00
Benoit Marty c6fb2c0c58 Merge pull request #5161 from element-hq/feature/bma/movePushHistory
Move push history entry point from notification settings to developer settings
2025-08-14 09:00:31 +02:00
Benoit Marty 7271fe6e68 Try to fix tests on CI (they are passing locally). 2025-08-13 18:43:16 +02:00
Benoit Marty 186d06c73e Cleanup Localazy config and do a sync. 2025-08-13 17:41:44 +02:00
Benoit Marty ba7d1fbe3a Use string from Localazy 2025-08-13 17:19:38 +02:00
Benoit Marty e1095c0688 Merge pull request #5117 from element-hq/renovate/showkase
Update showkase to v1.0.5
2025-08-13 17:01:11 +02:00
Benoit Marty 6989e10c19 Add string to Localazy 2025-08-13 16:59:12 +02:00
Benoit Marty 0dba05be0a Cleanup codebase 2025-08-13 16:56:33 +02:00
Benoit Marty 586e840a74 Fix tests 2025-08-13 16:24:13 +02:00
Benoit Marty 9d0dd66018 Add more tests 2025-08-13 15:57:35 +02:00
Benoit Marty c5b256e353 Create fun handleEvents 2025-08-13 15:37:31 +02:00
Benoit Marty 4e334efb51 Move and fix test for DefaultInvitePeoplePresenter 2025-08-13 15:36:01 +02:00
Jorge Martín cb486e93d7 Remove libs.showkase entry in composeDependencies
Add it only to the needed library modules.
2025-08-13 11:43:57 +02:00
Benoit Marty bb5bff7987 Rename Preview 2025-08-13 11:23:34 +02:00
Benoit Marty 0120575b39 Rename Test to follow naming convention 2025-08-13 11:22:40 +02:00
Benoit Marty 2050223fe2 Rename View to follow naming convention and file name 2025-08-13 11:21:31 +02:00
Benoit Marty 8be9173f1b Rename provider to follow naming convention 2025-08-13 11:19:21 +02:00
Benoit Marty 23c8d01d90 State data class cannot have default values. 2025-08-13 11:17:05 +02:00
ganfra 1edd419915 refactor (start chat) : properly finish create room flow 2025-08-13 11:06:45 +02:00
ganfra 74f6a83219 refactor (start chat) : use invite people module in room details screen 2025-08-13 11:06:45 +02:00
ganfra bfd1182baf refactor (start chat) : remove useless code 2025-08-13 11:06:44 +02:00
ganfra b4a8b17391 refactor (start chat) : create invite people module and start branching them 2025-08-13 11:06:43 +02:00
ganfra 41cf1afce3 refactor (start chat) : start splitting things (create room, invite people, start chat) 2025-08-13 11:06:42 +02:00
Benoit Marty 51b5d58327 Fix tests. 2025-08-13 10:35:46 +02:00
Benoit Marty 58ce545d98 Merge pull request #5160 from element-hq/feature/bma/cleanupFeatureFlags
Remove old feature flags
2025-08-12 18:21:44 +02:00
Benoit Marty 80345dc3d0 Move push history entry point from notification settings to developer settings.
Closes #5159
2025-08-12 17:32:03 +02:00
Jorge Martin Espinosa 516c3cfda3 Provide calculated server names when opening a room from another (#5155)
* Provide calculated server names when opening a room from another, based on the most frequently used domain names in the user ids for the users in the room.

This helps when following permalinks or navigating to the successor room of a tombstoned one. Previously, the `/summary` endpoint was failing because no server names were used in the `via` parameters.
2025-08-12 15:17:46 +00:00
Benoit Marty d04434e20e Remove FeatureFlag.MediaUploadOnSendQueue 2025-08-12 16:08:46 +02:00
Benoit Marty 34efd2c3fa Remove FeatureFlag.MediaCaptionCreation and FeatureFlag.MediaCaptionWarning 2025-08-12 16:08:45 +02:00
Benoit Marty dcb6055783 Remove FeatureFlag.MediaGallery 2025-08-12 16:08:45 +02:00
Benoit Marty 4f0535714e Remove FeatureFlag.PinnedEvents 2025-08-12 16:08:44 +02:00
Benoit Marty be9861bea9 Remove FeatureFlag.QrCodeLogin 2025-08-12 16:08:43 +02:00
Benoit Marty 1268f74420 Remove FeatureFlag.MarkAsUnread 2025-08-12 16:08:42 +02:00
Benoit Marty 0ba783cd93 Remove FeatureFlag.VoiceMessages 2025-08-12 16:08:41 +02:00
Benoit Marty 82c86a2b4d Remove FeatureFlag.NotificationSettings and FeatureFlag.PinUnlock 2025-08-12 16:08:40 +02:00
Benoit Marty 7fb70fabed Remove FeatureFlag.LocationSharing and FeatureFlag.Polls 2025-08-12 16:08:38 +02:00
Benoit Marty fb16f3875d Suppress deprecation warning for test. 2025-08-12 15:52:08 +02:00
Benoit Marty 3e73496c85 Remove FeatureFlag.IncomingShare 2025-08-12 15:52:05 +02:00
Jorge Martin Espinosa 1a31e49f1e Do not automatically initialize DefaultVideoMetadataExtractor's data source (#5157)
This will cause a crash for image attachments
2025-08-12 13:03:43 +00:00
Jorge Martin Espinosa 31a952c389 Hide the recovery key while we are entering it (#5147)
* Hide the recovery key while we are entering it (#5134)

This is the Element X Android part of
https://github.com/element-hq/element-meta/issues/2888

* Move the textfield contents being visible to the state so we can preview and test it

* Always use the password visual transformation for the recovery key field

* Update screenshots

---------

Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
Co-authored-by: ElementBot <android@element.io>
2025-08-12 14:46:00 +02:00
Benoit Marty 216ba060b4 Merge branch 'develop' into feature/bma/rageshakeConfigStep2 2025-08-11 17:35:06 +02:00
Jorge Martin Espinosa adc61b3826 Add media file limit size warning and media quality selection (#5131)
* Add `VideoCompressorPreset` enum

This represents the different compression presets used for processing videos before uploading them

* Add `VideoCompressorHelper` util class to calculate the scaled output size of the video given an input size and its optimal bitrate

Also add `MediaOptimizationConfig` which will be used to decide how to apply compression in `MediaPreProcessor`

* Add `RustMatrixClient.getMaxFileUploadSize()` function and `MaxUploadSizeProvider` so we can import only this functionality into other components

* Try preloading the max file upload size the first time we get network connectivity - it's a best effort

This should help ensure we'll have this value available later, even if we still need to load it asynchronously.

* Split the `compressMedia` preference into `compressImages` and `compressMediaPreset`

* Modify the media processing parts to use the new classes and utils

* Add `MediaOptimizationSelectorPresenter`, which will retrieve the compression values and the max file upload size, also estimating the compressed video file sizes if needed.

* Add a feature flag to allow selecting the media upload quality per upload

* Integrate the previous changes with the attachments preview screen

Add strings from localazy too.

* Adapt the rest of the app calls to upload media to using the media optimization configs

* Allow modifying the default compression values in advanced settings, based on the feature flag value

* Pass the `fileSize` in `MediaUploadInfo` too, to be able to check it against the `maxUploadSize`

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-08-11 17:22:46 +02:00