Commit Graph

4579 Commits

Author SHA1 Message Date
Jorge Martin Espinosa
d926dda29c Fix cursor position in room list search (#5138) 2025-08-08 15:50:06 +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
Benoit Marty
c4e654ac42 Cleanup: Remove unused class 2025-08-05 09:17:06 +02:00
Benoit Marty
3a97bff95a Cleanup: The local inspection mode is handled in ModalBottomSheet. 2025-08-04 16:37:43 +02:00
Benoit Marty
c2949b4753 Cleanup: rememberModalBottomSheetState is the default value for sheetState 2025-08-04 16:36:21 +02:00
Benoit Marty
aae24e01ef Sync string again 2025-08-04 14:50:08 +02:00
bmarty
a2c8107b44 Sync Strings from Localazy 2025-08-04 00:34:11 +00:00
Jorge Martin Espinosa
8298404630 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
0d0e958bd4 Sync Strings from Localazy 2025-07-28 00:33:43 +00:00
Jorge Martin Espinosa
2750835a36 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
7958bb4692 Prevent crash caused by re-release of wakelock in calls (#5077) 2025-07-25 13:36:23 +02:00
Jorge Martin Espinosa
b57e79f8c6 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]
58e1503e61 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
b219c05d06 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
746699b468 Merge pull request #5054 from element-hq/sync-localazy
Sync Strings
2025-07-22 21:13:30 +02:00
bmarty
06312b2e4a Sync Strings from Localazy 2025-07-22 20:46:13 +02:00
ganfra
566377abc8 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
1ad78b54f8 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
6752146061 Grammar fixes for docs and comments (#5043) 2025-07-17 20:32:37 +02:00
Benoit Marty
3396b2b043 [a11y] Improve accessibility on avatar when creating a room. 2025-07-17 16:46:34 +02:00
Benoit Marty
c40badec65 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
584aaa6fe4 Fix typo 2025-07-17 15:14:49 +02:00
Benoit Marty
e3f07a1273 Remove blank line 2025-07-16 11:23:42 +02:00
Benoit Marty
9dbb2634ab FAB: iterate on design 2025-07-16 10:11:53 +02:00
Benoit Marty
75c9bf20db Iterate on FloatingActionButton shape and colors. 2025-07-16 09:47:08 +02:00
bmarty
fcacfa87c1 Sync Strings from Localazy 2025-07-14 00:33:09 +00:00
Benoit Marty
a1fc4487f3 [a11y] Ensure that the loading state is read out. 2025-07-11 15:42:44 +02:00
Benoit Marty
4618730ff0 [a11y] Ensure that the header is focused on each verification step change 2025-07-11 15:33:52 +02:00
Benoit Marty
7ec37b5123 [a11y] Group emoji labels so that they are read out all together. 2025-07-11 14:43:25 +02:00
Benoit Marty
9f5acd24fa [a11y] Group device information and spell out the deviceId 2025-07-11 14:35:08 +02:00
Benoit Marty
2da22c98a1 OutgoingVerificationView: replace PageTitle by IconTitleSubtitleMolecule 2025-07-11 14:17:33 +02:00
Benoit Marty
63a50bb206 IncomingVerificationView: replace PageTitle by IconTitleSubtitleMolecule 2025-07-11 14:16:36 +02:00