Commit Graph

284 Commits

Author SHA1 Message Date
ganfra
e231ef7a0e change (preferences) : hide invite avatars (room and sender) 2025-04-09 21:26:24 +02:00
ElementBot
2c62c44c11 Sync Strings from Localazy (#4506)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-03-31 10:58:46 +02:00
ganfra
042c0c5a6b Change (mention span) : rework and add more cases (#4476)
* change(mention span) : improve truncation logic

* change(mention span) : fix theme switching

* change(mention span) : start to pillify permalinks

* change(mention span) : use permalink directly

* change(mention span) : start improving mention type

* change(mention span) : use the appropriate MentionSpanProvider methods

* change(mention span) : introduce MentionSpanFormatter

* change(mention span) : introduce MentionSpanUpdater

* change(mention span) : Improve RoomNameCaches

* change(mention span) : remove useless param on HtmlConverterProvider

* change(mention span) : fix some remaining issues on the composer

* change(mention span) : remove pillifiedBody

* change(mention span) : fix some issues with pillification

* change(mention span) : fix getMentionsSpans

* change(mention span) : make sure all tests passes

* change(mention span) : remove the coroutine from the caches and a MentionSpanFormatterTest

* change(mention span) : add more tests on pillification

* change(mention span) : clean up

* Update screenshots

* change(mention span) : remove unexpected print

* change(mention span) : remove default values in constructor of TimelineTextBasedContent classes

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-28 11:20:32 +01:00
Jorge Martin Espinosa
f59b26eb10 Limit the text length in the 'in reply to' preview (#4491)
* Limit the text length in the 'in reply to' preview

Otherwise, very long texts with no line breaks can cause a Compose crash
2025-03-27 14:37:38 +01:00
Jorge Martin Espinosa
38aa3f1e96 Improve touch indicators for the user info UI in the timeline (#4482)
* For the user info in the timeline items, display the ripple effects according to the bounds and shape of the user avatar and display name

* Fix ripple in other screens too
2025-03-27 14:09:47 +01:00
Jorge Martin Espinosa
1659572950 Update SDK version to 25.03.13 and fix breaking changes (#4406)
Breaking changes addressed:
* Make `MatrixClient.getNotificationSettings()` async, cache its result.
* Use `RoomInfo` for accessing the updated room's info.
* Refactor `MatrixRoom` so it always receives an initial `MatrixRoomInfo` value: this value will be used to make `MatrixRoom.roomInfoFlow` a `StateFlow` so we can assume the initial updated Room data will be present.
* Fetch encryption state when loading a room if it's unknown
2025-03-19 12:52:57 +01:00
ElementBot
6dbb371ca2 Sync Strings from Localazy (#4421)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-03-17 09:54:03 +01:00
Jorge Martin Espinosa
96e34cb8ee Add user verification and verification state violation badges (#4392)
* Move `observeRoomMemberIdentityStateChange` and associated classes to `libs:matrixui` module so they can be reused

* Add `EncryptionService.getUserIdentity` method to retrieve not only if the user is verified or not, but in which state they are

* Fix `IdentityChangePresenter` after the previous changes

* Fix `withFakeLifecycleOwner` and add `testWithLifecycleOwner` helper

* Display verified badge in DM top app bar when possible

* Display a verification violation warning icon next to the 'People' item in room details screen

* Display either a verified badge or a verification violation warning icon next to the room members in the room member list screen

* Display either a verified badge or a verification violation warning and withdraw verification button in the room member profile.

Generic user profiles won't display verification state anymore since we can't easily track changes in it.

* Add preview for room member details screen with verification violation identity state

* Add verified and violation badge to the `Profile` list item in room details screen

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-12 12:22:53 +01:00
bmarty
9456ee921d Sync Strings from Localazy 2025-03-10 00:28:38 +00:00
Benoit Marty
bb45e49f68 Coil3: Use newBuilder, see https://coil-kt.github.io/coil/network/#using-a-custom-okhttpclient 2025-03-03 16:40:07 +01:00
Benoit Marty
3a09d1c4ca Migrate to coil3 2025-03-03 12:30:26 +01:00
Benoit Marty
d44f5e563f Replace Material icons with Compound icons wherever it's possible 2025-02-26 22:19:19 +01:00
Benoit Marty
d1d130af75 Change CompoundIcons.Error to CompoundIcons.ErrorSolid 2025-02-26 18:52:31 +01:00
ganfra
30fbb124a5 feat(join by alias) : add TextFieldValidity.None instead of nullable 2025-02-25 20:27:54 +01:00
ganfra
3bb61757ca feat(join by alias) : format code 2025-02-25 15:56:14 +01:00
ganfra
f6b4ee945b design(text field) : allow setting validity (instead of just isError bool) 2025-02-25 15:45:43 +01:00
Benoit Marty
83ede0f774 Sync strings again.
Revert wrong change on Hungarian plurals.
2025-02-17 11:29:49 +01:00
bmarty
3dddd90d97 Sync Strings from Localazy 2025-02-17 00:30:17 +00:00
ganfra
ba07370dfa feature(room preview): Add option to forget room, improve the room preview screen for banned rooms.
Some internal refactoring was done too:
- Remove RoomInfo.isPublic to only use JoinRule.
- Also take into account restricted access rooms for previews.
2025-02-10 19:13:02 +01:00
Benoit Marty
39cb6e03f0 Use color from ElementTheme. 2025-02-06 15:10:15 +01:00
Benoit Marty
0d6d74512f Use ElementTheme instead of MaterialTheme 2025-02-06 15:10:15 +01:00
Benoit Marty
1d5e78496c Do not rely on RoomAlias constructor to validate the Room alias, since there is no validation in release mode.
This is fixing the test in release mode.
2025-02-05 18:05:10 +01:00
Benoit Marty
2cacb94f95 Remove string duplication 2025-02-05 15:21:59 +01:00
Benoit Marty
5cd42f47c7 Extract testEnv to the test module 2025-02-05 15:20:18 +01:00
Benoit Marty
1408777f84 Add unit tests on MatrixUserExtensions 2025-02-05 12:15:30 +01:00
Benoit Marty
bfcc741312 Display a confirmation dialog before creating a DM. 2025-02-05 09:32:33 +01:00
bmarty
5a4cac7d2d Sync Strings from Localazy 2025-02-03 00:29:01 +00:00
ganfra
a8b3c7c5a7 feat(security&privacy) : fix tests after some rework landed 2025-01-28 21:08:14 +01:00
ganfra
3c18c1f06a feat(security&privacy) : clean code 2025-01-28 14:39:27 +01:00
ganfra
76bc87275c feat(security&privacy) : add all tests for EditRoomAddress classes 2025-01-27 22:43:10 +01:00
ganfra
8406840169 feat(room address) : extract some reusable code 2025-01-21 21:55:11 +01:00
ganfra
1aa0afd280 change(room details) : update room details with new sections organisation 2025-01-17 17:44:10 +01:00
Benoit Marty
05fc76822a Apply dual licenses: AGPL + Element Commercial to file headers.
2 replace all actions have been performed:
- "SPDX-License-Identifier: AGPL-3.0-only" to "SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial"
- "Please see LICENSE in the repository root for full details." to "Please see LICENSE files in the repository root for full details."
2025-01-07 10:05:04 +01:00
ganfra
39fd51888d room details : display the item to show request to join list 2024-11-25 16:33:34 +01:00
ElementBot
411895456b Sync Strings - add translations to Finnish (#3883)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2024-11-18 11:37:17 +00:00
Jorge Martin Espinosa
4e9a75f10e Use in-memory thumbnail APIs when possible (#3817)
* Use in-memory thumbnail APIs when possible

* Make an exception for animated image types.

Also add `TimelineItemImageContent.thumbnailMediaRequestData` lazy property.

* Try simplifying the logic a bit more.
2024-11-08 08:40:38 +01:00
Benoit Marty
b43064fa42 Use MimeTypes.Jpeg 2024-10-31 12:49:31 +01:00
ganfra
2ffd46061e knock : improve a bit code and add tests. 2024-10-23 15:44:00 +02:00
ganfra
91574d3dfa misc : fix invite sender view 2024-10-22 16:22:20 +02:00
Benoit Marty
f1391a1e9e Merge pull request #3671 from element-hq/bma/improveRoomModeration
Improve room moderation
2024-10-16 17:57:22 +02:00
Benoit Marty
95a49a626d Merge pull request #3574 from element-hq/feature/bma/improveMediaModel
Clarify model for Event with attachment
2024-10-16 14:57:05 +02:00
Benoit Marty
d468a009d5 Room moderation: make it more reactive and simplify the code. 2024-10-16 11:49:15 +02:00
Benoit Marty
ccaa34de83 Fix issue on canInvite refresh. 2024-10-14 12:16:01 +02:00
ganfra
8b788fe74a misc : makes sure to always use the same size for fetching avatar thumbnail so caching works properly. 2024-10-10 14:09:49 +02:00
ganfra
65fe6ae0f3 misc: extract toSelectRoomInfo method 2024-10-09 11:13:27 +02:00
ganfra
d73b1bad91 misc : remove direct usage of RoomSummary in UI and let RoomSummary use RoomInfo. 2024-10-08 21:34:34 +02:00
Benoit Marty
f7a3f707fb Improve mapping regarding filename, caption and formattedCaption 2024-10-08 17:12:48 +02:00
bmarty
05291bcf2f Sync Strings from Localazy 2024-10-07 00:28:33 +00:00
Benoit Marty
f88ec4837e Add settings to hide images and videos in the timeline.
Hide images, videos and stickers in the timeline.
Disable click on hidden content. It must be revealed first.
Add preview without BlurHash.
Also hide image in thumbnails.
2024-10-04 17:01:51 +02:00
Jorge Martin Espinosa
84c6a2f59b Fix room settings not treating unencrypted DMs as DMs (#3545) 2024-09-26 09:37:08 +00:00