Commit Graph

505 Commits

Author SHA1 Message Date
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
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
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
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
bmarty
841c08cbf3 Sync Strings from Localazy 2025-01-20 00:26:57 +00:00
ganfra
19c61331ec change(design) : replace DialogLikeBannerMolecule by Announcement component 2025-01-14 16:35:37 +01:00
bmarty
24fd0a3911 Sync Strings from Localazy 2025-01-13 00:30:35 +00:00
Benoit Marty
05fc76822a 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
bmarty
7a57ec1cc1 Sync Strings from Localazy 2024-12-23 00:16:39 +00:00
Benoit Marty
ecc308a9d7 Merge pull request #4029 from element-hq/feature/bma/eventCache
Add a feature flag to be able to enable the event cache
2024-12-12 17:59:47 +01:00
Benoit Marty
299de21968 Fix tests 2024-12-12 17:53:02 +01:00
Benoit Marty
87de436c98 Add a way to clear the cache for a specific room. 2024-12-12 11:58:46 +01:00
Benoit Marty
4188d58b56 Implement month separator for the Gallery.
Improve day separator rendering in the timeline.
Use Today, Yesterday, and the name of the day if less than 7 days and do not render the year for the current year.
Improve date format for the media viewer.
Rework how date and time are computed.
ActionListView: Time can take more space, so update the layout.
2024-12-11 23:57:57 +01:00
bmarty
01855f09a9 Sync Strings from Localazy 2024-12-09 00:30:45 +00:00
bmarty
545b4f500c Sync Strings from Localazy 2024-12-02 00:30:02 +00:00
ElementBot
1b51cd8300 Sync Strings (#3936)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2024-11-25 09:06:57 +00:00
ganfra
40c9a12a98 Merge branch 'develop' into feature/bma/fixSendQueueCrash 2024-11-22 10:51:41 +01:00
ganfra
982410ece8 fix : protect some more calls to client and rework the concerned apis 2024-11-21 19:53:42 +01:00
ganfra
9e744690eb fix : display security banner for room list empty state 2024-11-19 11:07:50 +01:00
ElementBot
411895456b Sync Strings - add translations to Finnish (#3883)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2024-11-18 11:37:17 +00:00
ganfra
79b758c228 Merge pull request #3834 from element-hq/feature/fga/design_system_text_field
Design system : implement new TextField
2024-11-12 11:18:07 +01:00
ElementBot
f595a7a7c5 Sync Strings (#3852)
* Sync Strings from Localazy

* Fix tests

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-11-11 13:09:30 +01:00
ganfra
2f6a09f957 design : format textfield code 2024-11-08 15:41:07 +01:00
ganfra
a293ea0f2b design : TextField2 is now TextField 2024-11-08 15:37:10 +01:00
bmarty
fed502957b Sync Strings from Localazy 2024-11-04 00:27:46 +00:00
Benoit Marty
e95613f3fe Merge pull request #3750 from element-hq/feature/bma/cryptoIteration
UI iteration on the encryption settings
2024-10-30 11:11:35 +01:00
Benoit Marty
fe16a29283 Crypto: iterate on wording, UI and UX.
Change wording of setup recovery key banner and change target to root.
Iterate on wording of encryption screen.
Change button to Switch.
Iterate on wording to delete key storage.
Iterate on wording and icon on the root setting.
Remove confirmation dialog when disabling backup.
Add subtitle to change recovery key action.
Enable key storage directly, remove quite empty screen to setup the backup.
Disable recovery action if key backup is disabled.
2024-10-29 14:54:59 +01:00
Benoit Marty
d1b3ecab36 Incoming session verification request
Add more log to the state machines
Ensure the block cannot be cancelled, else if the Rust SDK emit a new state during the API execution, the state machine may cancel the api call.
Let VerificationFlowState values match the SDK api for code clarity.
Rename sub interface for clarity.
Migrate tests to the new FakeVerificationService.
2024-10-29 09:26:15 +01:00
bmarty
8cf5729ece Sync Strings from Localazy 2024-10-28 00:27:09 +00:00
ganfra
b5b83660c2 knock : display alias in knocked room item list 2024-10-22 16:22:20 +02:00
ganfra
1424296811 knock : display knocked room in the room list 2024-10-22 16:22:19 +02:00
ganfra
12d26bb3b7 knock : update strings 2024-10-22 16:22:07 +02:00
bmarty
f19ea02390 Sync Strings from Localazy 2024-10-21 00:27:20 +00:00
Jorge Martin Espinosa
6b2aa7eb8c Refresh room summaries when date or time changes in the device (#3683)
* Add `DateTimeObserver` to rebuild the room summary data when the date/time changes.

* Add time changed action too, to trigger when the user manually changes date/time

* Fix timezone issue by adding `TimezoneProvider`, fix tests

* Create test for `DateTimeObserver` usage in `RoomListDataSource`

* Create aRoomListRoomSummaryFactory function.

* Improve test by faking the lastMessageTimestampFormatter

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-10-16 09:10:58 +00:00
bmarty
29a489df0b Sync Strings from Localazy 2024-10-14 00:27:28 +00:00
ganfra
d73b1bad91 misc : remove direct usage of RoomSummary in UI and let RoomSummary use RoomInfo. 2024-10-08 21:34:34 +02:00
Jorge Martin Espinosa
e71a010e22 Fix the logic of the room list banner state (#3615)
* Fix `deriveStateOf` preventing the banner state from updating

* Try improving implementation of the check

* No need for `syncState`
2024-10-08 10:13:39 +00:00
Benoit Marty
08673f44ce Use backgroundScope 2024-10-07 17:46:19 +02:00
Benoit Marty
2a4726e611 Remove FakeLeaveRoomPresenter 2024-10-07 17:46:18 +02:00
Benoit Marty
7dce60c756 Remove dependencies to other presenters to LeaveRoomPresenter. 2024-10-07 17:46:16 +02:00
Benoit Marty
724c183639 Remove dependencies to other presenters to FullScreenIntentPermissionsPresenter.
Also do some renaming since FullScreenIntentPermissionsPresenter interface can be removed.
2024-10-07 17:45:18 +02:00
Benoit Marty
cf05a9680f Remove dependencies to other presenters from PreferencesRootPresenter.
Also do some renaming since DirectLogoutPresenter interface can be removed.
2024-10-07 17:45:17 +02:00
bmarty
05291bcf2f Sync Strings from Localazy 2024-10-07 00:28:33 +00:00
Jorge Martin Espinosa
4a43fcb69a Use Anvil KSP instead of the Square KAPT one (#3564)
* Use Anvil KSP instead of the Square KAPT one

* Fix several configuration cache, lint and test issues

* Allow incremental kotlin compilation in the CI

* Workaround Robolectric + Compose issue that caused `AppNotIdleException`

* Update the `enterprise` commit hash

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2024-10-02 11:52:17 +00:00
Jorge Martin Espinosa
5fcc80a383 Don't display security banner for unknown RecoveryState (#3579)
* Don't display security banner for unknown `RecoveryState`

* Don't display 'set up recovery' if its status is unknown.

Add more screenshot tests.

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2024-10-02 09:28:33 +00:00