* Remove room list range deduplication and allow subscribing to rooms when then update to come into the visible range.
* Fixes#3088 - Update subscriptions if visible range rooms change without the range itself changing
- we switched from range based subscribing with duplicate suppression to id based, but ids can change without ranges changing
- the all rooms list fetches at least 1 event per rooms and can cause rooms to come in and out of the visible range without user interaction
* 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 inviter property to RoomProxyProtocol.
* Extract the room cell inviter label into it's own view.
* Use the new RoomInviterLabel in the JoinRoomScreen.
* Fix bug with invite to a public room.
* 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>
* Move Sentry setup outside of the BugReportService
* Setup Sentry SwiftUI tracing for the homeScreen and roomScreen roots
* Setup Sentry instrumentation on top of the existing Signposter
* Various tweaks
* Remove the invites button when room list invites are enabled
* element-hq/element-x-ios/issues/2632 - Handle room permalinks based on their membership state and show the according room joining screens:
- modify the room flow coordinator to only take a roomID and be able to decide its own room flows (especially for unjoined rooms)
- add support for the new room preview API
- have RoomDirectorySearch go through the same paths
* Show room member role changes in the timeline.
* Fix a bug in room flow coordinator.
* Tidy up roles and permissions flow.
* Refresh the power levels in the room details screen.
* Automatically update permissions after saving.
* Remove extra button.
* Add a short delay to the roles and permissions screen snapshots.
The permissions rows are now in a loading state initially.
* Remove the welcome screen
* Allow the UserSessionFlowCoordinator to control the whole app hierarchy, not only its splitView
* Start using the new verification state listener
* Rename Onboarding to AuthenticationStart in preparation for the new OnboardingFlowCoordinator; update snapshots and tests
* Make the AuthenticationCoordinator a proper FlowCoordinator
* Add some padding around the authentication start screen report a problem button
* Bump the RustSDK to v1.1.49
* Only add bottom padding on the authentication start screen report a problem button
* 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