Commit graph

101 commits

Author SHA1 Message Date
ganfra
d4526e52c6 Matrix rust sdk: update to 0.1.20 (and fix compilation issues) 2023-06-15 15:26:53 +02:00
Jorge Martin Espinosa
31555c4bd0 [Message Actions] Retry sending failed messages (#596)
* Add `RetrySendMessageMenu` to retry sending failed messages or removing its local echo.

* Fix initial event being retrieved, not the updated one

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-15 11:27:37 +02:00
ganfra
26746f5e27 Extract fetchDetailsForEvent and use coroutineDispatchers.io 2023-06-12 20:23:58 +02:00
ganfra
511b26b2ab Merge pull request #566 from vector-im/feature/fga/update-rust-sdk-0.1.16
Feature/fga/update rust sdk 0.1.16
2023-06-09 17:26:11 +02:00
Jorge Martin Espinosa
9fa261e393 [Message Actions] Add emoji reactions option (#568)
* Add logic to send message reactions

* Add emoji library, create EmojiPicker component

* Fix bottom sheet behaviors

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-09 16:56:40 +02:00
Jorge Martin Espinosa
688ab3bd5e [Message Actions] Display debug info for events in the timeline (#555)
* Display debug info for events in the timeline on debug builds.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-09 06:13:22 +00:00
ganfra
d54b8c4733 Matrix rust sdk : update SessionVerificationService to suspend (Async-Uniffi) 2023-06-08 17:02:14 +02:00
Jorge Martin Espinosa
c176eab4a3 [Message actions] New UI for replies (#545)
* Add 'reply to' UI to the message composer.

* Move the `BlurHashAsyncImage` to `:libraries:designsystem` as it is now used in several modules.

*  Create reusable `AttachmentThumbnail` and associated data classes and enums, it's now added to `:libraries:matrixui`.

* Re-use `AttachmentThumbnail` in a `ActionListView` and `TextComposer`.

* Add 'inReplyTo' models and UI.

* Add min size for images

* Create a separate layout for media items with no reply to info. Also, separate `Timeline__Row` components from `TimelineView`, as it was getting too large.

* Added `EqualWidthColumn` to use inside message bubbles. Also fixed some modifiers for media items replying to other messages.

* Disable `inReplyToClicked`.

* Remove unused resources and libraries.

* Remove any traces of `BlurHashAsyncImage` in `:features:messages`, since it was moved to the design system.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-08 12:15:13 +02:00
ganfra
468ed5276f Media: clean up code 2023-06-06 22:18:13 +02:00
ganfra
438fc6bb99 Merge branch 'develop' into feature/fga/media_viewer_actions 2023-06-06 14:35:25 +02:00
Chris Smith
7308428596 Use member count instead of counting members (#530)
Use member count instead of counting members

For the room details screen, use the member count as supplied by
matrix instead of waiting for the entire member list to be
retrieved and then manually adding up all the relevant users.

This removes the loading state of the member count, relying on
a spinner on the member list itself if the user actually wants
to see the members. (The performance of that will be improved
separately on the rust side in the future)

Closes #505
2023-06-06 10:40:17 +00:00
ganfra
fa63ed1faf MediaViewer: improve actions (save on disk and share) 2023-06-02 20:13:17 +02:00
ganfra
966199a007 Media: finally revert to using only uri but with the proper scheme.. 2023-06-02 08:55:43 +02:00
Benoit Marty
470ad9f968 Merge pull request #458 from vector-im/feature/bma/notificationContent
Notification content
2023-06-01 18:01:57 +02:00
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
Benoit Marty
64e2015941 Merge pull request #416 from Freezlex/develop
Fix App crash when joing specific room URL
2023-06-01 15:36:32 +02:00
Benoit Marty
685b034977 Cleanup 2023-06-01 12:24:30 +02:00
Benoit Marty
31afed1448 Map some info for the notifications. 2023-06-01 12:23:53 +02:00
Benoit Marty
a2cf497a00 Merge pull request #478 from vector-im/feature/bma/slidingSyncCleanup
Sliding sync cleanup
2023-06-01 12:17:01 +02:00
Benoit Marty
4cc3050871 Cleanup 2023-05-30 15:59:58 +02:00
Benoit Marty
f1d2f566bc Add OIDC support 2023-05-30 15:14:57 +02:00
Benoit Marty
111cca99bf Add EventType to avoid using hard-coding strings. 2023-05-30 14:11:26 +02:00
ganfra
b2a66ddafe Media: handle PR review remarks 2023-05-26 19:09:51 +02:00
ganfra
3e01a2f317 Media: some code clean-up 2023-05-24 22:23:38 +02:00
ganfra
fc601acd28 Merge branch 'develop' into feature/fga/image_loading 2023-05-24 17:39:27 +02:00
renovate[bot]
91f77772bc Update dependency org.matrix.rustcomponents:sdk-android to v0.1.15 (#444)
Co-authored-by: Chris Smith <csmith@lunarian.uk>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-23 09:51:02 +00:00
Chris Smith
198d6d4c56 Invite users to existing rooms (#441)
Invite users to existing rooms

Scope:

- Allow inviting from the room detail screen and the member list
- Invite option is only shown if the user has the correct power level
- Search flow the same as creating a new room, allowing multi-select
- Existing room members/invitees are disabled with a custom caption
- Sending is asynchronous, an error dialog will appear wherever the
  user is if necessary

Closes #245
2023-05-23 09:23:24 +00:00
ganfra
63513ae2da Merge branch 'develop' into feature/fga/image_loading 2023-05-22 20:59:37 +02:00
Freezlex
cb778da9d0 Merge branch 'vector-im:develop' into develop 2023-05-22 10:26:58 +02:00
ganfra
8c5e1c88ce Media: update doc on MediaLoader 2023-05-16 14:50:54 +02:00
Florian Renaud
afc32f4810 Merge remote-tracking branch 'origin/develop' into
feature/fre/create_room_select_avatar
2023-05-16 14:18:29 +02:00
ganfra
5176499195 Media: fix encrypted media 2023-05-16 11:51:11 +02:00
ganfra
4b49d40801 Merge branch 'develop' into feature/fga/image_loading 2023-05-15 20:07:00 +02:00
Marco Romano
b51c19af19 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
ganfra
80adbd4bd1 Media: improve media viewer 2023-05-12 18:48:24 +02:00
Freezlex
de2adcb55a fix: Add dash to MATRIX_ROOM_IDENTIFIER_REGEX in order to allow URLS such as foo-bar:foo.bar 2023-05-11 20:43:35 +02:00
Jorge Martin Espinosa
89b9db3be6 [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
27f6f5cd3b upload avatar within the room creation 2023-05-11 16:30:38 +02:00
renovate[bot]
474bc00f8e Update dependency org.matrix.rustcomponents:sdk-android to v0.1.12 (#407)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.1.12

* Fix Rust SDK update issues.

* Try to handle Rust memory more gracefully.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-05-10 15:27:15 +00: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
Florian Renaud
310be7a14a Perform get profile request on matrix ID 2023-05-04 16:27:50 +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
Chris Smith
99f571b4eb 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
ganfra
4b60b14550 Merge branch 'develop' into feature/fga/image_loading 2023-05-02 16:23:47 +02:00
ganfra
ca6a47edcd Merge pull request #353 from vector-im/feature/fga/some_room_related_fixes
Feature/fga/some room related fixes
2023-05-02 13:20:10 +02:00
ganfra
154bd5e714 Update rust-sdk : make the app compiles again 2023-04-28 18:26:32 +02:00
ganfra
23a7b871f7 RoomMembers: change the API again.. 2023-04-28 15:04:33 +02:00
ganfra
4b9f2fdae0 Don't pass RoomMember to Node but a UserId instead 2023-04-27 22:38:52 +02:00
ganfra
64c50d4468 Ignore/Unignore: makes more sense to be at the client level than room 2023-04-27 22:13:25 +02:00