Commit Graph

48190 Commits

Author SHA1 Message Date
ccddf9b47d Avoid constructor overhead for realm BeatmapSetInfo parameterless constructor 2022-01-20 17:03:44 +09:00
3c852e6d02 Avoid constructor overhead for realm ScoreInfo parameterless constructor 2022-01-20 16:47:27 +09:00
3faf980fed Avoid constructor overhead for realm BeatmapInfo parameterless constructor 2022-01-20 16:47:27 +09:00
64fe7d8dd3 Merge pull request #16520 from peppy/refresh-after-migrate
Improve realm migration performance further
2022-01-20 14:38:23 +09:00
7509b31176 Merge pull request #16519 from peppy/fix-legacy-score-import-classic-mod
Fix legacy score imports not correctly getting classic mod assigned
2022-01-20 14:28:29 +09:00
4f86a2cb61 Merge pull request #16525 from bdach/beatmap-listing-overflow-and-scrolling
Improve usability of expanded card content on beatmap listing
2022-01-20 14:14:44 +09:00
e9939199e6 Merge pull request #16526 from bdach/news-sidebar-wrong-headers
Fix news sidebar assuming returned posts are always from given year
2022-01-20 13:47:21 +09:00
b8184a3005 Fix news sidebar assuming returned posts are always from given year 2022-01-19 23:13:30 +01:00
4cad5890c6 Add test coverage for news sidebar showing wrong headers 2022-01-19 23:12:35 +01:00
247c557eaf Fix expanded content scrollbar inadvertently hiding expanded content 2022-01-19 22:30:49 +01:00
77748a5f93 Show scrollbar on expanded card content where applicable 2022-01-19 22:21:08 +01:00
33ab356dc5 Fix expanded card content being clipped on beatmap listing overlay 2022-01-19 22:10:05 +01:00
d925e44b40 Add test coverage for beatmap card expanded content clipping 2022-01-19 22:08:52 +01:00
a27a3b308c Remove duplicate setters 2022-01-20 04:34:00 +09:00
fea4400c03 Remove unused using directive 2022-01-19 18:49:37 +01:00
4b127d5029 Merge pull request #16522 from peppy/detach-before-hidden-check
Detach beatmap set before checking hidden state
2022-01-19 18:25:23 +09:00
ddd1699621 Merge pull request #16521 from peppy/backup-collections
Backup collections alongside main databases when migrating to realm
2022-01-19 17:02:49 +09:00
200fcb6f83 Detach beatmap set before checking hidden state 2022-01-19 16:59:49 +09:00
fad66d7682 Backup collections alongside main databases when migrating to realm 2022-01-19 16:31:36 +09:00
aa93042aa3 Centralise backup code and also run on skin/settings migrations 2022-01-19 16:31:36 +09:00
fd5198d667 Avoid using parameterless constructors in migration code
Minor performance improvement (less garbage).
2022-01-19 16:22:18 +09:00
42736c9995 Add transactional committing of scores/beatmaps
This helps slightly with performance, allows better monitoring via realm
studio, but most importantly greatly reduces filesize.

fully compacted:        109M
transaction size 100:   115M
transaction size 1000:  123M
transaction size 10000: 164M
single transaction:     183M

With a transaction size of 100 there is a performance reduction, so 1000
seems to be the best middle-ground.
2022-01-19 16:08:48 +09:00
973836484c Avoid using a write context for EF migration
This reduces a stall delay as EF tries to process changes over tracked
objects during disposal of the context.
2022-01-19 15:56:58 +09:00
faec62be51 Force a realm refresh after migration
This really shouldn't have much effect as it will be run in the first
`Update` method and is probably a noop (we are already pointing to the
newest version due to just performing writes), but seems like a safe addition.

