Commit Graph

4142 Commits

Author SHA1 Message Date
bmarty
3dddd90d97 Sync Strings from Localazy 2025-02-17 00:30:17 +00:00
Jorge Martín
1a48624c04 Rename JoinRoomEvents.DismissContent 2025-02-10 19:13:02 +01:00
Jorge Martín
02addf54dd 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
311fbb84f7 Make MatrixClient return a RoomPreview instance, not a RoomPreviewInfo one. 2025-02-10 19:13:02 +01:00
ganfra
3b0ac5420a feat(room preview) : use room summary joined members count 2025-02-10 19:13:02 +01:00
ganfra
ba07370dfa 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
76d6458bb9 Add unit test for PinUnlockState 2025-02-06 16:51:18 +01:00
Benoit Marty
c8d2377a5d Add unit test for SecureBackupRootState 2025-02-06 16:51:18 +01:00
Benoit Marty
98f793b02e Merge pull request #4226 from element-hq/feature/bma/themeOverride
Theme override
2025-02-06 16:48:16 +01:00
Jorge Martin Espinosa
c040cec108 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
6afc28ecb3 No need to expose libs.compound here. 2025-02-06 15:10:15 +01:00
Benoit Marty
39cb6e03f0 Use color from ElementTheme. 2025-02-06 15:10:15 +01:00
Benoit Marty
0d6d74512f Use ElementTheme instead of MaterialTheme 2025-02-06 15:10:15 +01:00
Benoit Marty
484ecb5f6c Color aliases now use ElementTheme 2025-02-06 15:10:14 +01:00
Benoit Marty
468ef0f7fc Add ability to EnterpriseService to override theme colors 2025-02-06 15:10:14 +01:00
Benoit Marty
79293e1e9d 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
1d5e78496c 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
247148df6b Move test class to package impl 2025-02-05 17:27:44 +01:00
Benoit Marty
686467b4a0 Add missing preview. 2025-02-05 12:15:29 +01:00
Benoit Marty
bfcc741312 Display a confirmation dialog before creating a DM. 2025-02-05 09:32:33 +01:00
Benoit Marty
8edffc5167 Update incoming call notification content to "📹 Incoming call" 2025-02-04 16:20:53 +01:00
Benoit Marty
c7a320d148 Create extension SyncService.isOnline() 2025-02-03 20:50:08 +01:00
Benoit Marty
0409ed84ed 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
5a4cac7d2d Sync Strings from Localazy 2025-02-03 00:29:01 +00:00
Benoit Marty
f5f66e6c60 Always render either "Not encrypted" or "Encrypted" badge in the room detail screen. 2025-01-30 11:01:05 +01:00
ganfra
c689809b55 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
d4aed1ddbe feat(security&privacy) : add more previews 2025-01-29 16:47:39 +01:00
ganfra
e6549d725c feat(security&privacy) : improve and document code after PR review. 2025-01-29 14:16:57 +01:00
Jorge Martin Espinosa
c935783a78 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
251c873672 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
a8b3c7c5a7 feat(security&privacy) : fix tests after some rework landed 2025-01-28 21:08:14 +01:00
ganfra
82bbf2c83f feat(security&privacy) : some more clean up 2025-01-28 20:09:58 +01:00
ganfra
627ce7de3f feat(security&privacy) : update canShowSecurityAndPrivacy check 2025-01-28 20:09:45 +01:00
ganfra
3c18c1f06a feat(security&privacy) : clean code 2025-01-28 14:39:27 +01:00
Benoit Marty
fdf40120a7 Add ability to swipe between media when opened from the timeline. 2025-01-28 09:58:44 +01:00
ganfra
76bc87275c feat(security&privacy) : add all tests for EditRoomAddress classes 2025-01-27 22:43:10 +01:00
ganfra
73281be1af feat(security&privacy) : write View tests 2025-01-27 21:39:25 +01:00
ganfra
ee4fba327c feat(security&privacy) : start writing tests 2025-01-27 16:36:53 +01:00
Benoit Marty
fa617dbda8 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
d419f2fdff Sync Strings from Localazy 2025-01-27 00:25:38 +00:00
Colin S
e37e43bf79 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]: 57e45aa834 (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
5c1bd6ddb7 feat(security&privacy) : make the whole RoomDirectoryVisibility item clickable 2025-01-24 16:27:24 +01:00
ganfra
9c2f8d39e4 feat(security&privacy) : update strings 2025-01-24 15:55:30 +01:00
Benoit Marty
9b0df915a6 Snackbar: SnackbarDispatcher.post does not need to be suspend. 2025-01-24 14:42:07 +01:00
ganfra
63db14293a feat(security&privacy) : use permissions and improve save 2025-01-23 23:29:35 +01:00
ganfra
19d273ddc4 feat(security&privacy) : introduce permissions and use in RoomDetails 2025-01-23 21:51:25 +01:00
ganfra
be199e25ff feat(security&privacy) : manage save action and some edge cases. 2025-01-23 14:19:23 +01:00
ganfra
968db70e94 feat(security&privacy) : manage encryption settings 2025-01-22 17:55:37 +01:00
ganfra
8a90770072 feat(security&privacy) : update the save address algorithm 2025-01-22 17:07:11 +01:00
ganfra
755ddcbf47 feat(privacy&security) : extract some code for address management 2025-01-22 16:34:03 +01:00