Commit Graph

1196 Commits

Author SHA1 Message Date
Jorge Martin Espinosa
a6b6d2ab7a 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
89ec904c4a 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
bb47ff8f49 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
39ca870d45 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]
8aa4fbdade 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
27e4b5d82f Ensure that all the callback instances are invoked. 2024-07-05 12:13:21 +02:00
Benoit Marty
ea62ed7c5a Improve click behavior on room timeline title. #3063 2024-07-04 09:26:39 +02:00
ganfra
d0eecd01b3 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
4918ec25b5 Draft : improve DefaultComposerDraftService code. 2024-07-03 15:04:38 +02:00
ganfra
f3bacc3c85 Draft : add some doc on ComposerDraftStores 2024-07-03 15:04:05 +02:00
jmartinesp
58f2cbf489 Sync Strings from Localazy 2024-07-03 11:21:27 +00:00
Jorge Martin Espinosa
950e502ca6 Improve screenshot testing with ComposablePreviewScanner (#3125)
* Use ComposablePreviewScanner to rework how screenshot testing works
* Add test sharding
* Update screenshots
* Fixes for Element Gallery

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-07-03 13:05:06 +02:00
ganfra
9a15a1ae71 Draft : use the volatile draft store when moving to edit mode 2024-07-03 12:03:51 +02:00
Jorge Martin Espinosa
e9e7d4d0c4 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
157f933e59 Draft : introduce VolatileComposerDraftStore 2024-07-02 18:01:09 +02:00
ganfra
cf684bf43a Timeline : fix text item not refreshed when content change 2024-07-02 10:29:09 +02:00
ganfra
113e8ecffa Draft : also clear draft when composer is blank 2024-07-01 12:23:42 +02:00
bmarty
99ae2b9640 Sync Strings from Localazy 2024-07-01 00:22:10 +00:00
Jorge Martin Espinosa
a95d610464 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
cdbb46fa22 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
a77e5edef4 Merge branch 'develop' into feature/fga/draft_support 2024-06-26 15:22:00 +02:00
ganfra
cb6074fb2a Draft : code cleanup 2024-06-26 12:15:00 +02:00
ganfra
32f2b7534b Draft : add unit tests for draft support 2024-06-26 12:14:43 +02:00
ganfra
ece740322c Draft : makes sure all existing tests passes 2024-06-25 15:17:18 +02:00
ganfra
dfae2e50c9 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
a2eca372cc Fix format issue. 2024-06-24 12:03:38 +02:00
Benoit Marty
3270731f2b 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
9f45005c05 Reply : fix reply cropped in timeline 2024-06-21 15:42:26 +02:00
ganfra
1b1b556aa4 Draft : branch reply mode 2024-06-21 12:40:16 +02:00
ganfra
71667dc235 Reply : refactor so we can use ReplyToDetails in Composer and Timeline 2024-06-21 12:23:17 +02:00
Jorge Martin Espinosa
ce91fe4ab2 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
78da033541 Reply : move InReplyTo and related to matrix.ui module. 2024-06-20 17:38:56 +02:00
Benoit Marty
9f7f0b9acb Use extension MatrixUser.getAvatarData and fix compilation issue. 2024-06-20 16:06:33 +02:00
Benoit Marty
84f42537b8 Use ImmutableList in Composable. 2024-06-20 15:56:33 +02:00
Benoit Marty
0b9f5a5214 Add enum Suggestion instead of reusing TimelineRoom 2024-06-20 15:00:26 +02:00
Benoit Marty
042ba6b35e Use heroes to render room avatars 2024-06-20 14:14:05 +02:00
ganfra
f821fa5862 Draft : introduce DraftService and start using it. 2024-06-20 11:28:07 +02:00
ganfra
a12fa8d8a4 Sending : copy link action should be available only for remote event 2024-06-19 12:06:37 +02:00
ganfra
a92ce8d004 Sending queue : reintroduce failed status for unrecoverable error 2024-06-19 11:32:04 +02:00
ganfra
93ccf07ad4 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
feef0f6976 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
56251f805c Timeline : let FocusOnEvent be cancellable and refactor a bit focus states. 2024-06-14 19:07:44 +02:00
ganfra
4f3cb5a1e5 Progress dialog : add dialog properties parameter 2024-06-14 18:59:42 +02:00
ganfra
6d4d9db8a1 Sending queue : fix more tests. 2024-06-13 10:27:57 +02:00
ganfra
009c1ac181 Fix ktlint 2024-06-12 17:06:43 +02:00
ganfra
d63ee1fa7d Sending queue : fix more tests as we have less methods available now. 2024-06-12 16:54:49 +02:00
ganfra
1b411c3c4b Sending queue : disable edition of local echo 2024-06-12 11:36:53 +02:00
ganfra
71b6482094 Merge branch 'develop' into feature/fga/message_queuing 2024-06-11 17:08:47 +02:00
ganfra
bbd8e5d8dc Sending queue : code quality 2024-06-11 17:05:12 +02:00
ganfra
6053099457 Sending queue : remove onTimelineClik on TimelineViewTest (temporary) 2024-06-11 16:52:57 +02:00