1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-30 10:02:54 +08:00
Commit Graph

572 Commits

Author SHA1 Message Date
Dean Herbert
ac99c1ad69 Migrate the majority of existing file lookups to use new extension methods 2022-08-10 16:01:16 +09:00
Dean Herbert
8cb02f47eb Mark BeatmapSet.Status as modified when any beatmap is modified, rather than all 2022-08-02 16:08:58 +09:00
Dean Herbert
d7a06abcab Add BeatmapInfo.LastUpdate to track the time of local changes 2022-08-02 00:53:07 +09:00
Dean Herbert
013cf7a80a Fix DateAdded not being set to a sane value when creating a new beatmap in the editor 2022-08-02 00:53:07 +09:00
Dean Herbert
0fcae08d38 Show "locally modified" pill when local modifications have been made 2022-08-02 00:52:38 +09:00
Dean Herbert
cb52b696ed
Merge branch 'master' into bypass-local-metadata-cache 2022-07-29 16:05:54 +09:00
Dean Herbert
2ff6ff06d3 Use tuple to better explain new bool parameter 2022-07-29 16:05:41 +09:00
Dean Herbert
c35da62224 Add flow for bypassing local cache lookups when refreshing beatmap metadata 2022-07-28 16:33:51 +09:00
Dean Herbert
2b9d46d803 Remove unused RulesetStore from BeatmapManager constructor 2022-07-28 16:19:05 +09:00
Micahel Kelly
dd315ff97b Adds hard-delete for a beatmap diff 2022-07-27 21:21:16 +10:00
Dean Herbert
8370ca9765 Add ImportAsUpdate method to IModelImporter to avoid otehr changes 2022-07-26 15:49:04 +09:00
Dean Herbert
2e14d8730c Move implementation of updating a beatmap to BeatmapImporter 2022-07-25 19:51:19 +09:00
Dean Herbert
6a3e8e31de Centralise calls to reset online info of a BeatmapInfo 2022-07-25 19:51:19 +09:00
Dean Herbert
2ec90e37bb Fix calls to GetWorkingBeatmap invalidating cache too often
With recent changes, the pathway between refetching (on request) and
refetching (on requirement due to unpopulated files) was combined.
Unfortunately this pathway also added a forced invalidation, which
should not have been applied to the second case.

