Commit graph

4142 commits

Author SHA1 Message Date
bmarty
f549e7bba2 Sync Strings from Localazy 2025-02-17 00:30:17 +00:00
Jorge Martín
cebdce7d44 Rename JoinRoomEvents.DismissContent 2025-02-10 19:13:02 +01:00
Jorge Martín
d87cf5c4df Add RoomMembershipDetails to get the room member info for the current user and the sender of its m.room.member state event in the room. 2025-02-10 19:13:02 +01:00
Jorge Martín
fa5ee41867 Make MatrixClient return a RoomPreview instance, not a RoomPreviewInfo one. 2025-02-10 19:13:02 +01:00
ganfra
94be4d7060 feat(room preview) : use room summary joined members count 2025-02-10 19:13:02 +01:00
ganfra
a73bcb71d5 feature(room preview): Add option to forget room, improve the room preview screen for banned rooms.
Some internal refactoring was done too:
- Remove RoomInfo.isPublic to only use JoinRule.
- Also take into account restricted access rooms for previews.
2025-02-10 19:13:02 +01:00
Benoit Marty
54af229245 Add unit test for PinUnlockState 2025-02-06 16:51:18 +01:00
Benoit Marty
6b12d459ea Add unit test for SecureBackupRootState 2025-02-06 16:51:18 +01:00
Benoit Marty
5456f0e38e
Merge pull request #4226 from element-hq/feature/bma/themeOverride
Theme override
2025-02-06 16:48:16 +01:00
Jorge Martin Espinosa
3c87fb05b2
Create SyncOrchestrator (#4176)
* Create `SyncOrchestrator` to centralise the sync start/stop flow through the whole app: the decision is based on several inputs: sync state, network available, app in foreground, app in call, app needing to sync an event for a notification.

* Make network monitor return network connectivity status, not internet connectivity

* Don't stop the `SyncService` when network connection is lost, let it fail instead. This prevents an issue when using the offline mode of the SDK, which made the wrong UI states to be shown when the `SyncState` is `Idle` (that is, after the service being manually stopped).

* Rename `NetworkStatus.Online/Offline` to `Connected/Disconnected` so they're not easily mistaken with internet connectivity instead
2025-02-06 16:36:57 +01:00
Benoit Marty
b7dc2e3551 No need to expose libs.compound here. 2025-02-06 15:10:15 +01:00
Benoit Marty
cc7fd55269 Use color from ElementTheme. 2025-02-06 15:10:15 +01:00
Benoit Marty
07d4778ae5 Use ElementTheme instead of MaterialTheme 2025-02-06 15:10:15 +01:00
Benoit Marty
4f5155c314 Color aliases now use ElementTheme 2025-02-06 15:10:14 +01:00
Benoit Marty
1654f569a0 Add ability to EnterpriseService to override theme colors 2025-02-06 15:10:14 +01:00
Benoit Marty
ce1c01e626
Merge pull request #4198 from cbs228/bugfix/full-browser-for-web-links
Open chat links in regular browser tabs
2025-02-06 09:10:23 +01:00
Benoit Marty
070fd4f53a Do not rely on RoomAlias constructor to validate the Room alias, since there is no validation in release mode.
This is fixing the test in release mode.
2025-02-05 18:05:10 +01:00
Benoit Marty
39b51b4904 Move test class to package impl 2025-02-05 17:27:44 +01:00
Benoit Marty
a01280133d Add missing preview. 2025-02-05 12:15:29 +01:00
Benoit Marty
9a255c5e31 Display a confirmation dialog before creating a DM. 2025-02-05 09:32:33 +01:00
Benoit Marty
7878f97453 Update incoming call notification content to "📹 Incoming call" 2025-02-04 16:20:53 +01:00
Benoit Marty
c8f4268545 Create extension SyncService.isOnline() 2025-02-03 20:50:08 +01:00
Benoit Marty
f84aa03605 Enable Offline mode of the SyncService, so that the sync starts automatically when the network is back.
Also rely on the sync state to render the "Offline" banner.
2025-02-03 18:27:32 +01:00
bmarty
be91da966a Sync Strings from Localazy 2025-02-03 00:29:01 +00:00
Benoit Marty
a0a5480633 Always render either "Not encrypted" or "Encrypted" badge in the room detail screen. 2025-01-30 11:01:05 +01:00
ganfra
346e3648e8
Merge pull request #4212 from element-hq/feature/fga/room_settings_security_privacy
Feature : room settings - security and privacy
2025-01-29 17:29:56 +01:00
ganfra
15f2d0bf83 feat(security&privacy) : add more previews 2025-01-29 16:47:39 +01:00
ganfra
8880eeda40 feat(security&privacy) : improve and document code after PR review. 2025-01-29 14:16:57 +01:00
Jorge Martin Espinosa
9b5b76203f
Use secret Sentry DSN value (#4210)
* Use secret Sentry DSN value.

We realised our DSN entry has been shipped along with the code and it was being used in several forks as is, resulting in wrong bug reports coming into our Sentry dashboard and making it very hard to debug actual issues in the app.
2025-01-29 13:47:06 +01:00
Colin S
ebdd9459e7
messages: separate custom tab links from normal links
Some links in the `MessagesView` are part of Element X itself,
such as the help pages in `LearnMoreConfig` [1]. These links
should open in an "in-app" Chrome Custom Tab, because they are
basically part of the app.

Web links from chat messages, on the other hand, should open in
the user's preferred web browser as regular tabs.

Separate "regular" links from "custom tab" links with a new
parameter `onLinkClick(..., customTab)`. If true, the link
opens in a custom tab.

Links within `TimelineView` are always opened in a normal tab.

[1]: appconfig/src/main/kotlin/io/element/android/appconfig/LearnMoreConfig.kt
2025-01-28 20:53:22 -06:00
ganfra
706b298c3f feat(security&privacy) : fix tests after some rework landed 2025-01-28 21:08:14 +01:00
ganfra
d586bdc815 feat(security&privacy) : some more clean up 2025-01-28 20:09:58 +01:00
ganfra
58918b18ff feat(security&privacy) : update canShowSecurityAndPrivacy check 2025-01-28 20:09:45 +01:00
ganfra
d992f38fa5 feat(security&privacy) : clean code 2025-01-28 14:39:27 +01:00
Benoit Marty
1776d93a20 Add ability to swipe between media when opened from the timeline. 2025-01-28 09:58:44 +01:00
ganfra
876d06f510 feat(security&privacy) : add all tests for EditRoomAddress classes 2025-01-27 22:43:10 +01:00
ganfra
c0c7d5b659 feat(security&privacy) : write View tests 2025-01-27 21:39:25 +01:00
ganfra
fdc4f1b0fe feat(security&privacy) : start writing tests 2025-01-27 16:36:53 +01:00
Benoit Marty
df82afb6dc
Merge pull request #4195 from element-hq/feature/bma/snackBar
Fix snack bar not displayed in MediaViewer
2025-01-27 09:52:36 +01:00
bmarty
b016348602 Sync Strings from Localazy 2025-01-27 00:25:38 +00:00
Colin S
31c3b0c881
messages: open web links in full web browser
In [1], all hyperlinks within `MessagesNode` switched to using

    activity.openUrlInChromeCustomTab()

instead of with `openUrlInExternalApp()`.

This causes web links in chat messages to open in an "in-app"
Chrome Custom Tab [2] instead of the user's configured "full"
web browser. This is a UX nuisance. Open web links in a full
browser instead.

Closes #3885 [3].

[1]: 5baefd479f (Identity change: handle click on "learn more")

[2]: https://developer.chrome.com/docs/android/custom-tabs/guide-get-started#opening_a_custom_tab

[3]: https://github.com/element-hq/element-x-android/issues/3885
2025-01-25 21:07:22 -06:00
ganfra
c07a7d926c feat(security&privacy) : make the whole RoomDirectoryVisibility item clickable 2025-01-24 16:27:24 +01:00
ganfra
ba0a85703b feat(security&privacy) : update strings 2025-01-24 15:55:30 +01:00
Benoit Marty
1ecb704e24 Snackbar: SnackbarDispatcher.post does not need to be suspend. 2025-01-24 14:42:07 +01:00
ganfra
88fce64d2f feat(security&privacy) : use permissions and improve save 2025-01-23 23:29:35 +01:00
ganfra
75fef6b325 feat(security&privacy) : introduce permissions and use in RoomDetails 2025-01-23 21:51:25 +01:00
ganfra
edee18a033 feat(security&privacy) : manage save action and some edge cases. 2025-01-23 14:19:23 +01:00
ganfra
7eda9453df feat(security&privacy) : manage encryption settings 2025-01-22 17:55:37 +01:00
ganfra
392299d5ce feat(security&privacy) : update the save address algorithm 2025-01-22 17:07:11 +01:00
ganfra
0e6c86f3e5 feat(privacy&security) : extract some code for address management 2025-01-22 16:34:03 +01:00