f510ef9153
Move previousContext
assign within lock
to make things look safer
...
Not an actual requirement, but no harm.
2021-07-05 10:49:56 +09:00
3291f15dcc
Mention GetForWrite()
as another alternative to Context
accesses
2021-07-04 12:08:15 +02:00
b89521314f
Mention alternatives to Context
when not on update thread in xmldoc
2021-07-04 12:07:34 +02:00
3ec7dc3bb9
Update tests in line with thread safety check
2021-07-04 17:59:39 +09:00
567e9f33a9
Fix thread safety of realm Refresh
operation
...
Due to the lack of locking, there was a chance the the update thread
`context` was retrieved just before the `flushContexts` call, followed
by `.Refresh()` being run while the blocking behaviour was invoked.
This can be seen in test failures such as
https://ci.appveyor.com/project/peppy/osu/builds/39859786/tests .
As an aside, I tried multiple different methods to avoid `lock()` on the
update thread but they felt flaky. The overhead of lock when there's no
contention is reportedly around 30-50ns, so likely not of concern. We
can address it at a later point if it becomes one.
2021-07-04 16:24:43 +09:00
8a23dfa6f5
Fix optimised import path buffering events without flush
2021-07-03 17:58:12 +02:00
2f1203085b
Also add logging of realm block/flush operations
2021-06-29 20:23:25 +09:00
a9084db665
Merge pull request #13673 from peppy/import-early-checksum-abort
...
Shortcut import process to speed up duplicate imports
2021-06-28 19:55:09 +09:00
92fcf90768
Merge branch 'master' into import-early-checksum-abort
2021-06-28 19:29:08 +09:00
d4ea73d727
Simplify disposal exceptions
2021-06-28 16:17:09 +09:00
f78cedd0e1
Reorder methods and add xmldoc for BlockAllOperations
2021-06-28 16:16:40 +09:00
90f0bc87f5
Add safety against double disposal
2021-06-28 16:12:21 +09:00
842f033522
Remove no longer necessary exception
2021-06-28 16:11:55 +09:00
0d2bc4fc5f
Merge branch 'master' into fix-realm-state-change-crashes
2021-06-28 16:03:58 +09:00
c281e43cd8
Remove Dispose()
special case and add explicit exception to make debugging issues non-deadlock
2021-06-28 15:04:14 +09:00
a3946a1265
Fix typo in newly added xmldoc
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com >
2021-06-28 14:07:21 +09:00
4d6002ab88
Remove redundant string interpolation (and mark all local logging strings as verbatim)
2021-06-28 12:16:15 +09:00
4a557e73a7
Add logging to help understand existing case skips better
2021-06-28 10:42:42 +09:00
90b87cbb9e
Add back unidirectional online id check
2021-06-28 10:11:27 +09:00
9a96cd4a1d
Revert "Remove comparison of online beatmap IDs during dedupe checks"
...
This reverts commit 15af28d2a0
.
2021-06-28 09:54:18 +09:00
e755dcc34d
Add log method for new flow
2021-06-27 20:37:12 +09:00
f470b7095d
Move private method down in class
2021-06-27 20:36:01 +09:00
f216404952
Fix missing undelete call on using existing
2021-06-27 20:22:48 +09:00
9120321731
Add comments mentioning shortcomings and avoid potential double check
2021-06-27 19:07:35 +09:00
44f875b802
Bypass optimised existing check in SkinManager
(due to custom hashing function)
2021-06-27 16:35:13 +09:00
e493685c14
Add optimised existing check earlier in import process
2021-06-27 16:34:40 +09:00
15af28d2a0
Remove comparison of online beatmap IDs during dedupe checks
2021-06-27 14:48:57 +09:00
d1f852d102
Make Populate
abstract to avoid unnecessary base call async complexity
2021-06-27 14:29:02 +09:00
63ab40ec24
Fix potential deadlocking behaviour (and convert ResetEvent
to Semaphore
)
2021-06-24 14:37:26 +09:00
df703b68ec
Merge branch 'master' into realm-key-binding-store
2021-05-25 13:41:48 +09:00
8f5b28d264
Fix "folder missing" message showing incorrectly for beatmaps folder
2021-05-20 13:56:18 +09:00
8530b31e39
Use bitshifts for enum values instead of literal values.
2021-05-17 21:02:45 +02:00
97952bc3f0
Fix backwards stable install resolution logic.
2021-05-17 18:39:04 +02:00
6110a847aa
Simplify import ordering logic by making beatmapImportTask non-nullable.
2021-05-17 16:30:13 +02:00
41fafdf643
Remove now unreachable code paths.
2021-05-17 12:55:59 +02:00
dabe8bd4c7
Fix code inspections and remove now unused code.
2021-05-17 12:55:58 +02:00
a7b740fd1d
Reword ImportFromStablePopup and display the popup regardless of whether a stable install is detected.
2021-05-17 12:55:58 +02:00
8ba50b1854
Bring back injected dependency incorrectly marked as unused.
2021-05-17 12:55:58 +02:00
481b0a0125
Add StableDirectoryLocationDialog
2021-05-17 12:55:57 +02:00
325a689d65
Order imports depending on beatmap imports if any is running.
2021-05-17 12:55:57 +02:00
851e33fd15
Hook up StableImportManager.
2021-05-17 12:55:57 +02:00
5d5b1e1f0e
Add StableImportManager
2021-05-17 12:55:56 +02:00
1742ee89e0
Fix incorrect xmldoc for DeleteFile
2021-05-11 18:39:14 +09:00
05e3a73a7d
Fix import cancellation not correctly being forwarded to import notification
2021-04-28 16:09:50 +09:00
6560dc2d1f
Fix exported replays being wrapped in zip packages
2021-04-26 20:46:44 +09:00
b9ee63ff89
Remove public
keywords from interface implementations
2021-04-24 02:13:31 +09:00
ecde6137e0
Add missing active usage counter increment
2021-03-31 15:16:01 +09:00
37bf79e8a4
Remove unused automapper setup for the time being
2021-03-31 15:10:05 +09:00
f8cea5cae3
Merge branch 'master' into realm-migration-operation-blocking
2021-03-26 17:07:31 +09:00
a16c0641b2
Revert EF Core to version 2.2
...
This reverts commit f3faad74d5
, reversing
changes made to 712e7bc7bf
.
Several issues arose after migrating to 5.0, including, but possibly not
limited to, performance regressions in song select, as well as failures
when attempting to save beatmaps after metadata changes in the editor.
2021-03-21 11:05:15 +01:00