Commit Graph

4609 Commits

Author SHA1 Message Date
Benoit Marty
9411b309d2 Rename View to follow naming convention and file name 2025-08-13 11:21:31 +02:00
Benoit Marty
519d24d3f0 Rename provider to follow naming convention 2025-08-13 11:19:21 +02:00
Benoit Marty
90f1552197 State data class cannot have default values. 2025-08-13 11:17:05 +02:00
ganfra
5bbfaad03b refactor (start chat) : properly finish create room flow 2025-08-13 11:06:45 +02:00
ganfra
c41994ad13 refactor (start chat) : use invite people module in room details screen 2025-08-13 11:06:45 +02:00
ganfra
98343e0531 refactor (start chat) : remove useless code 2025-08-13 11:06:44 +02:00
ganfra
50073389c4 refactor (start chat) : create invite people module and start branching them 2025-08-13 11:06:43 +02:00
ganfra
1170a44116 refactor (start chat) : start splitting things (create room, invite people, start chat) 2025-08-13 11:06:42 +02:00
Benoit Marty
0a4a4e20db Merge pull request #5160 from element-hq/feature/bma/cleanupFeatureFlags
Remove old feature flags
2025-08-12 18:21:44 +02:00
Jorge Martin Espinosa
12ea2064c7 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
ebecc6652b Remove FeatureFlag.MediaUploadOnSendQueue 2025-08-12 16:08:46 +02:00
Benoit Marty
d025ae63ee Remove FeatureFlag.MediaCaptionCreation and FeatureFlag.MediaCaptionWarning 2025-08-12 16:08:45 +02:00
Benoit Marty
a0629d03fd Remove FeatureFlag.MediaGallery 2025-08-12 16:08:45 +02:00
Benoit Marty
3a14fcdc0d Remove FeatureFlag.PinnedEvents 2025-08-12 16:08:44 +02:00
Benoit Marty
c42ae056f2 Remove FeatureFlag.QrCodeLogin 2025-08-12 16:08:43 +02:00
Benoit Marty
fe8009e6bf Remove FeatureFlag.MarkAsUnread 2025-08-12 16:08:42 +02:00
Benoit Marty
be4e52e6ec Remove FeatureFlag.VoiceMessages 2025-08-12 16:08:41 +02:00
Benoit Marty
0eadf275e1 Remove FeatureFlag.NotificationSettings and FeatureFlag.PinUnlock 2025-08-12 16:08:40 +02:00
Benoit Marty
92990b27f3 Remove FeatureFlag.LocationSharing and FeatureFlag.Polls 2025-08-12 16:08:38 +02:00
Benoit Marty
75b4a4ba9d Suppress deprecation warning for test. 2025-08-12 15:52:08 +02:00
Benoit Marty
4192633930 Remove FeatureFlag.IncomingShare 2025-08-12 15:52:05 +02:00
Jorge Martin Espinosa
dc33a3b2d3 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
00e72aae44 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
37b50e0139 Merge branch 'develop' into feature/bma/rageshakeConfigStep2 2025-08-11 17:35:06 +02:00
Jorge Martin Espinosa
a170d80cb3 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
ElementBot
badbc5189e Sync Strings (#5146)
* Sync Strings from Localazy

* Remove unused WelcomeView.

* Remove unused WelcomeView.

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-08-11 12:49:29 +00:00
Benoit Marty
e566bb37ed Add unit test on DefaultRageshakeFeatureAvailability 2025-08-11 11:18:29 +02:00
Benoit Marty
50809d2adb Add missing test on CrashDetectionPresenter 2025-08-11 11:10:32 +02:00
Benoit Marty
d7e4e00b5d Let enterprise build be able to override (or disable) the bug report URL. 2025-08-08 17:23:39 +02:00
Jorge Martin Espinosa
d926dda29c Fix cursor position in room list search (#5138) 2025-08-08 15:50:06 +02:00
Benoit Marty
dbe5bb767b Extract code to retrieve .well-known files to its own modules. 2025-08-08 12:36:48 +02:00
Benoit Marty
b1a48ec863 Merge pull request #5126 from element-hq/feature/bma/redirectToElementPro
Redirect FOSS user to Element Pro according to element .well-known file
2025-08-08 09:38:59 +02:00
Benoit Marty
04f3f4cb53 Merge pull request #5132 from element-hq/feature/bma/rageshakeConfig
Let enterprise build store the logs in a dedicated subfolder
2025-08-07 16:35:00 +02:00
Benoit Marty
861758b47d Only change the log folder on enterprise build 2025-08-07 14:02:07 +02:00
Benoit Marty
0b0eab2281 Add tests 2025-08-07 12:38:10 +02:00
Benoit Marty
0c215f2d1e Fix tests 2025-08-07 12:19:26 +02:00
Benoit Marty
d71b639ada Ensure that deleteAllFiles will check all the log files. 2025-08-07 11:40:38 +02:00
Benoit Marty
5577d2ca9b Store log files in subfolder based on the homeserver domain. 2025-08-07 11:31:05 +02:00
Benoit Marty
4a6765db20 Merge pull request #5120 from element-hq/feature/bma/a11y/contextMenuKeyboard
[a11y] Open context menu with the keyboard
2025-08-06 14:50:12 +02:00
Benoit Marty
c9c6652c76 Add missing preview on LoginModeView 2025-08-06 14:40:37 +02:00
Jorge Martin Espinosa
2a42a71490 Reload room member list when active members count changes (#5129) 2025-08-06 10:37:52 +00:00
Benoit Marty
4f831547f8 Remove blank line 2025-08-06 11:13:11 +02:00
Benoit Marty
3ac7462474 Rename file to match class name. 2025-08-06 11:12:22 +02:00
Benoit Marty
2dec34374e Prevent users from using Element FOSS on homeservers that enforce the usage of Element Pro. 2025-08-06 10:23:16 +02:00
Benoit Marty
f2580374c0 Fix comment quality 2025-08-05 21:11:20 +02:00
Benoit Marty
683628e352 Rename extension. 2025-08-05 21:11:19 +02:00
Jorge Martin Espinosa
955263bee1 Force last owner of a room to pass ownership when leaving (#5094)
* Move `ChangeRoles*` classes to their own module so they can be shared

* Hook the change roles screen to the leave room action, add confirmation dialogs

* Use enum instead of sealed interface for `ChangeRoomMemberRolesListType`

* Try to improve communications between nodes

* refactor (leave room) : makes sure to expose only necessary code from api module

* Add `:libraries:previewutils` module to share some test fixtures used for UI previews

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: ganfra <francoisg@matrix.org>
2025-08-05 17:24:14 +02:00
Jorge Martin Espinosa
a87bbdd91c Delegate call notifications to Element Call, upgrade SDK and EC embedded (#5119)
* Stop sending call notifications manually: the Element Call widget can now assume responsibility for sending them when you start a call.

* Upgrade SDK version to `v25.8.5`, fix API breaks

* Upgrade Element Call embedded to `v0.14.1`

* Fix tests and lint issues

* Add `RoomListEntriesDynamicFilterKind.NonSpace` to avoid displaying spaces in the room list

---------

Co-authored-by: Robin <robin@robin.town>
2025-08-05 15:14:51 +00:00
Benoit Marty
a7ea4d01be Ensure that navigation using keyboard is not broken on the room list.
Workaround https://issuetracker.google.com/issues/436432313
2025-08-05 12:00:12 +02:00
Benoit Marty
eb33c8d864 [a11y] Let keyboard shortcut Shift + F10 trigger the same action than a long click 2025-08-05 09:41:08 +02:00