Commit graph

1182 commits

Author SHA1 Message Date
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
97f3959379
Merge pull request #3146 from element-hq/feature/bma/invokeAllCallbacks
Ensure that all callback plugins are invoked.
2024-07-09 16:17:02 +02:00
renovate[bot]
68efc918ba
Update dependency org.matrix.rustcomponents:sdk-android to v0.2.31 (#3145)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.31

* Use new Rust client side sorting API

* Make `RoomListEntriesUpdate.describe()` an extension function

* Remove `RoomListSummary.Filled` and `RoomListSummary.Empty`

* Fix icon sizes to pass the lint checks

* Update screenshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-07-05 15:25:42 +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
Jorge Martin Espinosa
32a374d836
FFs can now be toggled in release builds too (#3101)
- Removed `StaticFeatureFlagProvider`.
- Always provide `PreferencesFeatureFlagProvider`.
- For the default values of feature flags, use a lambda with a `BuildMeta` parameter so we can customize the return value based on its data.
2024-07-02 16:06:42 +00: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
029962c101 Draft : add unit tests for draft support 2024-06-26 12:14:43 +02:00
ganfra
e68684815d Draft : makes sure all existing tests passes 2024-06-25 15:17:18 +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
ccf7efe9b1 Sending queue : fix more tests. 2024-06-13 10:27:57 +02:00
ganfra
bc4922afbb Fix ktlint 2024-06-12 17:06:43 +02:00
ganfra
c177d3de7b Sending queue : fix more tests as we have less methods available now. 2024-06-12 16:54:49 +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
ganfra
a603855933 Sending queue : code quality 2024-06-11 17:05:12 +02:00
ganfra
60de33b8c6 Sending queue : remove onTimelineClik on TimelineViewTest (temporary) 2024-06-11 16:52:57 +02:00
Benoit Marty
756905b9cd
Merge pull request #3000 from element-hq/sync-localazy
Sync Strings
2024-06-11 15:16:55 +02:00