* Enable key-share-on-invite irrespective of feature flag
* Remove feature-flag dep: warning on starting chat with new people
* Remove feature-flag dep: invite from room member details
* Remove feature-flag dep: warning on new users in invite screen
* Remove feature-flag dep: from room details screen
* Remove feature-flag dep: starting chat from user profile screen
* Remove feature-flag dep: timeline info on forwarded keys
* Remove feature-flag dep: RoomScreenModel
* Remove `enableKeyShareOnInvite` from AppSettings
* Remove `enableKeyShareOnInvite` feature flag
* Remove outdated comments
* Update preview test room snapshots as their header now includes the history sharing icon
* 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.
* Lock the LinkNewDeviceScreen to portrait.
* Add cancel buttons to the QR Code errors and handle cancel/startOver correctly.
* Use the shared QRCodeErrorView in the LinkNewDeviceScreen.
* Clarify the different QR Error/ErrorStates a bit more.
* Update snapshots.
* 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.
* Update SDK mocks for UniFFI 0.30.0
* Update the SDK.
* Update the SDK again
Includes a temporary workaround that patches the SDK's generated Swift files so that our tests don't crash:
3f0075fb8a
* Remove the huge conditional compilation block on AppSettings.
It is still required for the ElementCallBaseURL however.
* Add a feature flag for spaces.
* Merge the AuthenticationServer with the QRCodeLoginService.
* Merge AuthenticationClientBuilderFactory and AuthenticationClientBuilder into AuthenticationClientFactory
The separation is no longer needed now that password/OIDC login and QR code login have a similar API shape.
* Make account provider configuration more flexible.
- Change defaultHomeserverAddress to an array of providers (needs UI).
- Add allowOtherAccountProviders to prevent the user from manually entering a provider.
* Refactor QR code scan failures into a common type.
* Validate scanned QR codes against the allowed account providers.
* Hide the login flow on the QR code screen when restricted.
* Add support for account provisioning links and route them to the authentication flow.
* Use the provisioning parameters to configure the authentication flow.
* Add UI tests for the provisioned authentication flow.
* Record new preview snapshots.
* Add unit tests.
* Make the domain configurable in the app settings.
* Use the loginHint in the login screen too.