Fix `IntroScreen` retrieving and iterating all realm beatmap sets
Fix tournament match chats not polling fast enough
Show realm migration progress via a simple UI
Add realm factory helper methods to run work on the correct context
Run
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
Add realm data access benchmarks
RealmLiveUnmanaged
IntroScreen
GetAllUsableBeatmapSets()
This is commonly used in tests in a way where it's not feasible to guarantee correct results unless a refresh is called. This method shouldn't really be used outside of tests anyway, but that's for a folow-up effort.
RealmLive
CreateContext
Write
RealmContextFactory.Write
IRealmFactory
Improve carousel performance during imports and deletions
Avoid performing full filter when updating carousel beatmap sets
Loader
Avoid performing keyword filtering at song select unless keywords are specified
CarouselGroup
UpdateBeatmapSet
Create backup of databases before opening contexts
Avoids constructing a new `Realm` instance when called from the update thread without worrying about disposal.
Attempt to avoid file IO issues. Closes #16531.