* Add some tests for DeferredFulfillment with Observation.
* Use StateStoreViewModelV2 in AuthenticationStartScreen.
* Use StateStoreViewModelV2 in ServerConfirmationScreen.
* Use StateStoreViewModelV2 in ServerSelectionScreen.
* Use StateStoreViewModelV2 in SoftLogoutScreen.
* Use StateStoreViewModelV2 in SettingsScreen.
* Use StateStoreViewModelV2 in DeveloperOptionsScreen.
* Use StateStoreViewModelV2 in AdvancedSettingsScreen.
* Make the map tiler key optional.
* Make the bug report URL optional.
* Make the sentry URL optional.
* Make the analytics configuration optional and handle consent taking Sentry into account.
* Stop prompting users to report crashes when Sentry is disabled.
* Retrofit `deferFulfillment` onto snapshot tests.
* Convert a bunch of preview tests to the new fulfillment publisher
* Convert more tests
* Remove unneeded delays from the remaining tests
* Remove snapshotting delay option.
* Replace Prefire with a very similar but simpler and more direct approach
* Move PreviewTest snapshots to their new location (snapshotting default, mirrors UITests)
* Update acknowledgements
* Switch snapshot configuration extensions to a custom version
* Exclude snapshots from the PreviewTests target
* Fix acknowledgements
* Rename snapshotting preference keys
* Remove `skipPackagePluginValidation`
* Add the networkMonitor to the NSE and delete the old MockMediaLoader
* Generate a MediaLoaderMock through AutoMockable and use it in the MediaProviderTests
* Implement an ImageProvider mechanism that automatically tries reloading images when connectivity is established again and use it for LoadableImages
* Merge the ImageProvider protocol back into the MediaProvider
* Address PR review comments
* Provide a default sdk client request configuration
* Address tasks not automatically cancelling themselves when views get deallocated
* Show recovery instead of verification if this is the last session and recovery is set up
* Rename `recoveryKeyState` to `recoveryState`
* Remove duplicates on session security state changes.
* Fix missing "Save recovery key" button
* Fix unit tests
* Rename `isLastDevice` to `isOnlyDeviceLeft`
* Address PR comments
* Update compound and fix breaking changes.
* Replace a lot of temporary icon assets with Compound versions.
* Replace temporary composer icon assets with Compound versions.
* Remove old icon asset from EI.
* Use Compound icons where possible for hero images.
* Snapshots
* Use a custom SDK build that might fix incomplete recovery state false positives. Enable chat backup by default
* Get rid of the chat backup feature flag
* Fix force unwrap warning
* Fix long line warning
* Prevent the recovery key confirmation banner popping up before the verification state is fetched. Stop showing secure backup user avatar and menu badges while the session is not verified.
* Switch back to the release version of the SDK
* Fix inconsistent session verification states, improve/simplify how to deal with it
* Fix unit tests
* Cleanup and hopefully simplify home screen banner presentations
* Use Compound List in room member details, secure backup, notification settings.
* Use ListRow in CreateRoomScreen.
* Fix ListRow layout when isWaiting && !isSelected.
* Show a loading indicator when confirming the recovery key
* Hide the passphrase characters when confirming the recovery key
* Don't show the settings security section until session verification state is retrieved (async)
* Fix preview screenshots
* Fixes vector-im/element-x-ios/issues/1868 Incorrect `is_verified` flag after successfully running verification flow
- the inner user_identity isn't automatically updated when the flow finishes, needs to be fetched again from encryption
- also replaces `UserIdentity.is_verified` with `Device.is_cross_signed_by_owner`
- depends on matrix-org/matrix-rust-sdk/pull/2775
---------
Co-authored-by: Doug <douglase@element.io>
* Converge on UserSessionFlowCoordinator logout confirmation
* Add logout confirmation screen strings to untranslated.
* Fix chat backup learn more URl fragment.
* Implement logout flows that check recovery and key backup for the last session
* Move logout confirmation screen strings to localazy
* Change encrypted timeline item copy to "Waiting for decryption key"
* Use different encrypted history banner based on key backup states
* Introduce a SettingsFlowCoordinator and implement navigation directly to the secure backup screen from the logout flows.
* Fix **mocked** secure backup controller flows
* Simplify encrypted history banner logic
* Address PR comments