Commit Graph

132 Commits

Author SHA1 Message Date
Mauro Romito
53bff8d945 reply view will now render as plain pills
instead of rendering nothing
2025-03-25 14:00:29 +01:00
Andy Balaam
92a033c2c4 Use 'Dismiss' to close pinned identity changes, instead of 'Ok' (#3936)
* Use 'Dismiss' to close pinned identity changes, instead of 'Ok'

* Update snapshots.
2025-03-25 10:36:34 +00:00
ElementRobot
0dc30f91e4 Translations update (#3932)
* Translations update

* Update preview snapshots

---------

Co-authored-by: pixlwave <6060466+pixlwave@users.noreply.github.com>
Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2025-03-24 11:42:26 +02:00
Mauro Romito
9fe547fa65 fix: DM invites now correctly render the avatar 2025-03-21 20:27:04 +01:00
Mauro Romito
d9196b2fa1 pr suggestions 2025-03-21 15:41:39 +01:00
Mauro Romito
d3fd1e9b55 updated test for hidden avatars in invites 2025-03-21 15:41:39 +01:00
Mauro Romito
0c7707a57c removed images in pills in favour of text decos
FIX

fix
2025-03-17 14:45:23 +01:00
Mauro Romito
8dcd2b6906 added @room to suggestion view for room mentions 2025-03-12 18:55:59 +01:00
Stefan Ceriu
78b162bea7 Fixes #3867 - Change bage label colors to blue when not highlighted
- bumps compound to get new semantic tokens
- updates related snapshots
- the composer updates have already been handled separately
2025-03-10 16:30:32 +02:00
Mauro
3d856ce205 Room mentioning in the composer (#3868)
* refactored the suggestion item structure

to scale with the room pill

* Implemented a way for the rooms

to appear in the suggestions view for the RTE, however I need to add the pills to the composer and the compatibility with the plain text composer

* small code correction

* fix

* fixed a bug where the suggestion wasn't returning

the right suggestion type and the suggestion text properly

* implementation done!

also updated some tests, but we need more of them

* updated toolbar view model tests

* updated tests

* updated preview tests

* renamed the Avatars case for the suggestions
2025-03-06 11:32:37 +01:00
Stefan Ceriu
1dcf19092d Converge on same naming convention for snapshots in the preview tests as in the UI tests. 2025-03-05 11:43:08 +02:00
Stefan Ceriu
4879c3842d Only show a badge in the composer if the room is unencrypted. (#3866)
* Partially revert the message composer encryption badges and only show it for unencrypted rooms.

* Update preview test snapshots.

* Update UI test snapshots.
2025-03-04 14:58:15 +02:00
Mauro
861d30c727 Join room by address (#3840)
* Implemented join room by address

* improved the text field typing

* some improvements to how the text is edited

* remove navigation link

* moved room directory search to the start chat flow

* updated preview tests

* added unit tests and improved the code

* updated strings

* some pr suggestions:

- moving the file
- changing the name of the action
- reintroduce the debounce text queries
- add comments

* renamed the auth text field style to Element

updated tests
2025-02-28 12:35:15 +00:00
Stefan Ceriu
13bbc4b31f Show room encryption state in the composer (#3841)
* Fixes #3835 - Show room encryption state in the composer

* Update the preview test snapshots

* Update the UI test snapshots.
2025-02-27 22:16:26 +02:00
Stefan Ceriu
bd0359c76f Show DM recipient verification badges on the room details screen profile button (#3824) 2025-02-26 13:55:59 +02:00
Mauro
431828828d Render Room and Message Pills (#3809)
* added a way to render the room and the message

pills, but is WIP

* permalinks now get converted into pills!

* fixed an issue where room address mentions

were not adding a URL properly but a string

* updated tests

* c

* Revert "c"

This reverts commit 5c80252fa23dba7e4d44f2a07fbf1e9500e37c82.

* updated tests

* more tests

* created APIs to get a specific RoomSummary

given the id or the alias

* small mention builder improvement

* pr suggestions
2025-02-25 13:46:01 +00:00
Doug
67342c38d7 Don't set the room topic when creating a room if it is blank. (#3821)
* Don't set the room topic when creating a room if it is blank.

Also fix the styling on the room name text field.

* Snapshots

* Add a test for the empty topic.
2025-02-25 11:10:59 +00:00
Doug
772e754773 Update Compound (#3803) 2025-02-20 14:15:26 +00:00
Doug
6deaa26e8e Hide the unread dot after previewing an invite. (#3800)
* Hide the unread dot when previewing an invite.

* Remove an invited room ID when accepting/rejecting.

* Remove the unread badge from knocked room cells.

* Update snapshots.

* Address PR comments.

Refactor KnockRequestType to JoinRequestType.
2025-02-18 12:22:13 +00:00
Doug
74511e0570 Update the SDK.
Handles changes that removed support for the sliding sync proxy.
2025-02-18 11:55:20 +00:00
Stefan Ceriu
1e58795a65 User verification state indicators (#3793)
* Introduce a `UserIdentityProxy` and have it combine upstream methods into an easy to digest  `UserIdentityVerificationState`. Use it in a dedicated `VerificationBadge` UI component

* Show a DMs counterpart verification state in the room header

* Show a warning on the room details `People` entry when there are identity verification state violations on any of the members.

* Show verification badges in the room member list

* Show a withdraw verification section on the room member details for users that have pinning violations.

* Remove the verification section from the profile screen as there's no reliable way to keep it up to date
- the underlying Rust SDK Olm Machine can be rebuilt without notice which would break any existing user identity change streams.

* Update preview test snapshots
2025-02-18 08:37:34 +02:00
Doug
1b68801f66 Update our development assets. (#3783)
* Replace downloaded test assets with original content.

* Replace AI generated assets with original content.

* Update preview tests snapshots

* Update UI test snapshots.

---------

Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2025-02-11 11:53:35 +00:00
Stefan Ceriu
443447231d Add support for initiating and responding to user verification requests (#3759) 2025-02-10 18:07:11 +00:00
Mauro
c0dd301fdb Knock Polishing part 4 (#3779)
* added decline and block and inviter redesign

* improved testing

* improved testing

* code improvement

* code improvement

* improved the code
2025-02-10 17:31:12 +00:00
Mauro
fc00b33054 change applied and updated tests (#3751) 2025-02-07 10:08:35 +01:00
Mauro
823945a7dc Updated Bottom Sheet message string (#3743)
* updated bottom sheet string

* updated pseudo language tests
2025-02-07 10:08:10 +01:00
Mauro
de8117ea93 Knocking feature polishing part 2 (#3738)
* improved implementation of the unknown state

* forget button in the banned state

* error handling for forbidden access

* added the forget function

fixed DMs, and updated preview tests

* removed banned room proxy

* code polishing and test improvement
2025-02-05 14:48:24 +01:00
Mauro
aa9aec7d07 Bottom Sheet to confirm DM creation (#3739)
* created the view to hold the bottom sheet

* added the sheet to the start chat screen

* switched the alert with the bottom sheet

in the room member details

* add a small delay to not always show the loader

* suggested PR changes

* pr suggestions and updated tests
2025-02-05 12:28:00 +00:00
Doug
259731b805 Revert back to UIKit for the presentation of the timeline media preview. (#3719)
* Revert back to UIKit for the presentation of the timeline media preview.

* Fix a presentation issue where the media is clipped until the animation finishes.

* Workaround for the preview controller replacing the info button when swiping.

* Use a self-sizing detent on the media info sheet.
2025-01-31 17:28:14 +00:00
Doug
8a1da866fe Remove unused/redundant assets. (#3702)
* Remove unused image assets.

* Remove unused/redundant colour assets.
2025-01-27 11:44:39 +00:00
ElementRobot
9976b2bc05 Translations update (#3704)
* Translations update

* Update snapshots
2025-01-27 10:12:39 +00:00
Mauro
998739308a DM Design Tweaks (#3693)
* dm design tweaks

* adding equatable conformance

* topic will now be shown in DMs

* code suggestion

* updated details

* better check

* code improvement
2025-01-22 13:32:39 +00:00
Doug
bcf0271886 Media browser tweaks (#3692)
* Move the media actions from the bottom bar into the details sheet.

* Allow the media type picker to fill the width of the screen.
2025-01-21 17:00:04 +00:00
Stefan Ceriu
b474c9efe3 Refactor the JoinRoom screen to take advantage of newer APIs and support more joinRule/membership combinations (i.e. invite required, restricted, banned) (#3685)
- expose the full RoomPreview and RoomMembershipDetails through their own proxies
- implement standard mocks for all the different combinations
- converge on a single room info provider
- rebuild all the previews
- prioritise the preview data over the room one.
2025-01-20 19:07:11 +02:00
Valere
9fe7b3e266 Warn and block sending on verification violation (#3679)
* feat(crypto): Warn and block sending on verification violation

* fixup: Fix ComposerToolbar previews

* fixup! add ComposerToolBarViewModelTests for canSend

* add new preview tests for verification violations

* Use `deferFulfillment`s in the unit tests.

---------

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2025-01-20 18:29:34 +02:00
Stefan Ceriu
49070573d4 Improve how alias settings are handled, add unit tests (#3686) 2025-01-20 15:43:47 +02:00
Stefan Ceriu
9bb462c744 Support double-length pseudlanguage in fallback translations and update snapshots for en-us. 2025-01-15 14:59:54 +02:00
Stefan Ceriu
346b36e5ba Bump the RustSDK to v25.01.15 and fix (most) concurrency sendability warnings in the generated mocks. 2025-01-15 14:59:54 +02:00
Mauro
79332cb30a Security and privacy part 2 (#3637)
* handling the history visibility flag

* better logic to handle visibility

* better handling of the visibility options state

* added some copies, and the public room directory

visibility state

* completed the UI

added also the preview tests

* improved the handling of the directory visibility

* added the space users case

and improved handling of the access -> vsibility reaction. Also added a simple error handling for the public directory toggle

* added the edit room address view

but is missing its full implementation

* implement the UI for the edit room address screen

* implemented error checking

when editing the address

* updated preview tests and improved code

* typo fix

* Fix various issues after rebasing.

* Fix build errors and broken snapshot tests

* Adopt latest room privacy and canonical alias setting APIs

* Add support for creating and editing the room's alias.

* Add support for saving room privacy setting changes.

* Fix room alias screen snapshot tests following recent changes.

---------

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2025-01-15 11:50:08 +02:00
manuroe
c29f4cc9b4 Dual licensing: AGPL + Element Commercial (#3657)
* New LICENSE-COMMERCIAL file

* Apply dual licenses: AGPL + Element Commercial to file headers

* Update README with dual licensing
2025-01-06 11:27:37 +01:00
Doug
25f353e2af Design tweaks. (#3645)
* Update the background colour of the VisualList component.

* Update the recovery key field to match the designs.
2024-12-20 14:13:23 +00:00
Stefan Ceriu
87169d9db5 Retrofit deferFulfillment onto snapshot tests. (#3641)
* Retrofit `deferFulfillment` onto snapshot tests.

* Convert a bunch of preview tests to the new fulfillment publisher

* Convert more tests

* Remove unneeded delays from the remaining tests

* Remove snapshotting delay option.
2024-12-20 15:30:59 +02:00
Doug
6472c94eb3 Enable the media browser feature 🖼️ (#3642)
* Overlay a progress indicator for downloads instead of using a toast indicator.

* Update the SDK.

* Remove the feature flag for the media browser.

* Remove the media captions feature flag too.

* Add unit test cases for download failure and swiping between items.

* Snapshots (with the media browser visible in the screen).
2024-12-19 14:15:31 +00:00
Stefan Ceriu
a140475bd8 Fix #3639 - Reorder timeline item menu options 2024-12-19 13:18:12 +02:00
Mauro
4eb6db3315 updated details design (#3626) 2024-12-17 11:50:01 +00:00
Stefan Ceriu
278d83b375 Fix video item duration formatting 2024-12-16 19:21:28 +02:00
Stefan Ceriu
ffad834cd3 Fix the media gallery's empty state showing up at wrong times. 2024-12-16 19:21:28 +02:00
Mauro
89ac38c91b Implement Knock Logic (#3573)
* WIP RequestToJoin struct

* implemented the logic to display the cells

* knock request banner accept flow

* mark all knocks as seen implemented

* details logic

* implemented accept, decline and ban in the list

* added a loader and modified the stacked view

of the banner

* pr suggestions

* updated naming and loading strings

* added the initial loading state

improved code and the tests

* updated a string that has changed

* code improvement

* tests for the room screen view model

* room details tests

and improved the knock requests tests for the room screen

* knock requests list tests

* added error state alerts with retry

* struct has been renamed on the sdk

so I renamed it also on the app side

* update SDK
2024-12-16 15:32:45 +01:00
Stefan Ceriu
07c8b0e8b2 Add empty states for the media gallery sections 2024-12-13 19:31:35 +02:00
Stefan Ceriu
ed3f7fea1c Update the other affected snapshots 2024-12-13 19:31:35 +02:00