Commit graph

1201 commits

Author SHA1 Message Date
ganfra
a23e5e2400 Edit : fallback to room.edit when timeline item is not found. 2024-07-24 11:49:16 +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
Benoit Marty
5bda29ca7e
Rework FakeMatrixRoom so that it contains only lambdas. (#3229)
* Upgrade lint to 8.7.0-alpha01

* FakeMatrixRoom: lambda everywhere

Fix test compilation issues
2024-07-22 10:39:48 +02: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
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
Jorge Martin Espinosa
b0cebf5ca0
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
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