* Introduce a `MediaEventsTimelineFlowCoordinator`
* Update SDK API and architecture
* Add a feature flag, add translations
* Move the media events timeline presentation under the room flow coordinator state machine
* Rename `TimelineViewState.timelineViewState` of type `TimelineState` to `timelineState`
* Enabled SwiftLint's `trailing_closure` rule and fix the warnings.
* Enable the Optimised Media Uploads feature.
(Well move the toggle from Developer Options to Advanced Settings)
* Add OptimizeMediaUploads analytics.
* Final strings.
* Upload reduced quality media by default 😢
Move the setting out of the feature flags section in the file.
* Fix unit tests now the default has changed.
* Pull in updated string, fix snapshots.
* Use the new WAS callback type and return back to the https callback for OIDC.
* Simplify OIDCAuthenticationPresenter now it doesn't need to handle universal links.
* Remove old unit tests.
* Disable image and document picker integration tests as they randomly fail to load and are flakey.
* Delete any pre-existing log files
* Various tracing tweaks and fixes:
- delete the custom tracing log levels as we can't control their ouput
- implement comparable on them
- change default levels only if the new chosen level increases their verbosity
* Make logging targets mandatory and fix their logging levels
* Switch back to using the `run_tests` reset simulator flag as `fastlane snapshot reset_simulators` was too generic and slow
* Switch all integration test taps to `tapCenter` (nee forceTap) after noticing missed taps on CI.
* Make the logging file prefix explicit, let the main app not use one.
* Rename tracing configuration `target` to `currentTarget`
* 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`
* Use native video call picture in picture!
* Handle isSupported, isPossible and web view errors.
* Use new canEnterPip method.
* Hide a room's Call button when already joined to the call.
* Tweak feature flag description.
* PR comments.
* 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
* Add EncryptionReset password entry screen
* Expose client proxy identity reset method
* Update the IdentityConfirmationScreen to the latest designs
* Replace the old recovery key reset screen with a new EncryptionReset one
* Fixes#3102 - Add support for resetting the user's whole crypto identity
* Address review comments
* Bump the SDK to v1.0.30
* Switch to the new local room list sorting API
* Get rid of the RoomSummary enum, replace it by the inner RoomSummaryDetails
* And finally, rename RoomSummaryDetails to RoomSummary
* Fix a bunch of warnings
* Small tidy up post rebase/review.
- Remove unused invalidated property.
- Rename some RoomSummary instances to summary instead of details.
- Fix tests with missing roomListItem's.
* Update snapshots
---------
Co-authored-by: Doug <douglase@element.io>