* Hook up Rust's InvalidCheckCode failure to the right state when linking a new device.
* Automatically regenerate a new QR code instead of ending the flow when it expires.
* feat: Render declined calls in DM timeline
* Record preview snapshots
* review: Use CallIntent constant
* review: clean-up
* Record preview snapshots
* review: Move private field to the bottom with MARK: - Private
* review: Male CallIntent a string enum to use rawValue
---------
Co-authored-by: Element CI <ci@element.io>
This because the Rust side verification state machine doesn't wait for the request
to be sent and acknowledged before changing its inner state and with the automatic
starting of SAS in https://github.com/element-hq/element-x-ios/pull/5116 that creates
race conditions between `m.key.verification.ready` and `m.key.verification.start`.
* Restore the .oidcCallback route (partially reverts #3461) for external authentication.
* Make sure OIDC also works for non-http URLs.
* Remove oidcAuthentication from the state machine.
There isn't a reliable way to detect failure/cancellation when e.g. the user returns from an external app without interacting with the MAS page.
On iOS 26, `UIWindowScene.keyWindow` can be nil during scene connection
until the scene becomes active. The implicitly-unwrapped `mainWindow`
then crashes on the next line. Fall back to `scene.windows.first`, which
is the SwiftUI WindowGroup's window and is already attached to the scene
at this point.
* Correctly handle the re-opening of the main window.
Add an additional safe-guard to ensure only one main window exists.
Make sure all secondary windows use the correct tint colour.
* Fix a bug where the settings screen isn't shown on macOS when the AppLock feature is enabled.
* Track active live location sessions by ID instead of timeout.
# Conflicts:
# ElementX/Sources/Services/Location/LiveLocationManager.swift
* implemented a system to promote starting session to active sesessions to send locations at the right time, and a system to remove a local session if it's handled by an external device.
* pr suggestions
---------
Co-authored-by: Doug <douglase@element.io>
* Remove support for handling SPA call links.
They were a stop-gap solution whilst we were building support for embedded room calling.
* Simplify ElementCallConfiguration now that there is only 1 type of call to handle.
* Remove the unused overlayModule from NavigationRoomCoordinator.
The SDK is reporting a `Failed to run migrations: locking protocol` but in practice
we tear down the session before using said session to access the `clearCaches` method
on its client, which is obviously wrong.
This patch removes that step and the delay as everything seems to work properly
without them.