* Add a SubscriptionTracker actor to RoomProxy.
* Request subscriptions when scrolling rooms.
* Stop unsubscribing in preparation for Simplified Sliding Sync.
* 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>
- stop using multiple background task, the appCoordinator sync one is enough for the whole app
- move the AppMeditor to the MainActor
- expose the WindowManager through the AppMediator
- hide sensitive WindowManager API behind a different protocol
- remove the now unnecessary `BackgroundTaskService`
- with the advent of permalinks the same room can be now pushed multiple times onto the stack which means multiple calls to `subscribeForUpdates`
- the reverse doesn't hold and one call to `unsubscribeFromUpdates` will unsubscribe all the rooms at the same time
- we guard against that by tracking the number of subscriptions and calling the underlying `roomListItem.unsubscribe()` when the count goes back to zero
- proxy errors have been getting repetitive and not particularly useful
- differentiate between sdk and client errors and keep what provides value
- add error logs everywhere a failure occurs
- replace event permalinks on the room screen interaction handler
- replace the one use don the room details screen
- deprecate previous AttributedStringBuilder methods
- there's more work required on the AttributedStringBuilder mentions handler before we can completely drop the iOS implementations
* Fix search field string.
* Show your own user as an Admin when changing roles.
* Also show invited users when changing roles.
* Don't allow admin's to kick/ban other admins or themselves.
* Fix a bug when left members were counted as admins/moderators.
* Show when a member is pending.
* Add sections to the change role screen.
* Only allow admins to see the roles and permissions screen.
* Hide the selection checkbox on Admins when changing roles.
* Show an empty state for banned users.
* Add separate actions for ban and remove.
* Implement reset permissions and demote self alerts.
* Add tests for resetting permissions and demoting self.
* Add a warning when promoting someone to administrator.
* Add a temporary membershipChangePublisher on the timeline.
* Kick/Ban users from a room.
* Unit tests.
* Disable autocorrection on the members list search field.