* Replace GrantLoginWithQrCodeHandlerSDKMock with LinkNewDeviceServiceMock.
Add tests for all initial states on the QRCodeLoginScreen.
* Add tests for linking both mobile and desktop devices.
* Add UI tests for linking a new device.
* Don't show the Link Desktop Computer button when running on macOS.
This mirrors the decision to hide the Sign In With QR Code button on the start screen.
* Adds the remaining parts for showing/scanning a QR code to link a new device.
* Refactor the QRCodeLoginService to work the same way as the LinkNewDeviceService.
* Tidy-up Rust to Swift mapping.
* Refactor out a dedicated QRCodeErrorView.
* Use the new QRCodeErrorView for most error state snapshots.
* Simplify QRCodeErrorView structure.
Also updates the background to match the designs.
* Fix a small compile error in the unit tests.
* Add a LinkNewDeviceService that exposes the SDK's grant QR code login methods.
* Add a flow coordinator for linking a new device.
Changes the presentation too.
* Remove `eraseToStream` now that `any AsyncSequence` is available to us.
* Remove the now unnecessary backport of Mutex.
* Silence a couple more deprecation warnings.
* Listen to call decline to stop ringing when declined from other device
* MSC4075 Use expirationTS to define the call ringing window
* Implement ElementCallService tests.
* Update acknowledgements.
* Only offer to verify if a cross-signed device is available
* Wait until we know which verification options are available before showing them.
---------
Co-authored-by: Hubert Chathi <hubertc@matrix.org>
* Implementation for all navigations inside the space settings aside the left space action
# Conflicts:
# ElementX/Sources/FlowCoordinators/SpaceSettingsFlowCoordinator.swift
* refactored the leave space view to use its own view model
# Conflicts:
# ElementX.xcodeproj/project.pbxproj
* implemented the leave space view model also in the settings screen, and corrected some tests
* reusing the details coordinator for the space settings screen
* leave space from settings implemented
* fix project
* minor pr fixes
* code improvements
* Introduce a basic StartChatFlowCoordinator.
* Move the rest of the start chat flow from the screen coordinator into the flow coordinator.
* Add a UI test for the entire start chat flow.
* Refactor CreateRoom… to CreateRoomScreen…
* implemented grouping
* implemented presenting the thread
* improved the implementation by reusing the presentation action
* add Thread group to DMs to differentiate from non threaded messages of the same DM
* name for a threaded notification in group room
* focus event when tapping on a notification
* pr suggestions
* document
Also removes an unused `parent` parameter that was missed when removing the parent name and includes some regenerated snapshots that were missed in the last PR.