Commit Graph

167 Commits

Author SHA1 Message Date
Jorge Martín
aeaec5cb73 Merge remote-tracking branch 'origin/develop' into feature/fga/better_timeline_scroll 2023-07-18 07:46:02 +02:00
ganfra
92db07ff83 Merge branch 'develop' into feature/fga/better_timeline_scroll 2023-07-17 23:35:41 +02:00
Benoit Marty
b15484933d Merge branch 'develop' into fix/jme/880-sliding-sync-loop-expires-and-restarts 2023-07-17 22:18:59 +02:00
ganfra
9846db6338 Rework a bit MatrixClientHolder and reintroduce cacheIndex... 2023-07-17 18:34:50 +02:00
Jorge Martin Espinosa
280b7e32e0 Hide encryption history + FTUE flow (#839)
* First attempt at implementing encrypted history banner and removing old UTDs

* Get the right behavior in the timeline

* Implement the designs

* Extract post-processing logic, add tests

* Add encryption banner to timeline screenshots

* Create FTUE feature to handle welcome screen and analytics

* Move classes to their own packages, add tests for `DefaultFtueState`.

* Remove unnecessary private MutableStateFlow

* Move some FTUE related methods and classes back to the `impl` module

* Handle back press at each FTUE step

* Remove unneeded `TestScope` receiver for `createState` in tests.

* Use light & dark previews for the banner view.

* Move color customization from `TextStyle` to `Text` component.

* Rename `InfoList` design components, use them in `AnalyticsOptInView` too.

* Cleanup MatrixClient.

* Fix copy&paste error

Co-authored-by: Benoit Marty <benoit@matrix.org>

* Fix typo

* Fix Maestro tests

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2023-07-17 18:34:36 +02:00
Benoit Marty
c70dedba13 Map ClientException. 2023-07-17 15:50:08 +02:00
Benoit Marty
dafc8d5ebe Merge pull request #859 from vector-im/feature/bma/transactionId
Create value class for transactionId
2023-07-17 11:28:42 +02:00
ganfra
d7aef3818a Timeline: introduce origin on timeline items 2023-07-13 13:05:56 +02:00
ganfra
313b3a29b6 Merge pull request #863 from vector-im/feature/fga/timeline_pagination
Feature/fga/timeline pagination
2023-07-13 11:58:10 +02:00
ganfra
1a0dc8266b Timeline: rename file 2023-07-12 22:50:14 +02:00
ganfra
635e9b9edd Timeline: avoid pagination when timeline is not ready 2023-07-12 22:43:35 +02:00
Benoit Marty
771a4ecdd3 Create value class for transactionId. There is no validation on the format, but validation is a bonus for userId, roomId, etc.
The main advantage of using value classes instead of Strings everywhere is to detect errors at compilation time.
2023-07-12 18:15:17 +02:00
ganfra
bd04b579c6 Merge branch 'develop' into feature/fga/update-rust-sdk-0.1.31 2023-07-12 17:36:05 +02:00
Benoit Marty
d56a686b60 Merge pull request #850 from vector-im/feature/bma/fixTests
Ensure CI run all the tests.
2023-07-12 16:59:37 +02:00
ganfra
655c5a5ed5 Update rust sdk to 0.1.31: new uniqueId on timeline 2023-07-12 16:04:10 +02:00
Benoit Marty
2b84e7adc0 Fix warning (rename the base parameter name). 2023-07-12 14:11:26 +02:00
Benoit Marty
c0d2de26db Improve logs. 2023-07-12 12:39:41 +02:00
ganfra
7fabbc339d Merge branch 'develop' into feature/fga/update-rust-sdk-0.1.29-again 2023-07-10 15:41:42 +02:00
Jorge Martin Espinosa
9170c5eb71 Display room invitation notification (#735)
* Notifications: Add some extra mappings so we keep the original contents and can pass it later to an UI layer

* Fix notifications not appearing for a room if the app was on that room when it went to background.

* Modernize how we create spannable strings for notifications, remove unneeded dependency

* Remove actions from invite notifications temporarily

* Add `NotificationDrawerManager` interface to be able to clear membership notifications when accepting or rejecting a room invite

* Fix tests

* Add comment to clarify some weird behaviours

* Address review comments

* Set circle shape for `largeBitmap` in message notifications

* Fix no avatar in DM rooms

* Fix rebase issues

* Add invite list pending intent:

- Refactor pending intents.
- Make `DeepLinkData` a sealed interface.
- Fix and add tests.

* Rename `navigate__` functions to `attach__`

* Add an extra test case for the `InviteList` deep link

* Address most review comments.

* Fix rebase issue

* Add fallback notification type, allow dismissing invite notifications.

Fallback notifications have a different underlying type and can be dismissed at will.

* Fix tests
2023-07-10 14:34:58 +02:00
ganfra
98cf3e98c5 Update rust sdk to 0.1.29 (new back pagination status api) 2023-07-07 17:37:46 +02:00
Chris Smith
e0d5096afb Merge pull request #797 from vector-im/feature/cjs/hide-self-in-search 2023-07-07 12:26:05 +01:00
Chris Smith
a00e6fbb33 Introduce MatrixClient.isMe for checking sessionID 2023-07-07 12:03:43 +01:00
ganfra
da27970116 Merge branch 'develop' into feature/fga/waiting_ss_room 2023-07-07 11:34:45 +02:00
ganfra
1907745b1f Room: add extension method awaitAllRoomsAreLoaded with Timeout 2023-07-07 10:51:43 +02:00
Jorge Martin Espinosa
827c6e25ba Fix displaying reaction row in message action list (#788)
* Fix displaying reaction row in message action list

* Rename `sendState` to `localSendState` and make it nullable.

Create an `isRemote` helper to detect if an event comes from the server instead.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-07-06 16:51:51 +00:00
Chris Smith
77470b9a97 Show descriptions for locations.
Descriptions show in the same message bubble above the map in
the timeline, and in a bar at the top of the expanded map view.
2023-07-05 15:18:36 +01:00
Jorge Martin Espinosa
02fa8aaf46 Fix actions for redacted, not sent and media messages (#771)
* Fix actions for redacted, not sent and media messages

* Make `EventDebugInfoView` sections fill max width

* Don't display action list if there are no actions to display

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-07-05 14:08:17 +00:00
ganfra
03b2cbb06f Room: remove bestName and use displayName instead of name where it makes sense 2023-07-05 12:01:51 +02:00
ganfra
79eef06995 Await room: first attempt to wait for a room to be ready 2023-07-04 18:19:06 +02:00
Marco Romano
29d5d3baa7 Adds new optional parameters to MatrixRoom.sendLocation() (#767)
For location sharing.
2023-07-04 13:57:19 +00:00
Benoit Marty
1f455238d6 Replace CurrentUserProvider by an extension on MatrixClient. 2023-07-03 17:09:04 +02:00
Benoit Marty
002ddf4f3f Show current user in the settings and extract code in CurrentUserProvider. 2023-07-03 17:09:04 +02:00
Chris Smith
6b61a6eaf5 Merge remote-tracking branch 'origin/develop' into feature/cjs/view-location-in-timeline 2023-06-30 09:30:31 +01:00
ganfra
848afbf36d Timeline: use val instead of fun for flows 2023-06-29 18:03:12 +02:00
Chris Smith
fe322d072e Show location events in timeline
Not in scope: interacting with the timeline items,
reply formatting. These will be implemented separately.

Closes #689
2023-06-29 16:37:15 +01:00
Jorge Martin Espinosa
96d90a75d9 Send read receipts (#713)
* Send read receipts

* Add changelog

* Add tests.

* Optimise how sending read receipts work in the timeline.

* Move the check for send read receipts to the presenter

Also improve the way we find the first visible `Event` if we have `Virtual` ones in the timeline.
2023-06-29 10:08:19 +00:00
Chris Smith
712a9226e6 Merge pull request #696 from vector-im/feature/cjs/leaving-dms
Show a prompt to reinvite other party in a DM
2023-06-29 10:42:35 +01:00
Marco Romano
b504dbe5f0 MatrixRoom API refinement (#719)
- `syncUpdateFlow` becomes a `val` and always returns the same instance of the underlying `StateFlow` instead of different `Flow` instances to allow consumers not to remember the `Flow` and not to specify an unneeded initial value.
- `timeline` becomes a `val` as it already always returns the same instance.
- Amends calling code accordingly
- Removes a few unneeded `val`s in `RustMatrixClient
- Fixes a small bug in `MessagesPresenter` that allowed to sometime show a newly created room's name as "Empty room" (changes `LaunchedEffect(syncUpdateFlow)` to `LaunchedEffect(syncUpdateFlow.value)`)
2023-06-29 10:48:55 +02:00
Chris Smith
f7d498599b Show a prompt to reinvite other party in a DM
If you are looking at a DM where the other party has left then
when you focus the composer for the first time we'll show a
dialog asking if you want to reinvite the other party.

Closes #590
2023-06-28 17:20:51 +01:00
ganfra
e3744636b6 Merge branch 'develop' into feature/fga/room_list_api 2023-06-28 15:14:06 +02:00
jonnyandrew
9e8257cc4c Toggle reactions from the timeline (#707) 2023-06-28 13:02:04 +00:00
Benoit Marty
2cef47c271 Iterate on reactions (#668) 2023-06-27 19:49:14 +02:00
ganfra
2a24d0196e Merge branch 'develop' into feature/fga/room_list_api 2023-06-27 10:47:50 +02:00
Marco Romano
8101f42979 Add sendLocation API to Rust Room (#681)
Will be used by the location sharing feature.
2023-06-27 09:12:17 +02:00
renovate[bot]
ff135352d8 Update dependency org.matrix.rustcomponents:sdk-android to v0.1.24 (#675)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.1.24

* Add new `filterByPushRules`.
Only existing usage of this API will set this param to `true` in order to not change the current behavior.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marco Romano <marcor@element.io>
2023-06-27 08:29:36 +02:00
ganfra
5090bff06a RoomList: update LoadingState and fix a crash 2023-06-26 22:30:12 +02:00
ganfra
e5c86675a4 RoomList: more rework on RoomSummaryDataSource 2023-06-26 18:02:53 +02:00
Benoit Marty
f1019f3444 Move cache management to a dedicated class and in the setting module, for clarity. 2023-06-26 11:07:53 +02:00
Benoit Marty
b563b1ec95 Idx -> Index 2023-06-26 11:07:53 +02:00
Benoit Marty
58860a9440 Close the client before deleting data, and ensure the app is restarted, using a cache Index. 2023-06-26 11:07:22 +02:00