Verify Element X with an existing Element Classic account. (#5374)

* Read and import the secrets from ClassicAppAccounts.

* Record snapshots.

* Add some documentation, tidy up tests and fix the dismissal of the backup instructions.

* Workaround flakey tests (the fulfilments weren't always firing).

* Allow a custom Classic App deep link URL to be configured.
This commit is contained in:
Doug
2026-04-13 15:30:09 +01:00
committed by GitHub
parent 001a389f51
commit 7c812201cb
40 changed files with 947 additions and 103 deletions
@@ -57,6 +57,17 @@ protocol AuthenticationServiceProtocol: QRCodeLoginServiceProtocol {
/// Resets the current configuration requiring `configure(for:flow:)` to be called again.
func reset()
// MARK: - Classic App
/// Account details discovered from the Classic app that is used for automatic verification when the same account is authenticated.
var classicAppAccount: ClassicAppAccount? { get }
/// Populates the Classic app account's state by checking if the homeserver is supported and which secrets are available.
///
/// **Note:** This is no longer automatic purely for testing purposes. It needs to have been called before using ``classicAppAccount``.
func setupClassicAppAccountState() async
/// This can be called whenever the user has potentially updated their secrets in the Classic app.
func refreshClassicAppAccountState() async
}
// MARK: - OIDC