Squashed commits:
[d64bb3bb] Stop using the ServiceLocator directly in the ScreenTrackerViewModifier
[37c46ab9] Rename Analytics to AnalyticsService
[8852a371] #920 - Cleanup ServiceLocator usages
* Experimental two sync loop solution
* better logging
* improved the code and handled invite notifications display better
* improved invite notifications
* new exerimental branch
* new sync loop
* code updated
* code improvements
* code improvements
* fix typo
* code improvements
* removed some unused code and added a respawn
* fixing some NSE issues
* code improvements
* new version of the branch
* more logging
* running the nse process ONLY IF necessary
* finally works! made also the feature flag
* also the encryption value of the room list api will depend on the flag now
* changelog
* code improvements
* code improvement
* updated proj
* fixing some compilation error after the rebase
* opt-in for the encryption sync
* fix
* Adopt the new RoomListService
* Use client.roomListWithEncryption
* Store the roomList so that it doesn't get dropped and create problems on the rust side
* Use roomListService instead of old roomList client method
* Added back documentation removed by mistake
* Tweaks following code review, SDK bump
* Fixes#1121 - Hide the loading indicator after the logout task finishes
* Manually restart the sync only when entering the `error` state
* Use stopSync instead of the roomListService directly on client deinit
* Replace WeakClientProxyWrapper with callback based delegate
* Fix homescreen user avatar not automatically updating
* Replace default Build SDK profile with reldbg, which is fast but also doesn't crash
* Always show the loading indicator when the room list is not in a `running` state
* Implement delayed user indicator presentations through the normal API
* Fix the unit tests
* Replace UserIndicatorController delayedIndicators dictionary with a plain set
* Add support for the new RoomList API
Squashed commits:
[8c2625a] Re-enable invites
[339e59b5] Add automatic syncing restarts after entering the terminated state for whatever reason
[b5498e96] Reimplemented room list state management and usage
[8154b0cf] Fix visible rooms range setting after scrolling stops
[5155c44d] Hook up initial loading idicator and session verification banner to room list service states
[700a5a2e] Enable back room subscriptions, timeline listeners and unread notifications / counts
[9df383bc] Enable last messages and timestamps, they don't crash on release builds
[7c4da9da] Add back certain fields now that the "full room" is available
[9f6534a7] Adopt interfaces to new RoomList API, untested as requests don't go to the right URL
* Tweaks following code review
* Bump the RustSDK to v1.0.76-alpha
* Fixes#1011 - Add legal information screen in settings, move all settings related screens under Source/Screen/Settings
* Fix warnings after sliding sync api change
* sdk bump
* moved the bump event types to the sliding sync list builder
* removed sync growing mode from notifications even if we are not really using it anymore
* recency order is also for the all room list
* removed the local notification code entirely
* removed unused function
* fixed the code placement for the ordering
* image media upload for room creation
* fix remove duplicate logic
* use Async Image, add Focusable Fields in create room
* remove alert message which doesn't have a copy
* add remove duplicates on crete room image
* add button style for preventing undesired touches
* add changelog, add error case for file too large
* Fix iPad sheet presentation
* add error media preprocess
* dismissing focus on image picker
* Fixed unused animated parameter
* Wait for lists to load before querying rooms if the cold cache isn't available
* Fix a couple of unused result warnings in the ExpiringTaskRunner unit tests
* checking if the stop taskHandle is finished before stopping the bg task
* stopping the sync in background now works properly
* this will prevent the case in which if the app suspends and then is immediately foregrounded again, we do not start the sync
* now works as intended
* code improvement
* improved the code a bit
* Add background app refresh support
* Cleanup: move methods around so delegates are implemented above privates and privates are ordered better
* Add discardableResult on the userSessionStore's refreshRestorationToken