Closes https://github.com/ppy/osu/issues/19365.
2022-07-25 15:30:49 +09:00
Dean Herbert
c53dd4a703 Fix editor saving not updating BeatmapSetInfo's hash 2022-07-08 02:33:14 +09:00
Dean Herbert
59d0bac728 Hook up update flow to metadata stream 2022-07-05 21:32:00 +09:00
Dean Herbert
0698471627 Move BeatmapOnlineLookupQueue to inside BeatmapUpdater 2022-06-30 17:03:19 +09:00
Dean Herbert
82134ad1a6 Allow null parameter to GetWorkingBeatmap for now 2022-06-30 16:46:28 +09:00
Dean Herbert
7692bac35a Simplify refetch (and ensure to invalidate after processing) 2022-06-24 21:02:38 +09:00
Dean Herbert
66a01d1ed2 Allow song select to refresh the global WorkingBeatmap after an external update 2022-06-24 21:02:38 +09:00
Dean Herbert
6999933d33 Split updater process into realm transaction and non-transaction 2022-06-24 21:02:38 +09:00
Dean Herbert
fe570d8052 Queue beatmaps for update after editing 2022-06-24 21:02:38 +09:00
Dean Herbert
06d59b717c Move beatmap processing tasks to new BeatmapUpdater class 2022-06-24 21:02:37 +09:00
Dean Herbert
823b3c1c0f Ensure WorkingBeatmap is always using a detached instance 2022-06-24 19:07:54 +09:00
Dean Herbert
2ae48d5a87 Rename incorrect parameter name in BeatmapManager.GetWorkingBeatmap 2022-06-24 19:07:54 +09:00
Dean Herbert
dbae4c6f5a PostImport -> PresentImport 2022-06-20 18:36:29 +09:00
Dean Herbert
92f1a2958c Rename Import(TModel) to ImportModel to differentiate from other import methods 2022-06-20 15:18:07 +09:00
Dean Herbert
a6c8a832aa Remove Import(ArchiveReader) and redirect existing usages to Import(ImportTask) 2022-06-20 15:14:57 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
d48fbdb439 Merge branch 'bmm-cleanup' into bmm-cleanup-2 2022-06-16 19:48:54 +09:00
Dean Herbert
e66ccfd980 Add back missing notification flow 2022-06-16 19:48:18 +09:00
Dean Herbert
3860f0b3e5 Remove unused GetWorkingBetamap method 2022-06-16 19:08:59 +09:00
Dean Herbert
ce3d3a967c Reimplement missing methods 2022-06-16 19:05:25 +09:00
Bartłomiej Dach
a635664a86
Fix invalid method reference in comment
`BeatmapModelManager.Save()` was moved to `BeatmapManager`, not to
`BeatmapImporter`.
2022-06-16 12:01:53 +02:00
Dean Herbert
72c5b9009d Remove local realm fields in manager classes 2022-06-16 18:56:53 +09:00
Dean Herbert
f3984d98e6 Remove RealmArchiveModelManager from hierarchy 2022-06-16 18:53:13 +09:00
Dean Herbert
04e4c5ef88 Move and adjust implementation regions to restore sanity 2022-06-16 18:26:13 +09:00
Dean Herbert
1f3e1b2d97 Combine BeatmapManager and BeatmapModelManager into one class 2022-06-16 18:07:04 +09:00
Dean Herbert
f23ddfe6cc Move remaining realm classes out of Stores namespace 2022-06-15 21:56:00 +09:00
Dean Herbert
88d5e074a8 Rename lowPriority to batchImport 2022-06-15 00:46:00 +09:00
Dean Herbert
2f8290831a Skip quick import clause when importing a single item
Closes https://github.com/ppy/osu/issues/18600.
2022-06-15 00:26:34 +09:00
Dean Herbert
94ba71aa13 Remove one more usage of lowPriority 2022-06-14 20:21:28 +09:00
Dean Herbert
9f599a5ab4 Remove unused lowPriority flag from one Import method 2022-06-14 19:52:30 +09:00
Dean Herbert
b104b7a90d Rename method to mention "all" 2022-06-06 20:12:20 +09:00
Noah M
60eb0ea69e Remove unnecessary parameters from DeleteVideos 2022-05-18 15:40:46 -05:00
Noah M
69351d2cdf Implement button to delete all beatmap videos 2022-05-18 01:20:57 -05:00
Bartłomiej Dach
8a08bb7aaf
Use best-name-finding helper in new difficulty creation flow 2022-02-17 00:28:18 +01:00
Bartłomiej Dach
e45a2ae0fc
Restructure difficulty copy flow to adapt to latest changes 2022-02-14 22:02:37 +01:00
Bartłomiej Dach
6221447164
Append copy suffix on creating copy of difficulty 2022-02-14 20:19:12 +01:00
Bartłomiej Dach
40cfee3421
Explicitly reset online ID and beatmap status on copy 2022-02-14 19:54:40 +01:00
Bartłomiej Dach
7e75fa7117
Revert "Change BeatmapInfo copy logic to be opt-in rather than opt-out"
This reverts commit 5dabc9282c.
2022-02-14 19:52:08 +01:00
Bartłomiej Dach
5dabc9282c
Change BeatmapInfo copy logic to be opt-in rather than opt-out 2022-02-13 19:04:11 +01:00
Bartłomiej Dach
ecd6a68c6f
Clear hash when creating copy of existing difficulty 2022-02-13 14:01:23 +01:00
Bartłomiej Dach
6fd663a718
Apply some renames to convey difference between creation options better 2022-02-13 14:01:23 +01:00
Bartłomiej Dach
a144d6f8d6
Fix beatmap skin properties not copying 2022-02-13 14:01:22 +01:00
Bartłomiej Dach
1bf5375e74
Fix BeatmapInfo-associated member not copying 2022-02-13 14:01:21 +01:00
Bartłomiej Dach
a2c2b2bbb3
Add flow for copying existing difficulty content 2022-02-13 14:01:20 +01:00
Bartłomiej Dach
6dc0f3fd96
Merge difficulty creation methods into one
One of them wasn't really doing much anymore and was more obfuscating
what was actually happening at this point.
2022-02-03 18:14:30 +01:00
Dean Herbert
bef0a2da21 Remove return type from AddDifficultyToBeatmapSet
Also removes a pointless realm encapsulation.
2022-02-03 19:43:43 +09:00
Bartłomiej Dach
a8ffc4fc2a
Add editor override to respect IsolateSavingFromDatabase 2022-02-02 21:57:21 +01:00
Bartłomiej Dach
54bb6ad40c
Fix working beatmaps not seeing new difficulties after add 2022-02-02 21:55:34 +01:00
Bartłomiej Dach
dc96c4888b
Add support for creating new blank difficulties 2022-02-02 21:55:33 +01:00
Bartłomiej Dach
1b8136e3e0
Change some BeatmapInfo defaults in a backwards compatible manner 2022-01-27 21:49:37 +01:00
Dean Herbert
cd71ec0edd Remove ILive<> interface (and use abstract Live<> instead) 2022-01-26 13:38:56 +09:00
Dean Herbert
778d2a71b4 Remove Task from the inner-most Import method in RealmArchiveModelImporter
One of my pending work items for post-realm merge.

