Commit graph

90 commits

Author SHA1 Message Date
Jorge Martin Espinosa
3a2191ee43
Use SubcomposeLayout for ContentAvoidingLayout (#2171)
Use `SubcomposeLayout` for `ContentAvoidingLayout`
2024-01-05 12:40:25 +00:00
Jorge Martin Espinosa
e04780fbf6
Trim whitespace at the end of messages (#2169)
Trim whitespace at the end of messages
2024-01-05 12:40:10 +01:00
Jorge Martin Espinosa
4776fc5452
Fix crashes for extremely long messages with no line breaks (#2163) 2024-01-05 11:11:49 +00:00
Benoit Marty
f5a229dbd4
Merge pull request #2160 from surakin/msc4027
Implement MSC4027 (Custom images in reactions)
2024-01-04 16:23:30 +01:00
Jorge Martin Espinosa
0ca9780337
Remove 'document' case for message with timestamp preview (#2164)
* Remove 'document' case for message with timestamp preview

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-04 15:22:09 +01:00
Jorge Martin Espinosa
5980eb2ad2
Upgrade to AGP 8.2.0 (#2142)
* Upgrade to AGP 8.2.0

Add proguard rule for the problematic TagSoup library. For some reason, adding this in the consumer proguard rules of the RTE library doesn't seem to work.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-04 12:09:46 +01:00
Marco Antonio Alvarez
639c3495aa
Merge branch 'develop' into msc4027 2024-01-04 09:42:23 +01:00
Marco Antonio Alvarez
a81fdddab0
[Technical] Open stickers using the thumbnail url if the main url is empty (#2157)
* Explicitely use the thumbnail url to show stickers if the content's url is an empty string

---------

Signed-off-by: Marco Antonio Alvarez <surakin@gmail.com>
2024-01-04 09:06:30 +01:00
Marco Antonio Alvarez
b81b4f8207 add changelog
Signed-off-by: Marco Antonio Alvarez <surakin@gmail.com>
2024-01-04 08:28:17 +01:00
ganfra
7ca640561a
Merge pull request #2146 from element-hq/feature/fga/fix_2084
Fix room transition animation happens twice
2024-01-03 11:57:25 +01:00
ganfra
b04287bf81 Fix room transition animation happens twice #2084 2024-01-02 16:13:46 +01:00
Marco Antonio Alvarez
87c8bc133f
[Feature] Render m.sticker events (#2122)
* Render m.sticker events
---------

Signed-off-by: Marco Antonio Alvarez <surakin@gmail.com>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-02 16:03:19 +01:00
Jorge Martin Espinosa
7fdba39d6d
Disable vector XML rasterisation on API 23 (#2128)
* Disable vector XML rasterisation on API 23

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-12-29 11:41:08 +00:00
Jorge Martín
046525edba Add changelog 2023-12-28 17:06:05 +01:00
Benoit Marty
aad7e836d9
Merge pull request #2112 from element-hq/feature/bma/renderStateWithoutChanges
Handle `MembershipChange.NONE` rendering in the timeline #2102
2023-12-28 12:39:05 +01:00
Benoit Marty
b7b1c0d1fc
Merge pull request #2111 from element-hq/feature/bma/directLogout
Direct logout
2023-12-26 17:58:23 +01:00
Benoit Marty
ac7d46cfb7 Handle MembershipChange.NONE rendering in the timeline #2102
And avoid `else` in the when statement.
2023-12-26 16:57:34 +01:00
Benoit Marty
597697b13a changelog 2023-12-26 15:30:18 +01:00
Benoit Marty
59993bf6cf towncrier file 2023-12-26 13:26:01 +01:00
Benoit Marty
3c5ac26427 Changelog for version 0.1.0 2023-07-19 16:40:45 +02:00
Jorge Martín
0632d01d86 Fix sliding sync loop restarts due to expirations
Both `NotifiableEventResolver` and `DefaultNotificationDrawerManager` were creating new Rust SDK Clients while processing notifications instead of reusing the already existing one.
2023-07-17 08:05:12 +02:00
jonnyandrew
3c6f658a1f
Truncate and ellipsize long reactions (#821)
* Truncate and ellipsize long reactions

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-07-08 17:53:29 +01:00
Jorge Martin Espinosa
5ee2418a1c
[Design] Use outlined textfields in login screen (#801)
* Use outlined textfields in the login screen

* Fix enabled status

* Fix loading state for button in `ConfirmAccountProviderView` too

* Update subtitle string

* Remove no longer used translation

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-07-07 10:08:38 +02:00
Jorge Martin Espinosa
78a26c034e Fix actions for redacted, not sent and media messages (#771)
* Fix actions for redacted, not sent and media messages

* Make `EventDebugInfoView` sections fill max width

* Don't display action list if there are no actions to display

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-07-05 14:08:17 +00:00
Chris Smith
1e17d2943f Show location events in timeline
Not in scope: interacting with the timeline items,
reply formatting. These will be implemented separately.

Closes #689
2023-06-29 16:37:15 +01: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
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
cf2723ac7f [Message Actions] Copy events to clipboard (#665)
* Add `Copy` action for text events

* Remove 'Copy' action from the list for non-text events

* Use `@ContributesBinding` to inject `AndroidClipboardHelper`.
2023-06-23 14:39:07 +00:00
Johannes Marbach
9e070a495e Merge pull request #627 from vector-im/johannes/room-creation-analytics-events 2023-06-23 15:09:55 +02:00
Jorge Martin Espinosa
9251cbf536 [Message Actions] Report messages (#642)
* Add report messages feature

* Try to improve how snackbars are delivered

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-23 10:44:47 +02:00
Jorge Martin Espinosa
42827206b3 [Message Actions] Forward messages (#635)
* Add forwarding messages base

* Make forwarding single-selection

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-22 13:27:59 +02:00
Johannes Marbach
b237b123c7 Add analytics events for room creation 2023-06-17 21:25:14 +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
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
Jorge Martin Espinosa
e376c1be82 [Message actions] New UI for message composer and editing (#526)
* Add UI for edit composer mode

* Remove leftover code from the RTE implementation

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-06-07 13:06:19 +02:00
Jorge Martin Espinosa
dc4b385ada [Message actions] Update timeline context menu (#498)
* Replace bottom sheets in timeline with M3 ones.

* Add missing options to menu with the right icons

* Add message summary and reaction emoji row.

* Use the same icon in the message summary and file timeline item
2023-06-02 12:08:54 +00: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
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 Martin Espinosa
7aae71c2d4 Display timestamps for text messages (#465) 2023-05-26 10:51:15 +00:00
Marco Romano
0dee0784ba Room list contextual menu (#427)
- Adds `ModalBottomSheet` to our design components (it wraps the homonimous Material3 one).
- Adds  a bottom sheet to the Room list using the aforementioned design component.
- Adds navigation from the room list to a room detail (context menu "Settings" action).
- Consolidates the "leave room flow" into a new `leaveroom` module used by both the room list and the room details.
  - Adds progress indicator to the leave room flow
- Uses new `leaveroom` module in `roomdetails` module too. 

Parent issue:
- https://github.com/vector-im/element-x-android/issues/261
2023-05-25 06:42:44 +00:00
Benoit Marty
ac7e5f5113 Merge pull request #420 from gsouquet/gsouquet/compound-docs
Update compound references
2023-05-23 17:05:05 +02:00
Benoit Marty
e486677cf8 Merge pull request #438 from vector-im/feature/fre/invite_people_action
Handle "Invite people" action in the start a chat flow
2023-05-23 17:03:39 +02: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
Florian Renaud
9f7c48c3dd Handle "Invite people" action in the start a chat flow 2023-05-20 00:56:23 +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
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
Germain
75f1faef15 Add changelog entry 2023-05-12 12:23:35 +01:00
Florian Renaud
7a4ed72da5 changelogs 2023-05-11 16:30:37 +02:00