In general `Realm.Refresh()` only really does anything when there's multithreaded
usage and notifications to be sent.
2022-01-19 15:56:58 +09:00
9920ff51a6 Merge pull request #16446 from peppy/summary-timeline-control-point-optimisation
Reduce number of redundant control points displayed on summary timeline
2022-01-19 15:51:20 +09:00
2475a62f2d Merge pull request #16518 from nekodex/participantlist-cleanup
Remove unused BDL parameter in `ParticipantList`
2022-01-19 14:59:40 +09:00
5f5765d6a2 Reduce redundancy time range to create a bit more visual blending on the timeline 2022-01-19 14:57:01 +09:00
03ac91a3ee Consider all points in a group to meet redundancy check 2022-01-19 14:56:44 +09:00
93cd07f7fb Merge branch 'master' into summary-timeline-control-point-optimisation 2022-01-19 14:50:45 +09:00
fdf65aa2ff Merge pull request #16502 from peppy/realm/remove-ef-migrations
Remove all EF migrations and helper methods
2022-01-19 14:43:45 +09:00
aa6466dfa4 Merge pull request #16499 from peppy/realm-integration/faster-migration
Improve performance of migration to realm
2022-01-19 14:43:33 +09:00
a002dacdce Add test coverage of various ScoreInfo mod set operations 2022-01-19 14:34:27 +09:00
18886f5d2e Use empty string instead of empty array for ModsJson when no mods are present
Not really correct, but this is how most scores have been stored until
now so let's do this for consistency.
2022-01-19 14:34:27 +09:00
bb6f40d16e Add test coverage of all mod storages containing classic mod post-import 2022-01-19 14:34:27 +09:00
664b4fdaf0 Fix legacy score imports not correctly getting classic mod assigned 2022-01-19 14:34:27 +09:00
581873f944 Merge pull request #16497 from peppy/top-local-rank-optimisation
Rewrite `TopLocalRank` to use realm subscriptions
2022-01-19 14:22:12 +09:00
aa872d6363 Merge branch 'master' into participantlist-cleanup 2022-01-19 08:19:50 +03:00
58bae9bda3 Merge pull request #16331 from stanriders/continuous-effective-misscount
Don't floor `effectiveMissCount`
2022-01-19 14:13:12 +09:00
493a970ed5 Remove unused AudioManager 2022-01-19 14:08:21 +09:00
3407b34b11 Merge branch 'master' into realm/remove-ef-migrations 2022-01-19 14:01:34 +09:00
0b1736def6 Merge branch 'master' into realm-integration/faster-migration 2022-01-19 13:54:14 +09:00
3e5d29ed00 Merge pull request #16505 from peppy/remove-base-difficulty-usage
Remove all usage of `BaseDifficulty` (and access `Difficulty` instead)
2022-01-19 13:53:55 +09:00
9c8f7795b7 Merge pull request #16510 from peppy/optimise-set-detach-part-2
Avoid file retrieval overhead when detaching `BeatmapSetInfo`
2022-01-19 13:53:34 +09:00
201f2d7813 Add comprehensive test coverage for TopLocalRank 2022-01-19 13:48:00 +09:00
a0336c6fc2 Merge pull request #16495 from peppy/realm-integration/reinit-on-corrupt
Add support for starting with a fresh realm database if the existing one is not usable
2022-01-19 13:30:14 +09:00
9be5bf38c6 Simplify binding/invalidation in TopLocalRank 2022-01-19 13:20:52 +09:00
2556f1cb87 Merge branch 'master' into optimise-set-detach-part-2 2022-01-19 13:20:38 +09:00
d663fcd045 Merge pull request #16508 from peppy/optimise-set-detach
Create separate automapper configurations to reduce cyclic detach overhead
2022-01-19 13:20:25 +09:00
e60fd358d0 Merge branch 'master' into top-local-rank-optimisation 2022-01-19 13:04:14 +09:00
d440197fb3 Merge branch 'master' into realm-integration/faster-migration 2022-01-19 12:56:42 +09:00