Commit graph

4578 commits

Author SHA1 Message Date
Benoit Marty
1afcce2b97
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
8a163fc7d2
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
2a67ad4c67 Only change the log folder on enterprise build 2025-08-07 14:02:07 +02:00
Benoit Marty
2d801a0924 Add tests 2025-08-07 12:38:10 +02:00
Benoit Marty
a8ba4751ed Fix tests 2025-08-07 12:19:26 +02:00
Benoit Marty
2a4fc974ea Ensure that deleteAllFiles will check all the log files. 2025-08-07 11:40:38 +02:00
Benoit Marty
18c325560b Store log files in subfolder based on the homeserver domain. 2025-08-07 11:31:05 +02:00
Benoit Marty
122aeb1d03
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
ecd3fc7ed1 Add missing preview on LoginModeView 2025-08-06 14:40:37 +02:00
Jorge Martin Espinosa
1343aaed20
Reload room member list when active members count changes (#5129) 2025-08-06 10:37:52 +00:00
Benoit Marty
df731a6037 Remove blank line 2025-08-06 11:13:11 +02:00
Benoit Marty
fb30748ed7 Rename file to match class name. 2025-08-06 11:12:22 +02:00
Benoit Marty
89ef890a7c 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
43fade19c6 Fix comment quality 2025-08-05 21:11:20 +02:00
Benoit Marty
be82c6e257 Rename extension. 2025-08-05 21:11:19 +02:00
Jorge Martin Espinosa
1a335698c0
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
dff295eadf
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
9557035199 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
d988ae3082 [a11y] Let keyboard shortcut Shift + F10 trigger the same action than a long click 2025-08-05 09:41:08 +02:00
Benoit Marty
27ad6217ec Cleanup: Remove unused class 2025-08-05 09:17:06 +02:00
Benoit Marty
8994ff587b Cleanup: The local inspection mode is handled in ModalBottomSheet. 2025-08-04 16:37:43 +02:00
Benoit Marty
60be02c3c3 Cleanup: rememberModalBottomSheetState is the default value for sheetState 2025-08-04 16:36:21 +02:00
Benoit Marty
bdcafde2ce Sync string again 2025-08-04 14:50:08 +02:00
bmarty
ee77c646eb Sync Strings from Localazy 2025-08-04 00:34:11 +00:00
Jorge Martin Espinosa
51f67741ae
Adapt 'change roles' screens to the new creator/owner role (#5076)
* Replace `RoomMember.Role.CREATOR` with `RoomMember.Role.Owner` - Make `RoomMember.Role` a sealed interface instead

* Adapt room member role mapping to include the power level to distinguish between admins and owners

* Use new `RoomMember.Role` sealed interface through the app

* Change how `MembersByRole` groups members to add owners to the admins section

* Adapt the `ChangeRoles` screen to the new roles:
    - Owners can't modify other owner's roles.
    - They can modify the roles of any other user, without confirmation.

* Adapt 'roles and permissions' screen:
    - Owners can't demote themselves.
    - The admin count also counts owners.

* Add more tests and screenshots

* Add owners to its own section in the 'change roles' screen

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-07-29 14:07:16 +00:00
bmarty
0fb0861bc1 Sync Strings from Localazy 2025-07-28 00:33:43 +00:00
Jorge Martin Espinosa
afa01e926b
Make sure we display errors when we create a recovery key and it fails (#5079)
* Make sure we display errors when we create a recovery key and it fails

* Add another preview for the error state

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-07-25 13:36:43 +02:00
Jorge Martin Espinosa
34848aa7f9
Prevent crash caused by re-release of wakelock in calls (#5077) 2025-07-25 13:36:23 +02:00
Jorge Martin Espinosa
e14ef24927
Prevent loop when exiting the attachments preview screen (#5078)
Disable the custom `BackHandler` when the `sendState` is `Done`. Otherwise, it can get into a loop in some cases where `postCancel()` calls the `OnDoneListener`, which triggers an up navigation, which then simulates a back press... and we end up in the custom `BackHandler` again.
2025-07-25 13:36:09 +02:00
renovate[bot]
040fde7f22
Update dependency org.matrix.rustcomponents:sdk-android to v25.7.23 (#5073)
* Update dependency org.matrix.rustcomponents:sdk-android to v25.7.23

* Adapt to SDK changes:

- Add 'creator' role, adapt existing logic to it.
- Remove `ReplyParameters`, replace with `EventId` where possible.
- Fix changes in OIDC auth methods.
- Add more join rules.

* Make sure both creators and users with power level >= 150 are displayed as 'owners' in the room member list.

* Don't close the roles and permissions screen if the user is a creator

* Use `MediaPreviewValue.DEFAULT` for `MediaPreviewConfig.DEFAULT` too

* Improve APIs around checking roles and power levels:
    - Ensure `RoomInfo.RoomPowerLevels.users` can't be directly used to check power levels since it can't check the power levels for creators.
    - Add a few helper functions to handle actions that relied on the previous `users` property, and docs to explain their usages.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-07-24 11:58:30 +02:00
Jorge Martin Espinosa
d53457ec66
Make sure we clean up the pre-processed and uploaded media (#5039)
* Add `MediaSender.cleanUp()` and `MediaPreProcessor.cleanUp()` methods: this will remove the temporary files created when pre-processing media before sending them.

* Make sure we clean up also the previous temporary media.

* Fix the condition for the custom back handler in the attachments preview screen

* Tests: check the clean up is performed when needed
2025-07-23 08:55:20 +02:00
ganfra
9f11884ddd
Merge pull request #5054 from element-hq/sync-localazy
Sync Strings
2025-07-22 21:13:30 +02:00
bmarty
8ffbfd82e8 Sync Strings from Localazy 2025-07-22 20:46:13 +02:00
ganfra
372d5f6e9b
Merge pull request #5046 from element-hq/feature/bma/a11y/createRoomImage
[a11y] Improve accessibility on avatar when creating a room.
2025-07-22 18:25:23 +02:00
Jorge Martin Espinosa
09e127cffc
Use lower level APIs to draw the message bubbles (#5056)
Co-authored-by: ElementBot <android@element.io>
2025-07-21 12:00:31 +02:00
Andy Balaam
6b7cb76734
Grammar fixes for docs and comments (#5043) 2025-07-17 20:32:37 +02:00
Benoit Marty
41783eb599 [a11y] Improve accessibility on avatar when creating a room. 2025-07-17 16:46:34 +02:00
Benoit Marty
2e0da99f2c
Merge pull request #5017 from element-hq/feature/bma/a11y/sessionVerification
[a11y] Improve session verification screens
2025-07-17 15:45:32 +02:00
Benoit Marty
cb725b279f
Fix typo 2025-07-17 15:14:49 +02:00
Benoit Marty
6674afbdb0 Remove blank line 2025-07-16 11:23:42 +02:00
Benoit Marty
cdbadb5477 FAB: iterate on design 2025-07-16 10:11:53 +02:00
Benoit Marty
827b02992d Iterate on FloatingActionButton shape and colors. 2025-07-16 09:47:08 +02:00
bmarty
9ce7ad4903 Sync Strings from Localazy 2025-07-14 00:33:09 +00:00
Benoit Marty
27c10125b6 [a11y] Ensure that the loading state is read out. 2025-07-11 15:42:44 +02:00
Benoit Marty
b262c4f9ff [a11y] Ensure that the header is focused on each verification step change 2025-07-11 15:33:52 +02:00
Benoit Marty
ca8298b91c [a11y] Group emoji labels so that they are read out all together. 2025-07-11 14:43:25 +02:00
Benoit Marty
62b2bbaf95 [a11y] Group device information and spell out the deviceId 2025-07-11 14:35:08 +02:00
Benoit Marty
1064d403a6 OutgoingVerificationView: replace PageTitle by IconTitleSubtitleMolecule 2025-07-11 14:17:33 +02:00
Benoit Marty
fef940a931 IncomingVerificationView: replace PageTitle by IconTitleSubtitleMolecule 2025-07-11 14:16:36 +02:00
Benoit Marty
cfb795c917 AnalyticsOptInView: replace PageTitle by IconTitleSubtitleMolecule 2025-07-11 14:15:12 +02:00