Commit graph

906 commits

Author SHA1 Message Date
Benoit Marty
f4b4e4d316 Configure user agent for all network request (#677) 2023-06-29 13:05:23 +02:00
Jorge Martin Espinosa
469b54f204 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
f4e17cf12d 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
354374ed49 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
Jorge Martin Espinosa
91060c76a7 Update compound theme colors (#718)
* Update `*surfaceVariant` colors in `MaterialTheme`.

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-29 09:19:31 +02:00
Jorge Martin Espinosa
679ee301dd Create a dummy value by default for LocalSnackbarDispatcher. (#715)
This should solve the issue with needing to provide a `LocalSnackbarDispatcher` for previews and screenshot tests.
2023-06-28 18:59:08 +02:00
Chris Smith
53861fedb6 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
2ce614ae97 Merge pull request #692 from vector-im/feature/fga/room_list_api
Feature/fga/room list api
2023-06-28 18:18:34 +02:00
ganfra
0631830059 RoomListService: enable encryption 2023-06-28 16:49:08 +02:00
ganfra
f25314f7f7 Coroutine: create extension method to create childScope 2023-06-28 16:41:59 +02:00
Marco Romano
67f9444633 Adds M3's BottomSheetScaffold wrapper to designsystem module (#711)
Needed for the share location screen.
2023-06-28 16:15:49 +02:00
ganfra
8e5c2a749a Merge branch 'develop' into feature/fga/room_list_api 2023-06-28 15:14:06 +02:00
jonnyandrew
366a800a2c Toggle reactions from the timeline (#707) 2023-06-28 13:02:04 +00:00
Jorge Martin Espinosa
b66801a022 Fix crash when opening a URL with associated text (#699)
* Fix crash when opening a URL with associated text

* Enforce using an `Activity` instead of a `Context` in `SafeUriHandler`.
2023-06-28 09:19:39 +00:00
Jorge Martin Espinosa
683b0b3594 Link Compound's TypographyTokens to ElementTheme. (#700)
* Link Compound's `TypographyTokens` to `ElementTheme`.

Also add some docs about when we should use each set of tokens.

* Renamed `LocalColors` to `LocalLegacyColors`.

Made both `LocalLegacyColors` and `LocalCompoundColors` internal. This means it will need to always be used through `ElementTheme.`

Also, removed any usages of `LocalColors.current` accross the project, they're now used through `ElementTheme.legacyColors`.
2023-06-28 08:53:20 +00:00
Benoit Marty
8c3402b3f9 Use Semantic color for placeholder. 2023-06-27 21:27:59 +02:00
Benoit Marty
8dcf527933 Fix compilation issue after rebase. 2023-06-27 19:58:42 +02:00
Benoit Marty
80f2f6aa55 Fix compilation issue after rebase. 2023-06-27 19:51:10 +02:00
Benoit Marty
31c7c29836 Fix rendering of Room item in ForwardMessagesView 2023-06-27 19:49:54 +02:00
Benoit Marty
30d2a319ce Use a determinate progress indicator to improve the preview rendering 2023-06-27 19:49:54 +02:00
Benoit Marty
0c7832534c Cleanup 2023-06-27 19:49:54 +02:00
Benoit Marty
43b7acc64e Iterate on reactions (#668) 2023-06-27 19:49:14 +02:00
Benoit Marty
5e455eccb6 Fix compilation issue after rebase 2023-06-27 19:49:14 +02:00
Benoit Marty
02a71155d9 Improve rendering of message reply preview. 2023-06-27 19:48:31 +02:00
Benoit Marty
e2731c1d4c Fix color of reply body preview. 2023-06-27 19:43:03 +02:00
Benoit Marty
ee3e2108a0 Move all density unit calculation to the same place. 2023-06-27 19:43:03 +02:00
Benoit Marty
77432ef1a7 Create AvatarSize.MessageActionSender for Avatar in message actions bottom sheet (same value but do not use AvatarSize.TimelineSender) 2023-06-27 19:43:03 +02:00
Benoit Marty
ddaf862764 Improve preview by adding Divider, and improve rendering. 2023-06-27 19:43:03 +02:00
Benoit Marty
e7072c2c4a Improve rendering when only one line is displayed. 2023-06-27 19:43:03 +02:00
Benoit Marty
980d5462f3 Iterate on Room placeholder 2023-06-27 19:41:59 +02:00
Benoit Marty
905f681d70 Disable tonal elevation for bottom sheet in light theme. 2023-06-27 19:31:44 +02:00
Benoit Marty
fb09991793 Create UnreadIndicatorAtom with preview. 2023-06-27 19:31:44 +02:00
Benoit Marty
d7424ad1c3 Fix an issue on Avatar when font scale is not 1f. 2023-06-27 19:23:37 +02:00
Benoit Marty
92bd16832d Rework AvatarSize.
Remove default value for AvatarSize, it has to be explicitely provided.
2023-06-27 19:23:37 +02:00
Benoit Marty
4d0f58568f Room list: tweak UI and add overflow menu with report bug and invite friends action.
Extract invite friends action to a use case to avoid copy paste.
2023-06-27 19:23:37 +02:00
Jorge Martin Espinosa
a16335b4b7 [Compound] Integrate compound tokens (#586)
* Added tokens.

* Apply color to MaterialTheme, also add typography.

* Map colors to the right ones in the themes.

* Create and improve previews of some components

* More preview improvements

* Add `tertiary` and `onTertiary` colors, remove some unused ones.

* Fix usage of deleted color token

* Fix bug in Switch previews

* Create a separate `:libraries:theme` module to keep everything related to colors, typography and Compound in general.

* Fix `DatePickerPreview`

* Add missing Compound generated files by fixing their package name

* Move `ElementTheme` to the `:libraries:theme` module, make some variables internal.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-27 16:15:40 +00:00
Benoit Marty
44e53b9526 StringR -> CommonStrings 2023-06-27 16:11:32 +02:00
Benoit Marty
aadc6d68d8 Merge branch 'develop' into feature/bma/removeOldResources 2023-06-27 16:09:30 +02:00
Benoit Marty
c33a08b602 Merge pull request #684 from vector-im/feature/bma/stringR
Quick PR to introduce `CommonStrings` type alias
2023-06-27 16:00:31 +02:00
ganfra
f6a1db44a6 Fix some code quality/formatting 2023-06-27 14:43:05 +02:00
ganfra
812880a148 RoomList: fix tests and sample 2023-06-27 14:06:58 +02:00
Benoit Marty
9264dd891e More cleanup 2023-06-27 13:38:55 +02:00
Marco Romano
316d57d1b6 Async API improvements "v2" (#672)
* Async API improvements "v2"

**NB: This PR actually changes only 3 files in `libraries/architecture/`. All the other changes are automated refactors to fix the calling code.**

This is a proposal for improvements to our `Async` type as discussed in: https://github.com/vector-im/element-x-android/pull/598/files#r1230664392 and in other chats.

Please bear in mind it is just a proposal, I'd love to hear your feedback about it, especially when it comes to naming: I've tried to make parameter and function names use a terminology similar to what we find in the Kotlin stdlib and its `Result` type.

I'm inclined to like more the non-extension flavours of the new `run*` APIs, though I'd also like your feedback about what API shape you prefer.

### Summary of the changes:
#### Functional
- Adds `exceptionOrNull()` API to complement the existing `dataOrNull()` API.
- Adds `isFailure()`, `isLoading()`, `isSuccess()` and `isUninitialized()` courtesy APIs.
- Renames `executeResult()` to `runUpdatingState()`:
	- Becomes the base API to which all the other similarly named APIs call into.
	- Makes it inline.
	- Adds contract.
	- Passes over any `prevData` to newre Async states.
	- Passes through the `block`s return value.
	- Adds unit tests.
- Renames `execute` to `runCatchingUpdatingState()` and makes it just call into `runUpdatingState()`
- Adds extension function overloads to the `run*` functions to accept `MutableState` as receiver

#### Cosmetics
- Reorders classes and methods in alphabetic order.
- Reorder parameter names to mimic conventions in Kotlin stdlib.
- Adds docstrings where useful.

* Use `fold()`

* rename pop to popFirst

* Add docstrings

* Please Detekt

* Rename exception to error.

* Please detekt

* Update existing usages.
2023-06-27 13:37:23 +02:00
Benoit Marty
659b9d3d9c Now that the composer as been removed, we do not need element resource module anymore. 2023-06-27 13:34:55 +02:00
ganfra
d9559af2cf RoomList: branch invites 2023-06-27 12:52:06 +02:00
ganfra
34f5e0597a Merge branch 'develop' into feature/fga/room_list_api 2023-06-27 10:47:50 +02:00
ganfra
8f5fb64ba5 RoomList/Timeline: makes sure initial values are set before computing diff/update 2023-06-27 10:47:14 +02:00
Benoit Marty
dfa1adb9c1 More cleanup 2023-06-27 09:51:33 +02:00
Benoit Marty
798da50454 Use CommonStrings everywhere 2023-06-27 09:45:00 +02:00
Benoit Marty
4fa7d1a2d8 Introduce handy aliases to avoid writing this: import io.element.android.libraries.ui.strings.R as StringR 2023-06-27 09:45:00 +02:00