Commit Graph

600 Commits

Author SHA1 Message Date
Benoit Marty 375ac25d8d Migrate license to AGPL - XML files. 2024-09-06 17:43:35 +02:00
Benoit Marty f61df38e55 Migrate license to AGPL.
Run script `uv run license-editor --repository ../element-x-android`
2024-09-06 17:19:19 +02:00
ganfra b802a196fc Merge pull request #3392 from element-hq/feature/fga/pinned_messages_list
[Feature] Pinned messages list
2024-09-06 16:32:44 +02:00
ganfra d3420da599 Pinned messages list : improve and fix code after PR review. 2024-09-05 17:40:50 +02:00
ganfra 91a44f6380 Rust sdk : update to 0.2.42 2024-09-04 16:37:46 +02:00
ganfra 12e7e05551 Merge branch 'develop' into feature/fga/pinned_messages_list 2024-09-04 14:11:53 +02:00
Jorge Martin Espinosa 2c8b0d0b95 Make sure to save the tokens the Client might return when its session is restored (#3378)
* Use `ClientSessionDelegate` to ensure tokens are always updated.

Refreshed tokens on client restoration might not have been stored to disk if the token refresh happened before `RustMatrixClient` was built and the `ClientDelegate` was set in it.

Using `ClientSessionDelegate` should ensure the tokens refreshed callback is called at any point in time.

* Improve how assigning the Client works, fix docs

* Fix review comments
2024-09-04 10:54:31 +02:00
renovate[bot] 9fb82a1e86 Update dependency org.matrix.rustcomponents:sdk-android to v0.2.41 (#3384)
* Introduce value class UniqueId.

* Allow reactions on non-sent Event, the SDK can now handle it.

Also the SDK will manage local echo for reactions.

* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.41

* Fixes after SDK upgrade:

- Use `ClientBuilderSlidingSync` to set `SlidingSyncVersionBuilder` in `RustMatrixClientFactory`.
- `Room.toggleReaction(emoji: String, eventId: EventId)` is now `Room.toggleReaction(emoji: String, uniqueId: UniqueId)`, since reactions can now be applied to local echoes too in the SDK.

* Rename exception case

* Fix wrong error case being used in test

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: Benoit Marty <benoitm@matrix.org>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-09-03 20:09:33 +02:00
ganfra 2193b9a300 Pinned events : start displaying actions in timeline 2024-08-30 15:15:22 +02:00
Benoit Marty d80f70fd32 Merge pull request #3320 from element-hq/feature/bma/cleanNotificationOfRedactedEvent
Redact message on displayed notification
2024-08-29 14:46:13 +02:00
Benoit Marty dfaa350167 Better handling on null reset handler.
This is not an error, but in this case, the reset identity is successful.
2024-08-29 09:41:13 +02:00
ganfra 741c3679ea Timeline : add a mode to differentiate between live/focused/pinned 2024-08-28 12:35:21 +02:00
Benoit Marty d867a5fe6f Cleanup notification for redacted event. 2024-08-28 10:29:01 +02:00
ganfra 2361b597d9 Rust sdk : handle the remaining changes 2024-08-27 17:45:32 +02:00
ganfra 88a581427c Rust sdk : refactor LocalSendState to use the new failure states as iOS does 2024-08-27 17:45:22 +02:00
ganfra e5b21c389e Rust sdk : use newMessageShield state 2024-08-27 17:43:07 +02:00
Benoit Marty 57d927e9aa Suggestion for room alias.
Rename `Mention` to `IntentionalMention` for clarity
Remove dead code, there is no intentional mention for Room or RoomAlias.
Rename `IntentionalMention.AtRoom` to `IntentionalMention.Room` to match Rust naming
2024-08-21 15:32:05 +02:00
Benoit Marty 21f2c5a231 Merge pull request #3240 from element-hq/feature/valere/message_shields
Timeline UI | MessageShield Support
2024-08-16 14:25:33 +02:00
Benoit Marty 3676bca042 Make extension isCritical a val instead of a fun. 2024-08-16 09:56:01 +02:00
Benoit Marty faf1e7da9f Iterate on shield mapping and rendering
Also handle click on the timeline and information displayed on long click.
2024-08-14 17:24:11 +02:00
Benoit Marty 5d10b1fe85 Merge branch 'develop' into feature/valere/message_shields 2024-08-14 12:37:31 +02:00
Jorge Martín 5239e5ce81 Fix lint issues 2024-08-13 08:55:06 +02:00
Jorge Martín 7fd0ad09dc Improve APIs, add tests 2024-08-13 08:55:06 +02:00
Jorge Martín 175bada0df Improve existing APIs 2024-08-13 08:55:06 +02:00
Jorge Martín 4ab0b1074d Initial implementation of the reset identity feature 2024-08-13 08:55:05 +02:00
ganfra 583625e4d4 Merge branch 'develop' into feature/fga/pinned_message_banner_logic 2024-08-07 16:05:41 +02:00
ganfra 5d2abd0350 timeline : allow rendering m.room.pinned_events 2024-08-06 17:28:23 +02:00
ganfra 34fd21f440 Pinned events : introduce pinnedEventsTimeline method. 2024-08-01 18:22:22 +02:00
ganfra 46f5115c0a Pinned events : clean up code 2024-07-30 16:40:18 +02:00
ganfra 210e2092cd Refactor userEventPermissions 2024-07-29 13:43:47 +02:00
ganfra 52a643f116 Pin : expose the new rust sdk apis 2024-07-29 12:50:35 +02:00
ganfra 0149007dd4 Timeline Action : refactor how it's computed and align with iOS 2024-07-26 18:20:03 +02:00
Valere 524f20bb40 Timeline UI | MessageShield Support 2024-07-25 10:01:27 +02:00
ganfra d421a6c99b Merge branch 'develop' into feature/fga/room_preview_join_button_fallback 2024-07-24 16:34:35 +02:00
ganfra a23e5e2400 Edit : fallback to room.edit when timeline item is not found. 2024-07-24 11:49:16 +02:00
ganfra aebcc52309 Join Room : makes sure we can join by alias 2024-07-23 21:17:35 +02:00
renovate[bot] 05e56e1ebc Update dependency org.matrix.rustcomponents:sdk-android to v0.2.33 (#3220)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.33

* Fix API breaks

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-07-19 13:33:27 +02:00
Jorge Martin Espinosa 63df35e071 Use the right filename for log files so they're sorted in rageshakes (#3219)
* Use the right filename for log files so they're sorted in rageshakes

* Hide the suffix part so it's not changed by accident
2024-07-19 10:33:33 +00:00
Jorge Martin Espinosa aedbce8e8d Add logging to help debug forced logout issues (#3208)
* Add logging to help debug forced logout issues

* Use tags instead of manually adding the values to the logs.

- Also add extension functions to easily get anonymized tokens from `Session`/`SessionData`.

* Make sure only 1 operation related to token persistence can run at the same time
2024-07-18 13:16:20 +00:00
Benoit Marty d6c99870f9 Be more lenient on Matrix pattern to support existing rooms in the wild (will fix crash on debug build). 2024-07-17 10:08:25 +02:00
Benoit Marty 67e09295de Still need to support both eventId legacy and v4 2024-07-16 18:40:03 +02:00
Benoit Marty 79d29d680b Add extra test for room alias. 2024-07-16 18:25:20 +02:00
Benoit Marty 5ae4668da5 No need to make the block optional. 2024-07-16 18:23:25 +02:00
Benoit Marty 52900076bd Add test on MatrixPatterns functions. 2024-07-16 18:21:02 +02:00
Benoit Marty 792667c9a4 Iterate on MatrixPatterns. 2024-07-16 18:06:18 +02: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 5944f112fb Subscribe to RoomListItems in the visible range (#3169)
* Subscribe to `RoomListItems` in the visible range

This ensures the room list items always have updated info.
2024-07-11 10:54:56 +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
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 8ec283f2ca Use SDK to get Element Wellknown content. 2024-07-02 13:28:26 +02:00