* added the banned room proxy
and a way to have a consistent loading + a retry alert
* trailing closure
* indent a comment
* push package.resolved
* updated test case
* 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
* Use the new TimelineMediaPreview modifier on the room and pinned timeline screens.
* Use the same presentation logic for all timeline media previews.
* Fix a bug with the detection of the timeline end.
* Send pagination requests from the media preview screen.
* Add SwiftLint to the Danger workflow (it is no longer installed on the runner).
* Put SwiftLint back on all of the GitHub runners too.
* Set the function_parameter_count lint rule to 10.
* Make sure to clean-up any previews when the coordinator is done.
* Handle the viewInRoomTimeline action more appropriately.
* 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
* Add the timeline controller factory to the timeline view model.
In preparation for building a timeline to swipe through media in QuickLook.
* Refactor RoomTimelineControllerFactory.
* Refactor RoomTimelineController.
* Refactor RoomTimelineProvider.
* 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.
* Ensure multiple mandatory verification flows can be ran consecutively (e.g. following encryption resets)
* Disabled the back button on the verification screen only when verified and waiting for the security state publisher
There was a race condition where 2 different states could be processed at the same time.
* Fix unit test
The view model wasn't stored, so relying the current value publisher didn't have time to fire before deinit.
* better handling for aliases from different HS
* insert the alias at the top
* removing the old homeserver alias
* code improvement
* always remove the old canonical alias found on the server if exists
* added extensive testing for all the
possible cases on how the save is handled given the various context of the existing room alias
- 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.
* 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>