The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.

Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +09:00
Dean Herbert
e23b10e6a5 Update remaining cases of clashing variable name in realm.Run(realm.. 2022-01-25 13:04:05 +09:00
Dean Herbert
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
Dean Herbert
495636538f Add forced refresh on 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.
2022-01-21 17:33:29 +09:00
Dean Herbert
114c9e8c1f Update all usages of CreateContext to use either Run or Write 2022-01-21 17:27:08 +09:00
Dean Herbert
a5d2047f05 Fix various cases of creating realm contexts from update thread when not necessary 2022-01-21 01:44:56 +09:00
Dan Balasescu
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
Dean Herbert
60b80c88b6 Avoid file retrieval overhead when detaching BeatmapSetInfo
It seems that no usages of `BeatmapSetInfo` detaches require files - a
`WorkingBeatmap` is always obtained before doing further lookups.

Therefore we can omit this include unless the detaching object is a
`BeatmapInfo`. A refetch is performed when retrieving a
`WorkingBeatmap` to complete the equation.
2022-01-19 00:49:18 +09:00
Dean Herbert
7f65f3a47f Remove all usage of BaseDifficulty (and access Difficulty instead) 2022-01-18 22:57:39 +09:00
Dean Herbert
a4de0f93fa Move manager Update methods to be explicit to where they are still used by legacy code
Also fixes skin hash repopulation being completely broken.
2022-01-12 17:49:11 +09:00
Dean Herbert
157dfdaa82 Fix protected beatmap sets getting deleted 2022-01-12 17:49:11 +09:00
Dean Herbert
72656ae01e Fix beatmap restore/undelete flows 2022-01-12 17:49:11 +09:00
Dean Herbert
46206f70d6 Fix beatmap mass deletion flow 2022-01-12 17:49:11 +09:00
Dean Herbert
d5239d550a Add refetch for non-managed hide/restore attempts 2022-01-12 17:49:11 +09:00
Dean Herbert
46e92c3b60 Clean up BeatmapManager query methods 2022-01-12 17:49:11 +09:00
Dean Herbert
9beabad6a4 Remove hide/restore event flow 2022-01-12 17:49:11 +09:00
Dean Herbert
c06b5951fd Fix multiple remaining warnings 2022-01-12 17:49:11 +09:00
Dean Herbert
7509a9ff8f Update BeatmapModelManager.Save to work for editor scenarios 2022-01-12 17:49:11 +09:00
Dean Herbert
8c3dc4333d Fix incorrect realm access after new beatmap import 2022-01-12 17:49:11 +09:00
Dean Herbert
e74a5022c9 Fix multiple tests via null checks and changing ToLive to Detach
flow
2022-01-12 17:00:17 +09:00
Dean Herbert
8461eaab46 BeatmapSetInfo detach support 2022-01-12 17:00:16 +09:00
Dean Herbert
fe8a5e867d Remove updated/removed flow method mapping 2022-01-12 17:00:16 +09:00
Dean Herbert
1f9318265e Update ToLive usages in line with recent changes 2022-01-12 17:00:16 +09:00
Dean Herbert
db05727ec4 Remove unused includeProtected parameter 2022-01-12 17:00:16 +09:00
Dean Herbert
b91f309879 Inline query methods from BeatmapModelManager to BeatmapManager where possible 2022-01-12 17:00:16 +09:00
Dean Herbert
1d536fd0bc Start introducing ILive 2022-01-12 17:00:16 +09:00
Dean Herbert
8696f82627 Fix intro screen
Fix things
2022-01-12 17:00:16 +09:00
Dean Herbert
c4a9211179 Apply NRT to BeatmapManager and move Hide/Restore methods across 2022-01-12 17:00:16 +09:00
Dean Herbert
00e3af3366 Update model manager and many related classes to get things compiling again 2022-01-12 17:00:00 +09:00
Dean Herbert
b8cd3cdbbc Various updates to ruleset and primary key usages to move closer to realm support 2022-01-12 16:57:13 +09:00
Dean Herbert
116f35c52a Remove EF FileStore 2022-01-12 16:39:36 +09:00
Dean Herbert
89d6ffa7f3 Use RealmContextFactory instead of EF 2022-01-12 16:39:36 +09:00
Dean Herbert
6a671b0a52 Remove unnecessary assigns of BeatmapSetInfo.Metadata 2022-01-12 16:39:36 +09:00
Dean Herbert
fda529de26 Update usages of APIUser to RealmUser 2022-01-12 16:39:36 +09:00
Dean Herbert
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
Dean Herbert
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00