Commit Graph

634 Commits

Author SHA1 Message Date
Florian Renaud
da57e17dfb Use material3 ListItem 2023-05-16 14:29:18 +02:00
Florian Renaud
029eb876df Merge remote-tracking branch 'origin/develop' into
feature/fre/create_room_select_avatar
2023-05-16 14:18:29 +02:00
Benoit Marty
f62ea2096b Merge pull request #425 from vector-im/feature/bma/material3_update
Use default material3 version again and cleanup `@OptIn` annotations.
2023-05-16 09:51:17 +02:00
Marco Romano
1b84f02073 Show pending invitations in room members list (#385)
Splits a Room's member list in 2 showing pending invitees first and then the actual room member.

This simple user facing change entails a host of under the hood changes:
- It copies the logic from the `userlist` module and merges it into the `roomdetails` module removing all details not related to the member list (e.g. gets rid of multiple selection, debouncing etc.).
- Uncouples the `roomdetails` module from the `userlist` one. Now leaving only the `createroom` module to depend on the `userlist` module. Therefore the `userlist` module could be in the future completely removed and merged into the `createroom` module.
 - Changes the room members count in the room details screen to only show the members who have joined (i.e. don't count those still in the invited state).

Missed ACs:
- This change does not make the member list live update. Discussion is ongoing on how to make this technically feasible.

Parent issue:
- https://github.com/vector-im/element-x-android/issues/246
2023-05-15 14:39:27 +02:00
Benoit Marty
22e86bdfc8 Fix more warning and replace deprecated code. Also use TextField from our components. 2023-05-15 13:43:27 +02:00
Benoit Marty
3704564198 Use default material3 version again and cleanup @OptIn annotations.
Material3 is now 1.1.0
2023-05-15 12:28:31 +02:00
Florian Renaud
bf690c70b4 Merge pull request #400 from vector-im/renovate/kotlin
Update kotlin to v1.7.0
2023-05-12 17:03:41 +02:00
Florian Renaud
d79d00fc45 increase test timeout 2023-05-12 15:34:35 +02:00
Florian Renaud
444a7533d7 Test cleanup 2023-05-12 13:30:06 +02:00
Florian Renaud
463e47c907 Add missing OptIn 2023-05-12 13:28:22 +02:00
Chris Smith
ebac9ef4b4 Fix a few FFI leaks (#405)
Fix a few FFI leaks

These are instances where we obtain an FFIObject and don't call
Close on it to release the underlying reference on the Rust side.

The worst instance here was leaking an object per room member
every time we refreshed the member list
2023-05-12 10:50:39 +00:00
Florian Renaud
c22d181d8c Remove useless OptIn in tests 2023-05-12 10:05:39 +02:00
Florian Renaud
deea472001 Add more tests 2023-05-11 23:03:47 +02:00
Jorge Martin Espinosa
ed16ea5e48 [Media upload] Upload image, video and files (#411)
* Add media upload

* Display media upload error messages using a Snackbar.
2023-05-11 15:56:13 +00:00
Florian Renaud
5e38049e75 Fix test build 2023-05-11 17:34:40 +02:00
Florian Renaud
14fba4c559 Reformat some code 2023-05-11 17:31:56 +02:00
Florian Renaud
1b1dbca96b Clear cached image after room creation 2023-05-11 16:30:38 +02:00
Florian Renaud
5a0665a27a upload avatar within the room creation 2023-05-11 16:30:38 +02:00
Florian Renaud
4a444c24c4 Add missing tests 2023-05-11 16:30:38 +02:00
Florian Renaud
4fd3cb4c0e Add todo and screenshot tests 2023-05-11 16:30:37 +02:00
Florian Renaud
c81e673111 Fix tests after rebase 2023-05-11 16:30:37 +02:00
Florian Renaud
a38fbb3419 Delete cached avatar URI 2023-05-11 16:30:37 +02:00
Florian Renaud
554ce9f650 Rework and add remove button 2023-05-11 16:30:37 +02:00
Florian Renaud
6641afdd17 WIP pick avatar image 2023-05-11 16:30:37 +02:00
Jorge Martin Espinosa
cd298b9359 [Media upload] Media pre-processing (#403)
* Create `mediaupload` module for media pre-processing.

* Split `mediapicker` and `mediaupload` modules.
2023-05-10 10:06:56 +02:00
bmarty
367b659edc Sync Strings from Localazy 2023-05-08 00:08:48 +00:00
Florian Renaud
25adc1cc60 Fix navigation broken 2023-05-05 17:11:45 +02:00
Benoit Marty
c8dc2a5e57 Merge pull request #394 from vector-im/feature/bma/moveShowkaseButton
Move showkase button
2023-05-05 16:40:01 +02:00
Benoit Marty
f881bd849d Re-order parameters. 2023-05-05 11:49:27 +02:00
Chris Smith
1d041578f7 Make danger check view changes (#391)
Make danger check view changes

Add a check that if a file with @Preview or @LargeHeightPreview
in it is changed, then the corresponding build file includes
the showkase processor.

Also change the check that prompts about screenshots to use
the same @Preview logic instead of checking for "/layout" in
the path which doesn't work with compose.

Also add missing showkase processors
2023-05-05 08:24:12 +00:00
Benoit Marty
232ae32051 Avoid using hard-coded key, use ShowkaseBrowserActivity.getIntent() instead. 2023-05-04 17:31:08 +02:00
Chris Smith
2171f1a8ab Show badges for new invites (#355)
Show badges for new invites

Closes #238
2023-05-04 15:30:55 +00:00
Benoit Marty
e8049f81a4 Move the button to open the Showkase browser to the developer settings screen. (#389) 2023-05-04 17:29:03 +02:00
Florian Renaud
95a90c0b1d Add tests 2023-05-04 16:34:38 +02:00
Florian Renaud
60e63c36dc Enable create DM action 2023-05-04 16:27:50 +02:00
Florian Renaud
e1dbc8fadf Perform get profile request on matrix ID 2023-05-04 16:27:50 +02:00
Chris Smith
54510e13f5 Add debounce/minimum length for add user search (#387)
This functionality was already implemented, it just didn't
have the right parameters configured for the user list
presenter.

Closes #109
2023-05-04 12:30:20 +00:00
Jorge Martin Espinosa
31ac97d17a [Media upload] Add media pickers to the Room screen and the composer (#380)
* Add media pickers to the Room screen and the composer.

* Fix exclude rules for translations
2023-05-04 11:51:03 +02:00
Chris Smith
5c935818c6 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
Chris Smith
63168d4656 Search for users to start a new DM. (#376)
Search for users to start a new DM.

Hooks up the create room UI to the matrix client to get
search results. Searches are debounced for 500ms and
only executed when 3 or more characters are entered.

Wrap the result state so we can distinguish between
"no results because we haven't searched yet" and
"no results because the API returned nothing", and
add a "No results found" message in the UI for the
latter case.

Closes #95
2023-05-03 13:26:31 +00:00
Jorge Martin Espinosa
921fb55220 Group design components in Showkase for the Compound team (#375)
* Screenshot tests changes:

    - Group components for Showkase.
    - Set special Paparazzi config for scrolling screens using non null `Preview.heightDp`.
    - Add merged theme preview with `ElementThemedPreview` component.
2023-05-02 16:13:35 +00:00
Benoit Marty
977c87c141 Merge pull request #370 from vector-im/sync-localazy
Sync Strings
2023-05-02 17:45:50 +02:00
Jorge Martin Espinosa
e5a8548ab9 Design fixes for room detail, dm & room member detail screens (#363)
* Design fixes for room detail, dm & room member detail screens.

* Record new screenshots, improve RoomDetailsStateProvider.

* Move MainActionButton to its own component in the design system.
2023-05-02 14:02:51 +00:00
ganfra
e73d92124e Update tests and avoid useless recomposition 2023-05-02 13:04:00 +02:00
bmarty
066ee4f43a Sync Strings from Localazy 2023-05-01 00:09:50 +00:00
ganfra
ed3f0f1430 Merge branch 'develop' into feature/fga/some_room_related_fixes 2023-04-28 15:58:54 +02:00
ganfra
d7cd8a2915 RoomMembers: change the API again.. 2023-04-28 15:04:33 +02:00
Jorge Martin Espinosa
8e451c934e Add PickerLauncher wrapper for media/file pickers. (#361)
* Add `PickerLauncher` wrapper for media/file pickers.

* Add FileProvider path, handle Camera picker and add NoOp implementation to fix tests.

* Move media pickers to their own module.

* Add missing media pickers

* Add feature flag and some extra tests
2023-04-28 10:52:34 +02:00
ganfra
16a43befcc Don't pass RoomMember to Node but a UserId instead 2023-04-27 22:38:52 +02:00
ganfra
884cdb9575 Ignore/Unignore: makes more sense to be at the client level than room 2023-04-27 22:13:25 +02:00