Commit graph

1568 commits

Author SHA1 Message Date
Benoit Marty
eda18f8b78 Replace Material icons with Compound icons wherever it's possible 2025-02-26 22:19:19 +01:00
Benoit Marty
280287b023 Change CompoundIcons.Error to CompoundIcons.ErrorSolid 2025-02-26 18:52:31 +01:00
Benoit Marty
420b6135d2 Change CompoundIcons.VoiceCall to CompoundIcons.VoiceCallSolid 2025-02-26 18:49:22 +01:00
Jorge Martin Espinosa
dbb1de146b
Upgrade SDK version to 25.02.26 (#4305)
* Upgrade SDK version to 25.02.26

* Remove OIDC URL result from logout, the SDK no longer provides it

* Handle room creation and destruction in a better way

* Remove `onSuccessLogout`
2025-02-26 09:04:49 +00:00
Jorge Martin Espinosa
5d8403b310
Try avoiding trailing punctuation inside linkified URLs. (#4214)
Create `LinkfierHelper` and post-process URLSpans added to make sure they honor the actual URLs in text by removing unnecessarily added trailing punctuation.
2025-02-21 16:58:59 +00:00
Benoit Marty
86afffb4bc
Merge pull request #4274 from element-hq/feature/bma/mediaTimelineImprovment
Update Matrix Room API and allow media swipe on pinned event only.
2025-02-19 09:41:27 +01:00
Benoit Marty
cc9c7b1b03
Merge branch 'develop' into feature/valere/support_verification_violation_banner 2025-02-18 15:42:08 +01:00
Benoit Marty
a145c15547 typo 2025-02-18 14:18:24 +01:00
Benoit Marty
4fc23dcc19 Move roomMemberIdentityStateChanges from ComposerState to MessagesState. 2025-02-18 14:17:21 +01:00
Benoit Marty
6de04daddf Move DisabledComposer to MessageView. 2025-02-18 14:12:22 +01:00
Benoit Marty
81a4aa018d Cleanup code. 2025-02-18 14:01:44 +01:00
Benoit Marty
53e55b690e Cleanup code. 2025-02-18 13:42:56 +01:00
Benoit Marty
20bac66dd4 Trailing comma and named param. 2025-02-18 13:36:54 +01:00
Benoit Marty
1b9e4bdd9e Move fun and add private modifier. 2025-02-18 13:36:05 +01:00
Benoit Marty
cc11677cd9 Improve MatrixRoom.createTimeline API. 2025-02-18 12:12:36 +01:00
Benoit Marty
2e9a158fb0 Update Matrix Room API and allow media swipe on pinned event only. 2025-02-17 16:45:25 +01:00
Benoit Marty
43ee582213 Sync strings again.
Revert wrong change on Hungarian plurals.
2025-02-17 11:29:49 +01:00
bmarty
f549e7bba2 Sync Strings from Localazy 2025-02-17 00:30:17 +00: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
Valere
22c0d08e7c post rebase: Fix test 2025-02-06 17:19:44 +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
Valere
e65a436625 fixup: remove dead code (refactored method) 2025-02-06 16:27:22 +01:00
Valere
a3ec13340e fixup: ktlint 2025-02-06 16:27:22 +01:00
Valere
b25361907d fix disabled composer padding/margin diff with composer 2025-02-06 16:27:21 +01:00
Valere
3f1543eb51 code review: renaming, comments, extract common code 2025-02-06 16:27:21 +01:00
Valere
eb1375279c test: Add new IdentityChangeStateViewTest 2025-02-06 16:27:21 +01:00
Valere
d3a6ab696a Fix konsist warnings 2025-02-06 16:27:20 +01:00
Valere
e5c99e778b Quick test for verification violation event 2025-02-06 16:27:19 +01:00
Valere
52c57d4d8e feature(crypto): verification violation handling and block sending 2025-02-06 16:27:19 +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
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
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
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
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
Benoit Marty
1776d93a20 Add ability to swipe between media when opened from the timeline. 2025-01-28 09:58:44 +01: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
Benoit Marty
1ecb704e24 Snackbar: SnackbarDispatcher.post does not need to be suspend. 2025-01-24 14:42:07 +01:00
Benoit Marty
d26414f1d3 Provide duration 2025-01-22 16:22:18 +01:00
Benoit Marty
7df65b0350 Add support for files navigation (when coming from the gallery) 2025-01-22 16:22:15 +01:00
Jorge Martin Espinosa
65ce91a8fb
Close the media preview screen ASAP with sending queue enabled (#4089)
* Close the attachment preview screen ASAP when sending media with the send queue is enabled

* When the send queue FF is not enabled make sure to dismiss the screen after the media has been sent

* Make sure we get a scaled thumbnail from videos too, not only for images

* Unify several state holders into `SendActionState`.

* Fix lint issues, add `Flow.firstInstanceOf` extension fun

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-01-08 15:49:17 +00:00
Benoit Marty
97f3be3dc5 Apply dual licenses: AGPL + Element Commercial to file headers.
2 replace all actions have been performed:
- "SPDX-License-Identifier: AGPL-3.0-only" to "SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial"
- "Please see LICENSE in the repository root for full details." to "Please see LICENSE files in the repository root for full details."
2025-01-07 10:05:04 +01:00
Marco Antonio Alvarez
ec27ea4697 If there's no mime type in the sticker event we can safely assume it's an image anyway.
Signed-off-by: Marco Antonio Alvarez <surakin@gmail.com>
2025-01-04 19:41:04 +01:00
bmarty
2758adb646 Sync Strings from Localazy 2024-12-30 10:12:13 +00:00
bmarty
45db2a97ad Sync Strings from Localazy 2024-12-23 00:16:39 +00:00
Benoit Marty
5c41de60fa Move share and download actions to the bottom sheet 2024-12-19 16:20:50 +01:00