Commit graph

1382 commits

Author SHA1 Message Date
ganfra
0149007dd4 Timeline Action : refactor how it's computed and align with iOS 2024-07-26 18:20:03 +02:00
ganfra
03a0e4fa08 Pinned event : hide/show banner on timeline scroll 2024-07-25 18:37:46 +02:00
ganfra
56e1957d3d Merge remote-tracking branch 'origin/develop' into feature/fga/pinned_message_banner_ui 2024-07-25 17:59:04 +02:00
Valere
44728cb6e1 review: Konsist fix 2024-07-25 10:22:15 +02:00
Valere
0748bc8c47 Message Shields - i18n 2024-07-25 10:01:27 +02:00
Valere
524f20bb40 Timeline UI | MessageShield Support 2024-07-25 10:01:27 +02:00
ganfra
a23e5e2400 Edit : fallback to room.edit when timeline item is not found. 2024-07-24 11:49:16 +02:00
ganfra
c76ff38f00 Pinned messages : introduces banner view 2024-07-23 13:05:59 +02:00
Jorge Martin Espinosa
a888b4d43c
Fix linkification not working for Spanned strings in text messages (#3233)
* Fix linkification not working for `Spanned` string instead of `Spannable`.

This issue was found as a regression after upgrading the RTE version to `2.37.7`.

* Fix and add tests
2024-07-22 09:09:20 +00:00
ElementBot
1f01bd73c4
Sync Strings (#3232)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2024-07-22 08:59:47 +00:00
ganfra
2f0e9ebd93 Compose : add immutability to some Reaction classes 2024-07-19 17:13:49 +02:00
Jorge Martin Espinosa
f5e866e18c
Fix pillification not working for non formatted message bodies (#3201)
* Fix pillification not working for non formatted message bodies

Pure Markdown bodies weren't being 'pillified' so their mentions were turned into UI elements in the timeline.

A new `pillifiedBody` property was added to `TimelineItemTextBasedContent` to fix this.

* Use shorter version of `textWithMentions` computation
2024-07-17 08:20:47 +00:00
Jorge Martin Espinosa
2ff5fa67fc
Restore intentional mentions in the markdown/plain text editor (#3193)
* Restore intentional mentions in the markdown/plain text editor

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-07-15 18:27:59 +02:00
Jorge Martin Espinosa
0be7058416
Unify the way we decide whether a room is a DM or a group room (#3100)
* Add centralised 'room is DM' check

Also add extension functions for `MatrixRoom` and `MatrixRoomInfo`.

* Use the centralised method and extension functions through the app, including:

- Room list.
- Room details screen.
- Invites.
- Notifications.

Replace most `isDirect` usages with `isDm`.

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-07-10 16:28:46 +00:00
Benoit Marty
a7de751f0e Ensure that all the callback instances are invoked. 2024-07-05 12:13:21 +02:00
Benoit Marty
6a1304a252 Improve click behavior on room timeline title. #3063 2024-07-04 09:26:39 +02:00
ganfra
c7dd2d5b6e
Merge pull request #3132 from element-hq/feature/fga/draft_in_memory_when_editing
Draft : add volatile storage when moving to edit mode.
2024-07-03 15:38:00 +02:00
ganfra
008ba4fee3 Draft : improve DefaultComposerDraftService code. 2024-07-03 15:04:38 +02:00
ganfra
83066250cc Draft : add some doc on ComposerDraftStores 2024-07-03 15:04:05 +02:00
jmartinesp
dabaa2d265 Sync Strings from Localazy 2024-07-03 11:21:27 +00:00
ganfra
82838d6ea5 Draft : use the volatile draft store when moving to edit mode 2024-07-03 12:03:51 +02:00
ganfra
afd13ab22f Draft : introduce VolatileComposerDraftStore 2024-07-02 18:01:09 +02:00
ganfra
f15e9daf67 Timeline : fix text item not refreshed when content change 2024-07-02 10:29:09 +02:00
ganfra
3a610e6550 Draft : also clear draft when composer is blank 2024-07-01 12:23:42 +02:00
bmarty
32c5da898b Sync Strings from Localazy 2024-07-01 00:22:10 +00:00
Jorge Martin Espinosa
d6b259b85a
Fix @room mentions crashing in debug builds (#3107)
* Fix `@room` mentions crashing in debug builds

* Iterate on previous solution, add `MentionSpan.Type.EVERYONE`
2024-06-27 15:31:19 +00:00
Jorge Martin Espinosa
4904c4b751
Bump Rust SDK version and adapt our code (#3068)
* Use the new SDK version
* Adapt the authentication service to the new Rust SDK APIs
* Remove `Timeline.enterSpecialMode(...)` as it's no longer necessary
2024-06-27 09:44:14 +00:00
ganfra
1b56d1b97a Merge branch 'develop' into feature/fga/draft_support 2024-06-26 15:22:00 +02:00
ganfra
644b425d71 Draft : code cleanup 2024-06-26 12:15:00 +02:00
ganfra
321c2dca30 Draft : refactor a bit ComposerMode and formatting management so we don't mess up with draft restoration. 2024-06-25 11:35:22 +02:00
Benoit Marty
d14b9de8c9 Fix format issue. 2024-06-24 12:03:38 +02:00
Benoit Marty
315392d8ef Improve the way we cut the bubble layout to give space for the sender Avatar.
Instead of drawing a circle with the same color of the background behind the avatar, properly clear the top start corner of the bubble using `CompositingStrategy.Offscreen` and `BlendMode.Clear`.
2024-06-24 11:21:43 +02:00
ganfra
2d324a7f4b Reply : fix reply cropped in timeline 2024-06-21 15:42:26 +02:00
ganfra
6ac7ab84ce Draft : branch reply mode 2024-06-21 12:40:16 +02:00
ganfra
5597a1743a Reply : refactor so we can use ReplyToDetails in Composer and Timeline 2024-06-21 12:23:17 +02:00
Jorge Martin Espinosa
310a7fc229
Resolve display names in mentions in real time (#3051)
* Resolve display names in mentions in real time

* Use `LocalRoomMemberProfilesCache` to avoid having to implement `TextMessagePresenter`

* Also use local composition provider for `MentionSpanProvider`
2024-06-21 09:57:36 +00:00
ganfra
08816bd2df Reply : move InReplyTo and related to matrix.ui module. 2024-06-20 17:38:56 +02:00
Benoit Marty
33c76dfd2d Use extension MatrixUser.getAvatarData and fix compilation issue. 2024-06-20 16:06:33 +02:00
Benoit Marty
a2ff1dc933 Use ImmutableList in Composable. 2024-06-20 15:56:33 +02:00
Benoit Marty
a9f23c06b0 Add enum Suggestion instead of reusing TimelineRoom 2024-06-20 15:00:26 +02:00
Benoit Marty
99c90f1ced Use heroes to render room avatars 2024-06-20 14:14:05 +02:00
ganfra
9aa82b42fd Draft : introduce DraftService and start using it. 2024-06-20 11:28:07 +02:00
ganfra
72dc9394ed Sending : copy link action should be available only for remote event 2024-06-19 12:06:37 +02:00
ganfra
0e94771f03 Sending queue : reintroduce failed status for unrecoverable error 2024-06-19 11:32:04 +02:00
ganfra
2b5ea96110
Merge pull request #3037 from element-hq/feature/fga/timeline_cancelable_focus
Feature/fga/timeline cancelable focus
2024-06-18 10:59:54 +02:00
Jorge Martin Espinosa
b741c32e91
Add full screen intent permissions banner (#3024)
* Add full screen intent permissions banner, creating `:libraries:fullscreenintent` modules.
* Add it to notification settings too:
    - Create `libraries:fullscreenintent` modules for the permission presenter and associated data.
    - Add the presenter and states to `NotificationSettingsPresenter` and `NotificationSettingsView`.
* Use the right API to check for full screen intent permissions.
- Use the right package name for `:libraries:permission` contents.
* Fix broken tests (flaky?)
* Ignore coverage verification for fake and small presenters

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-06-18 07:41:10 +00:00
ganfra
75b1c22197 Timeline : let FocusOnEvent be cancellable and refactor a bit focus states. 2024-06-14 19:07:44 +02:00
ganfra
f53dbef8de Progress dialog : add dialog properties parameter 2024-06-14 18:59:42 +02:00
ganfra
2ce02c564a Sending queue : disable edition of local echo 2024-06-12 11:36:53 +02:00
ganfra
b927daffe7 Merge branch 'develop' into feature/fga/message_queuing 2024-06-11 17:08:47 +02:00