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