Commit Graph

911 Commits

Author SHA1 Message Date
Benoit Marty
f84b2ebbb0 Rename ElementX to Element X. Only for user facing value. In the doc I prefer to keep ElementX. 2023-06-29 14:15:36 +02:00
Benoit Marty
6174a36d66 Merge pull request #561 from vector-im/renovate/kotlin
Update kotlin
2023-06-29 14:06:29 +02:00
Benoit Marty
0cb1c41f6d Provide the user agent to RustMatrixAuthenticationService 2023-06-29 13:07:23 +02:00
Benoit Marty
79366e8f1c Add TODO for the remaining case. 2023-06-29 13:05:23 +02:00
Benoit Marty
5916e92da0 Configure user agent for all network request (#677) 2023-06-29 13:05:23 +02: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
Jorge Martin Espinosa
79f7537c0b 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
renovate[bot]
016c27450a Update kotlin 2023-06-28 22:23:44 +00:00
Jorge Martin Espinosa
dd562eccc8 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
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
7d54652dd7 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
76f055afc0 RoomListService: enable encryption 2023-06-28 16:49:08 +02:00
ganfra
b637d4a5ee Coroutine: create extension method to create childScope 2023-06-28 16:41:59 +02:00
Marco Romano
911403dfdd Adds M3's BottomSheetScaffold wrapper to designsystem module (#711)
Needed for the share location screen.
2023-06-28 16:15:49 +02: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
Jorge Martin Espinosa
fe3deeec2f 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
c5a5810c05 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
6ccfd41c2d Use Semantic color for placeholder. 2023-06-27 21:27:59 +02:00
Benoit Marty
a7da76ae36 Fix compilation issue after rebase. 2023-06-27 19:58:42 +02:00
Benoit Marty
15fba25651 Fix compilation issue after rebase. 2023-06-27 19:51:10 +02:00
Benoit Marty
c46c3e0281 Fix rendering of Room item in ForwardMessagesView 2023-06-27 19:49:54 +02:00
Benoit Marty
641028c082 Use a determinate progress indicator to improve the preview rendering 2023-06-27 19:49:54 +02:00
Benoit Marty
2efbfab939 Cleanup 2023-06-27 19:49:54 +02:00
Benoit Marty
2cef47c271 Iterate on reactions (#668) 2023-06-27 19:49:14 +02:00
Benoit Marty
c7ec8bc9e9 Fix compilation issue after rebase 2023-06-27 19:49:14 +02:00
Benoit Marty
5a59529768 Improve rendering of message reply preview. 2023-06-27 19:48:31 +02:00
Benoit Marty
a8cc935a82 Fix color of reply body preview. 2023-06-27 19:43:03 +02:00
Benoit Marty
8cdcaba9e3 Move all density unit calculation to the same place. 2023-06-27 19:43:03 +02:00
Benoit Marty
d3d26094bd 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
192d32061d Improve preview by adding Divider, and improve rendering. 2023-06-27 19:43:03 +02:00
Benoit Marty
f1ef67e736 Improve rendering when only one line is displayed. 2023-06-27 19:43:03 +02:00
Benoit Marty
6ece791840 Iterate on Room placeholder 2023-06-27 19:41:59 +02:00
Benoit Marty
c7fa2b7620 Disable tonal elevation for bottom sheet in light theme. 2023-06-27 19:31:44 +02:00
Benoit Marty
5c27952194 Create UnreadIndicatorAtom with preview. 2023-06-27 19:31:44 +02:00
Benoit Marty
23adc32cd2 Fix an issue on Avatar when font scale is not 1f. 2023-06-27 19:23:37 +02:00
Benoit Marty
d6f2d7a5d3 Rework AvatarSize.
Remove default value for AvatarSize, it has to be explicitely provided.
2023-06-27 19:23:37 +02:00
Benoit Marty
82e566175a 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
02dc447624 [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
ed264f23b7 StringR -> CommonStrings 2023-06-27 16:11:32 +02:00
Benoit Marty
5f16297939 Merge branch 'develop' into feature/bma/removeOldResources 2023-06-27 16:09:30 +02:00
Benoit Marty
d782162f27 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
f04229d20f Fix some code quality/formatting 2023-06-27 14:43:05 +02:00
ganfra
3d872ec0e2 RoomList: fix tests and sample 2023-06-27 14:06:58 +02:00
Benoit Marty
77e033372f More cleanup 2023-06-27 13:38:55 +02:00
Marco Romano
2a82e1b4e4 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
4cb9843415 Now that the composer as been removed, we do not need element resource module anymore. 2023-06-27 13:34:55 +02:00
ganfra
dc06b5266f RoomList: branch invites 2023-06-27 12:52:06 +02:00