* 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.
The original viewState mapping just stopped working properly for some reason. Updating it to `observe()` on `StateStoreViewModelV2` worked properly but I liked the viewAction based solution better, felt more streamlined.
* feat: Add history visible alert.
- Adds a dismissable alert that is displayed whenever the user
opens a room with `history_visibility` != `joined`. When cleared,
this is recorded in the app's data store.
- When opening a room with `history_visibility` = `joined`, this
flag is cleared.
Issue: element-hq/element-meta#2875
* tests: Add unit tests for history sharing in `RoomScreenFooterView`.
* feat: Rename flag to `hasSeenHistoryVisibleBannerRooms`, document.
* refactor: Merge enum variants, use function for banner description.
* feat: Use `AppSettings.historyVisibleDetailsURL` over hard-coded value.
* tests: Correct potential race condition with deferred assertion.
* chore: Use Localazy translation string over project-defined.
* fix: Final tweaks and review comments.
* chore: Checkout `Enterprise` submodule.
* tests: Final fixes.
* Remove `eraseToStream` now that `any AsyncSequence` is available to us.
* Remove the now unnecessary backport of Mutex.
* Silence a couple more deprecation warnings.
* fix: Set trust requirement even if `setEncryption` is `false`.
- Calls `builder.decryptionSettings` with sender trust requirement,
even if `setEncryption` is false`.
- Fixes https://github.com/element-hq/element-x-ios/issues/4702
* docs: Add doc comment explaining necessity of fix.
* feat: Set `roomKeyRecipientStrategy` alongside trust requirement.
For a whole host of reasons we don't support air-gapped operation anyway and as the SDK is super slow to tell us about the homeserver's reachability the indicator wasn't really working.
* Add an alert to Discard or Save when there are unsaved changes on the RoomDetailsEditScreen.
* Add an alert to Discard or Save when there are unsaved changes on the UserDetailsEditScreen.
* Add an alert to Discard or Save when there are unsaved changes on the SecurityAndPrivacyScreen.
* Update strings.