Commit graph

70 commits

Author SHA1 Message Date
Florian Renaud
5d0fb45ff6 Update room properties from room details (#439)
-  Add the edit action in the room details
-  Add "Add topic" button in room details
-  Add the screen behind that action to edit some room properties: avatar, name, topic
   -  Handle the save button action
      - enable the button only if changes are detected
      - display a loader "updating room"
      - display an error dialog if any request has failed
- Check user has the right power level to change various attributes
   - "Add topic" is only shown if there's no topic and they are able to set on
   - Edit menu is only shown if they can change topic, name or avatar
   - On the edit page, any fields they can't change are uneditable

Co-authored-by: Chris Smith <csmith@lunarian.uk>
2023-06-01 15:10:29 +00:00
Jorge Martin Espinosa
664fcf782d Merge pull request #497 from vector-im/feature/jme/enable-gif-support
Enable gif support for Coil
2023-06-01 12:07:16 +02:00
Jorge Martin Espinosa
a36f4b7947 [Room details] Open room member details when clicking on user data in timeline (#482) 2023-06-01 12:03:27 +02:00
Chris Smith
473bfd1e23 Display a notice if Matrix ID isn't resolved (#461)
Display a notice if Matrix ID isn't resolved

If we can't get the profile of a user after an mxid was
searched for, show a warning under their ID to say the
invite probably won't be delivered.

Closes #424
2023-06-01 08:40:45 +00:00
Jorge Martín
c749788677 Enable gif support for Coil 2023-05-31 16:46:58 +02:00
ganfra
b2a66ddafe Media: handle PR review remarks 2023-05-26 19:09:51 +02:00
ganfra
63513ae2da Merge branch 'develop' into feature/fga/image_loading 2023-05-22 20:59:37 +02:00
Chris Smith
848f1cb988 Refactor search related functionality (#436)
Refactor search related functionality

This is a prelude to adding the feature of inviting users to
a room, getting everything in the right place and reusable.

What this does:

## User search refactor

Moves the (global) user search logic (dealing with MXIDs,
minimum lengths, debounces) into a `UserRepository`.

This now sits in a `usersearch` library, which will be
used by the create room flow and the new invite flow.

## SearchBar logic pull-up

Every place we use SearchBar, we're doing the same things
to style placeholders, show back/cancel buttons, etc.

We also have a results type that is duplicated for
basically every feature that uses the search bar.

I've pushed all this common functionality into the
SearchBar itself. This makes the component a bit less
general purpose, but saves a lot of repetition.

## Remove the userlist feature

Almost all the functionality of the userlist feature
is now exclusively used by the create room feature.
Room details uses its own version because the
requirements are different.

Components useful elsewhere (SelectedUsers and
SelectedUser) have gone to matrixui, everything else
has gone to createroom.

## Other bits and pieces

I've fixed everywhere that uses Scaffold to correctly
consume the WindowInsets if the contentPadding is
applied to the contents (which it universally is).
This was a change in the last version of Material3
(I guess previously Scaffold handled the consumption
for us). This fixes weird gaps above search bars.

Added overloads for the MatrixUserRow and
CheckedMatrixUserRow that take the name/subtitle/avatar
separately, so the invites list can pass arbitrary
text like "User has already been invited".

The `blockuser` package was for some reason not
under `impl` but alongside it, I've bumped it into
the right place.
2023-05-22 09:06:54 +00:00
ganfra
5176499195 Media: fix encrypted media 2023-05-16 11:51:11 +02:00
ganfra
4236b69705 Introduce MatrixMediaSource 2023-05-05 19:47:10 +02:00
ganfra
c3a1297c18 Merge develop into feature/fga/image_loading 2023-05-05 12:51:00 +02:00
Chris Smith
581c5ab2d2 Move and refactor MatrixUser (#381)
Move and refactor MatrixUser

Instead of living in matrixui and having an AvatarData, this can
reside in the matrix module and just have the URL. An extension
method in matrixui can then provide the AvatarData when required.

This removes some small duplication, and pushes the UI-specific
information (i.e., what size of avatar is going to be rendered)
further down the stack. It also aligns the field names with those
used by the rust SDK (e.g. "displayName" instead of "userName").
2023-05-03 16:30:19 +00:00
ganfra
4b60b14550 Merge branch 'develop' into feature/fga/image_loading 2023-05-02 16:23:47 +02:00
ganfra
58e2c93018 Update tests and avoid useless recomposition 2023-05-02 13:04:00 +02:00
ganfra
23a7b871f7 RoomMembers: change the API again.. 2023-04-28 15:04:33 +02:00
ganfra
4b5ca3acdd Media: change the API 2023-04-27 12:06:01 +02:00
ganfra
c920dfb97a MediaResolver: exposes Result instead of Nullable 2023-04-26 16:13:09 +02:00
ganfra
1ab96e2f34 Some clean up 2023-04-25 11:17:05 +02:00
Jorge Martin Espinosa
de010545fb Update Gradle to 8.1 and AGP to v8.0 (#329)
* Update AGP to 8.0.0.

* Set JAVA_HOME to JDK17

* Update lint version.

* Use right JDK for dependency analysis, replace deprecated env var.

* Upgrade to Gradle 8.1.

* Remove `@Supress(DSL_SCOPE_VIOLATION)` as it's no longer needed.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-17 08:49:52 +00:00
Florian Renaud
97a40b35df Update screenshots 2023-04-13 16:19:55 +02:00
Florian Renaud
9b9ccced81 Add fake list of matrix users 2023-04-13 15:44:45 +02:00
Florian Renaud
1c6e088d5c Navigate from people view to configuration view 2023-04-13 15:44:44 +02:00
Florian Renaud
ac8a6f90fd Remove default onClick from MatrixUserRow 2023-03-23 11:46:56 +01:00
Maxime NATUREL
a1fe191b64 Reuse fillMaxWidth on MatrixUserRow 2023-03-22 12:26:01 +01:00
Maxime NATUREL
ceef65316e Using nullable onClick to avoid passing a new parameter 2023-03-22 12:26:01 +01:00
Maxime NATUREL
ddcde735fe Present the last added user first 2023-03-22 12:25:59 +01:00
Maxime NATUREL
cee313597b Adding checkbox in result when multi selection of users is enabled 2023-03-22 12:25:59 +01:00
Florian Renaud
62a65f7507 Merge pull request #211 from vector-im/feature/fre/start_chat_search_matrixid
[Start chat] Show a single result when searching for a matrixId
2023-03-21 13:58:24 +01:00
Benoit Marty
771855dfe3 Let coil use our OkHttpClient. 2023-03-16 15:31:57 +01:00
Florian Renaud
0cd8c3f93c Merge remote-tracking branch 'origin/develop' into feature/fre/start_chat_search_matrixid 2023-03-15 11:23:46 +01:00
Florian Renaud
d2e5e4fc45 Improve MatrixUserRow paddings 2023-03-14 17:07:38 +01:00
Florian Renaud
5a20c14524 Set avatar size value to dp 2023-03-14 15:23:29 +01:00
Florian Renaud
9e4e4b6124 Show result when searching for matrix id 2023-03-13 15:29:28 +01:00
ganfra
fb85f35525 [MatrixSDK] start mapping all the timeline objects 2023-03-10 18:32:46 +01:00
Benoit Marty
466579c4d3 Move class of matrix.api module to api sub package. 2023-03-02 17:32:47 +01:00
Benoit Marty
b8467e547c Split module matrix to matrix.api with interfaces and data classes and matrix.impl with Rust implementation. 2023-03-02 17:12:13 +01:00
Jorge Martin Espinosa
6677f80abe Store session data in a secure way (#98)
* Replace SessionData DataStore with an encrypted SQLite DB.

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2023-03-02 16:48:54 +01:00
Benoit Marty
442fb212ae Add some previews. 2023-02-14 17:03:02 +01:00
Benoit Marty
53c8d3ff7c Add Preview for timeline items. 2023-02-14 17:03:02 +01:00
Benoit Marty
e120ca7163 Extract Provider (and rename them) to their own file and move fixture(s) there. 2023-02-14 17:03:02 +01:00
Benoit Marty
443076f636 Give the id to AvatarData to be able to compute initial properly. 2023-02-14 17:03:02 +01:00
Benoit Marty
b439109d05 Enable Showkase for matrixui 2023-02-14 17:03:02 +01:00
Benoit Marty
afe5499158 PreviewParameterProvider FTW 2023-02-14 17:03:02 +01:00
Benoit Marty
bbe10382b0 ElementTheme + MaterialTheme3 2023-02-03 12:57:42 +01:00
Benoit Marty
cdfc13cb15 Material3 only in designsystem. 2023-02-03 12:56:53 +01:00
Benoit Marty
9d32b05fbb Rework Preview for a better rendering in the IDE. 2023-02-03 12:56:53 +01:00
Benoit Marty
e4cc733f4a First draft of full custom theme.
ElementTheme everywhere

Create ElementButton
2023-02-03 12:55:36 +01:00
ganfra
8b4b8886a9 Clean up 2023-02-01 16:02:54 +01:00
ganfra
b8860a6658 Simplify AvatarData and avoid carrying ByteArray 2023-02-01 15:57:00 +01:00
ganfra
dd00f99f0c enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") 2023-01-20 19:13:44 +01:00