Dean Herbert
0e9576acfb
Remove logging and catch any kind of errors
2023-06-13 01:40:43 +09:00
Dean Herbert
d19f8997fc
Account for scores which don't have correct maximum statistics populated
2023-06-13 01:40:43 +09:00
Dean Herbert
f30c1a564f
Add basic setup for score migration
2023-06-13 01:40:43 +09:00
Bartłomiej Dach
11694f35fe
Apply NRT in MemoryCachingComponent
subclasses too
2023-06-09 13:47:35 +02:00
Dean Herbert
4685ba83e1
Apply NRT to MemoryCachingComponent
classes
2023-06-09 19:00:05 +09:00
Bartłomiej Dach
ca25ac446b
Be slightly more specific with error message
2023-06-09 11:20:12 +02:00
Dean Herbert
53f935714e
Inline binary reading to avoid polluting RealmAccess
with nested class
2023-06-09 17:34:27 +09:00
Dean Herbert
a9071e7afd
try-catch more
2023-06-09 17:33:59 +09:00
Dan Balasescu
67562a3856
Catch errors during score parsing
2023-06-09 14:35:29 +09:00
Dan Balasescu
facf7de053
Parse ScoreInfo.IsLegacyScore from replays
2023-06-08 21:38:10 +09:00
Bartłomiej Dach
1f4e79d79d
Merge pull request #23711 from timiimit/add-last-edit-time
...
Store timestamp of beatmap's last edit time in local database
2023-06-07 16:57:24 +02:00
Salman Ahmed
62cb6a98ca
Remove redundant nullable suppression directives
2023-06-07 08:20:41 +03:00
Dean Herbert
e0e013cca1
Fix incorrect realm schema comment
...
Co-authored-by: timiimit <32331609+timiimit@users.noreply.github.com>
2023-06-06 22:17:05 +09:00
Dean Herbert
878cdb2ed3
Bump schema version
2023-06-06 15:11:37 +09:00
Dean Herbert
18eb15bfa5
Gracefully handle failures in cleaning up pending file deletions
2023-05-31 19:39:43 +09:00
Bartłomiej Dach
2e81cae201
Move comment to more correct place
2023-05-30 23:18:34 +02:00
Dean Herbert
a0be526266
Adjust realm backup procedure to hard fail if running out of attempts
...
Previously, if the backup procedure failed, startup would continue and
the user's realm database may be deleted. I think in such a fail case
I'd rather the game didn't startup so the user gets in touch (or reads
the log files themselves) rather than potentially losing data.
2023-05-30 13:04:34 +09:00
Dean Herbert
79694897be
Ensure a potential exception from cleanupPendingDeletions
doesn't mark realm corrupt
...
The whole restructure here is to move the nested call out of the
`try-catch`. I noticed this while looking at a corrupt database issue a
user reported (https://github.com/ppy/osu/discussions/23694 ).
It's not the first time we've seen a corrupt database error where the
"corrupt" version works just fine on a second attempt.
Maybe this isn't the issue and it's just a transitive file access violation
but it definitely feels like this should be fixed regardless.
2023-05-30 13:00:17 +09:00
Dan Balasescu
d2380bd840
Remove usages of [ExcludeFromDynamicCompile]
2023-05-08 18:12:56 +09:00
Bartłomiej Dach
510484011c
Mark exporter extensions as untranslatable
2023-05-06 19:42:28 +02:00
Bartłomiej Dach
3f63fd7f4d
Reorder increment to make progress update less weird
2023-05-06 19:39:52 +02:00
Bartłomiej Dach
bb17b684b0
Rename flag
2023-05-06 19:38:41 +02:00
Bartłomiej Dach
a56a5d563c
Unify error message wording
2023-05-06 19:38:05 +02:00
Bartłomiej Dach
3afe198d1d
Remove weird single-use private method
2023-05-06 19:34:22 +02:00
Bartłomiej Dach
e0823ffd03
Move lower and xmldoc GetFilename(TModel)
2023-05-06 19:29:08 +02:00
Bartłomiej Dach
5e64d25b2a
Make UserFileStorage
readonly
again
2023-05-06 19:26:51 +02:00
Dean Herbert
64d7e0d896
Rename outputStream
variable to match base class
2023-05-07 00:24:30 +09:00
Dean Herbert
d2591368a6
More xmldoc fixes
2023-05-06 23:53:35 +09:00
Dean Herbert
0d095c4bb7
Remove non-Live
pathway
2023-05-06 23:10:18 +09:00
Dean Herbert
e75ff33d62
Remove redundant xmldoc and reword some remaining
2023-05-06 23:10:09 +09:00
cdwcgt
71864fbb93
remove meanless comment
2023-05-05 21:29:06 +09:00
cdwcgt
4393e53b43
ExportToStream should be public
2023-05-05 21:28:43 +09:00
Dean Herbert
747f912af5
Fix incorrect cancellation logic
2023-05-05 21:08:01 +09:00
Dean Herbert
5d78561aa3
Remove weird catch logic
2023-05-05 21:05:57 +09:00
Dean Herbert
2a3e03695c
Simplify ExportAsync
, remove weird dedupe logic and unnecessary return success
code
2023-05-05 21:05:52 +09:00
Dean Herbert
4ccfebc02b
Simplify ExportToStreamAsync
implementation
2023-05-05 21:01:10 +09:00
Dean Herbert
fc2d2de34c
Fix notification text not including export filename
2023-05-05 16:53:27 +09:00
Dean Herbert
9cafb20fcb
Move file missing logging to a better location, and log actual filenames to logs
2023-05-05 16:53:16 +09:00
Dean Herbert
4ec98b0578
Improve xmldoc and fix silly progress text in LegacyArchiveExporter
2023-05-05 16:45:45 +09:00
Dean Herbert
0158102467
Rename class back to original name so I can read the diff
2023-05-05 16:19:10 +09:00
cdwcgt
dd69089117
code quality
2023-04-09 15:51:31 +09:00
cdwcgt
5d64c1b7bf
exception handling
2023-04-09 15:09:18 +09:00
cdwcgt
ce6a87b4a3
Merge remote-tracking branch 'upstream/master' into export
2023-04-09 15:02:47 +09:00
cdwcgt
fc55b96e77
remove CompletionText
in Constructor
...
this will never used
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-04-09 14:27:42 +09:00
cdwcgt
49193a2bdd
CompletionText
...
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-04-09 22:25:47 +09:00
cdwcgt
de21b4a2f7
use Live<TModel>
...
Use RealmAccess only when needed
2023-04-09 22:21:15 +09:00
cdwcgt
1f4da35c8d
notification nullable fix
2023-04-09 22:13:53 +09:00
cdwcgt
13b522e825
repair usage of CancellationToken
...
Co-Authored-By: n0099 <n@n0099.net>
2023-04-09 22:09:53 +09:00
Cootz
556964eae0
Merge branch 'master' into BitmapUpdatesOnScore
2023-03-16 12:16:42 +03:00
Cootz
7107834b9e
Fix truncating bug
2023-03-07 15:43:03 +03:00
Cootz
5191204569
Bring truncating logic back to Export
method
2023-03-07 15:39:43 +03:00
cdwcgt
1d5c87039e
typo
2023-02-26 15:28:43 +09:00
cdwcgt
e8092bff46
logic fix?
2023-02-26 15:28:24 +09:00
cdwcgt
fdf9544688
cancel handle
2023-02-26 15:28:10 +09:00
cdwcgt
a20e2685be
make static name fix
2023-02-25 20:11:08 +09:00
cdwcgt
78201c4649
log to database
2023-02-23 22:17:35 +09:00
cdwcgt
60bdae41b6
make static
2023-02-23 22:17:13 +09:00
cdwcgt
9e1eb50d9b
use log
2023-02-23 20:21:04 +09:00
cdwcgt
ba345e5591
delete notify post when duplicate export
2023-02-23 20:10:50 +09:00
Cootz
90aa4288d0
Reduce the allowed length by 5 to account for (99) suffix. Move truncating logic to GetFilename
. Update tests.
2023-02-21 18:35:53 +03:00
cdwcgt
d20e1df603
wrong xmldoc
...
because of 6900d0120a
2023-02-21 20:54:06 +09:00
cdwcgt
04dcd661e0
async logic fix
2023-02-21 20:53:02 +09:00
cdwcgt
0667b83960
Path.GetExtension() will not get null
2023-02-19 02:56:53 +09:00
cdwcgt
229b31520f
remove ()
2023-02-19 02:42:33 +09:00
cdwcgt
fba99b344c
Accidentally deleted using
...
wtf
2023-02-19 02:41:08 +09:00
cdwcgt
79715fe37b
catch when zipWriter dispose
...
ObjectDisposedException also appear when zipwriter dispose after user request cancel
2023-02-19 02:24:07 +09:00
cdwcgt
8446e7d841
comment
2023-02-19 02:17:24 +09:00
cdwcgt
2a6ea99e6a
store exportingModels for all exporter
...
No one wants to export multiple copies of the same model at the same time, right?
2023-02-19 02:09:59 +09:00
cdwcgt
30985f192e
catch ObjectDisposedException
2023-02-19 02:06:07 +09:00
cdwcgt
d611603742
catch OperationCanceledException
2023-02-19 01:45:09 +09:00
cdwcgt
309e9b24e2
split LegacyArchiveExporter
2023-02-19 01:18:27 +09:00
cdwcgt
843d841f5a
GetFilename and something other
...
https://github.com/ppy/osu/pull/21739
2023-02-17 22:23:50 +09:00
cdwcgt
29d6483e17
ConfigureAwait for awaited task
2023-02-17 22:19:24 +09:00
cdwcgt
e84e011d5d
Merge branch 'master' into export
2023-02-17 22:15:19 +09:00
cdwcgt
eac0aa79a3
cancellationToken pass, notification adujust
2023-02-17 22:09:09 +09:00
Cootz
e3bdb3d852
Align links in one line
2023-02-17 15:32:36 +03:00
Cootz
fd1beaef87
Fix typo
2023-02-17 15:24:27 +03:00
Cootz
a3b440493a
Update xml doc
2023-02-17 15:23:43 +03:00
Cootz
ceed3606cd
Remove redundant comment
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-02-17 13:46:06 +03:00
Dean Herbert
8c772a723f
Expose constant public
ly rather than reexposing business
2023-02-17 13:34:19 +09:00
Dean Herbert
96b1498932
Rename max length variable to make sense (it's a filename limit, not path)
2023-02-17 13:33:22 +09:00
Cootz
f1da213bea
Add tests
2023-02-16 16:26:57 +03:00
Cootz
387a6f1330
Move logic to Export
method
2023-02-15 22:43:43 +03:00
Cootz
fb06a77e2b
Merge branch 'master' into fix-exporting-a-skin-with-too-long-file-name
2023-02-15 22:29:38 +03:00
Cootz
1f586c129c
fix applied
2023-02-15 22:15:44 +03:00
Dean Herbert
e71dfd7555
Fix skin export failing if a directory exists with the proposed filename
2023-02-15 16:11:16 +09:00
Dean Herbert
c50ea89bc9
Simplify migration to not rely on old/dynamic schema
2023-02-08 14:24:06 +09:00
Cootz
4ba915268c
Change a comment into RealmAccess
2023-02-08 05:46:47 +03:00
PC
7e127dafe2
Update reference
2023-02-07 11:52:47 +03:00
Cootz
a1ee3df453
Improve local variable naming
2023-02-07 03:16:25 +03:00
Cootz
d23e787bc1
Update schema_version
2023-02-05 21:55:50 +03:00
Cootz
4598112586
Add OriginalBeatmapHash to ScoreInfo. Update db schema_version, migration
2023-02-05 21:46:38 +03:00
Susko3
f8537c1cbe
Delegate file deletion to ImportTask
to allow overriding it
2023-01-22 22:19:04 +01:00
Dean Herbert
cde45cdd3e
Merge pull request #21739 from integerrr/score-export-date
...
Append date to score export filename
2023-01-10 23:33:38 +09:00
Dean Herbert
a22b7298c6
Adjust english slightly
2023-01-10 22:27:36 +09:00
Salman Ahmed
0d6b9ebc0f
Display number of failing models during batch-import
2023-01-10 13:32:10 +03:00
integer
f971405c8c
append time as well
2023-01-10 00:02:31 +00:00
Salman Ahmed
5ee0665eac
Merge branch 'master' into pause-imports-during-gameplay
2023-01-09 20:09:17 +03:00
Salman Ahmed
8a05223591
Check cancellation token if importer was resumed while sleeping
2023-01-09 20:07:46 +03:00
Salman Ahmed
a1fbfe4b8b
Specifiy importer name during pause/resume in logs
2023-01-09 19:53:41 +03:00
Dean Herbert
811a562608
Don't use bindables to avoid potential cross-usage contamination
2023-01-10 01:10:20 +09:00
Dean Herbert
62ffb4fe78
Pause imports during active gameplay
2023-01-09 18:54:11 +09:00
Endrik Tombak
15eebd1f50
Only show message about Songs folder
2023-01-09 11:47:13 +02:00
Bartłomiej Dach
04d4b4a6ce
Rename and xmldoc hard link creation method
2022-12-28 22:04:05 +01:00
Bartłomiej Dach
2c346eae0d
Revert inlining of hard link creation into condition
...
Just feels bad. Mixing data access with actual underlying logic.
2022-12-28 21:19:28 +01:00
BlauFx
c6da7248ba
Remove unnecessary directive
2022-12-28 14:40:32 +01:00
BlauFx
53bca947d1
Move duplicated code into its own method
2022-12-28 14:34:27 +01:00
BlauFx
b2aa2e1602
Add hardlink support for Linux
2022-12-28 13:32:49 +01:00
integer
272288c9aa
fix code style and naming
2022-12-25 21:50:56 +00:00
integer
d392d1a5c0
override a sub-method instead of the whole Export()
2022-12-24 22:18:42 +00:00
integer
498d00935b
limit date appending to LegacyScoreExporter
only
2022-12-23 23:01:04 +00:00
Dean Herbert
ba54551313
Merge branch 'master' into guard-url-protocols
2022-12-16 18:23:16 +09:00
Dean Herbert
27c497145f
Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0
2022-12-16 18:16:26 +09:00
cdwcgt
5912dfd443
using declaration
...
reshaper
2022-12-15 23:42:49 +09:00
cdwcgt
cd8420bc66
Handle the case where the file cannot be found
2022-12-15 23:34:40 +09:00
cdwcgt
dadadaff65
remove try catch
2022-12-15 23:20:29 +09:00
cdwcgt
f5226bd50b
use ZipWriter
...
Export directly to stream instead of creating a archive
so we can cancel this anytime
2022-12-15 23:12:25 +09:00
cdwcgt
ec251664a7
use ThrowIfCancellationRequested instead of CancelRequested
2022-12-15 22:45:36 +09:00
cdwcgt
6900d0120a
change abstract implement
2022-12-15 21:39:48 +09:00
Dean Herbert
6bf1477939
Fix some hard links not being created due to missing directory structure
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-12-15 14:17:28 +09:00
Dean Herbert
b8904fe747
Move ImportParameters
to better home
2022-12-13 21:41:26 +09:00
Dean Herbert
cb16d62700
Hook up ImportParameter
flow with IModelImporter
caller methods
2022-12-13 21:29:32 +09:00
Dean Herbert
6bb612ce69
Move hard link availability check to helper class
2022-12-13 20:20:42 +09:00
Dean Herbert
bbf931c746
Move hard link helper functions to their own class
2022-12-13 19:55:18 +09:00
Dean Herbert
1d4230993d
Hook up parameter with RealmFileStore
to complete the chain
2022-12-13 19:55:18 +09:00
Dean Herbert
cf2719d4c0
Convert batchImport
parameter to parameters class to allow further import configuration
2022-12-13 19:55:18 +09:00
Dean Herbert
d8de99bbe4
Check for hard link support in first run overlay
2022-12-12 13:44:09 +09:00
Dean Herbert
3b1920c060
Add code to check whether a file is a hard link
2022-12-12 13:44:09 +09:00
Dean Herbert
f27603dd6d
Use hard links instead of file copy when available
2022-12-12 13:44:09 +09:00
cdwcgt
e02b8cb199
Group export methods into their respective managers
2022-12-11 18:30:24 +09:00
cdwcgt
a87bcccc42
xmldoc
2022-12-11 17:00:53 +09:00
cdwcgt
2d57633409
rename method name and add xmldoc
2022-12-11 17:00:52 +09:00
cdwcgt
fa30f3348f
onComplete
should private
2022-12-11 17:00:51 +09:00
cdwcgt
951302fe61
ExportAsync use TModel
2022-12-10 00:43:03 +09:00
cdwcgt
405985ec5b
remove Component
...
exportStorage to private
notification should post when export instead of class being constructed
2022-12-09 23:57:03 +09:00
cdwcgt
19afce6776
Fix overwriting existing files
...
https://github.com/ppy/osu/pull/21468
2022-12-09 23:41:07 +09:00
cdwcgt
a1fc33668c
Merge branch 'master' into export
2022-12-09 23:40:26 +09:00
Dean Herbert
819fd5f950
Fix incorrect resolution of GameHost
in LegacyImportManager
2022-12-07 17:53:14 +09:00
Piggey
75cf7bd1d2
change GetNextBestFilename()
's parameters
2022-12-01 18:44:02 +01:00
Piggey
8f59aad91c
unnecessary includes
2022-11-30 18:37:50 +01:00
Piggey
8b856f1c89
make LegacyExporter
use NamingUtils.GetNextBestFilename()
2022-11-30 18:32:53 +01:00
Piggey
b99ddc2acf
use .Select()
to trim the file extension from filename
2022-11-30 15:36:08 +01:00
Piggey
660ad913ec
oh wait this affects all of the legacy exporters
2022-11-30 11:06:44 +01:00
Dawid Sośnia
f0b8b53e81
Merge branch 'ppy:master' into fix-exported-replay-overwrite
2022-11-30 10:54:12 +01:00
Piggey
5e74c4e3b7
override LegacyScoreExporter.Export()
to not overwrite files
2022-11-30 10:52:41 +01:00
Piggey
f5d85f5774
make ExportStorage
protected
2022-11-30 10:51:42 +01:00
cdwcgt
6adac853e8
Spite sync method ExportToStream
...
`uuid` to `model`
2022-11-27 09:58:54 +09:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
cdwcgt
162f0bb95e
filename can be private
2022-11-21 19:06:04 +09:00
cdwcgt
564f136945
add xmldoc
2022-11-21 19:04:05 +09:00
cdwcgt
9c6421a462
log the error
2022-11-21 19:00:10 +09:00
cdwcgt
e37d30a373
refactor based on reviews
...
removed LegacyExportManager
Separated the method of CreateZip method and the default export method
2022-11-21 18:58:01 +09:00
cdwcgt
ed53168267
typo fix
2022-11-21 17:42:11 +09:00
cdwcgt
60ef88844c
Recover accidentally deleted codes
2022-11-21 17:09:56 +09:00
cdwcgt
2653bd2f99
Make notification cannot cancel when Saving Zip Archive
...
This operation cannot be stopped(if not dispose stream).
so make it cannot cancel
2022-11-19 12:57:56 +09:00
cdwcgt
28867fbbb1
Add comment
2022-11-19 12:34:35 +09:00
cdwcgt
fc4a6cb125
working with test
2022-11-19 01:02:35 +09:00
cdwcgt
4b29941b47
add LegacyExportManager
2022-11-18 20:00:00 +09:00
Dan Balasescu
5ceb7ecc41
Remove unused using
2022-11-17 13:56:27 +09:00
Dean Herbert
1050d7da34
Use more generic exception type (issue reported AggegateException
)
2022-11-17 13:36:16 +09:00
Dean Herbert
adab9f0e48
Catch and gracefully handle file/directory enumeration failures during stable import
...
Closes https://github.com/ppy/osu/issues/21214 .
2022-11-17 13:34:42 +09:00
cdwcgt
e1a21e0cf9
create a task to export to avoid block main thread
...
Code quality and remove some #nullable disable
2022-11-17 01:08:06 +09:00
Bartłomiej Dach
f775741d65
Merge branch 'master' into fix-filename-char-filtering
2022-10-29 12:42:10 +02:00
Dean Herbert
66ed77ac91
Rename and add documentation to function
2022-10-28 18:04:28 +09:00
Dean Herbert
42eafe318c
Remove various simple obsoletions
2022-10-28 13:20:58 +09:00
Dan Balasescu
3ac3c33cc3
Merge pull request #20712 from peppy/reduce-import-transaction-scope
...
Reduce the scope of realm transactions during import operations
2022-10-12 16:56:21 +09:00
Dean Herbert
390ff8b9da
Reduce the scope of realm transactions during import operations
2022-10-11 21:58:28 +09:00
Dean Herbert
a44ba579c5
Fix beatmap update button not respecting user "prefer no video" setting
...
Closes #20701 .
2022-10-11 14:27:40 +09:00
Dean Herbert
64ee210825
Add realm migration to update skin names
2022-09-18 00:12:43 +09:00
Dan Balasescu
e95983cdb4
Merge branch 'master' into fix-skin-flow
2022-09-16 20:15:51 +09:00
Dean Herbert
581a4d2d6d
Use APIBeatmap
for realm migration requiring ShortName
mapping
2022-09-15 16:58:58 +09:00
Dean Herbert
40a60f7145
Remove all entity framework code and migrations
2022-09-15 16:58:58 +09:00
Dean Herbert
9226f0abbc
Implement equality correctly in Live
2022-09-13 19:16:25 +09:00
Dean Herbert
0fcd9e02f6
Fix skin dropdown not updating correctly when skin is changed externally
2022-09-13 14:01:40 +09:00
Dean Herbert
d561fcb126
Don't trigger fling animation when Close
is triggered by non-user action
2022-09-12 16:54:25 +09:00
Dan Balasescu
8cbd344330
Improve performance when cancelling import with debugger attached
2022-09-05 11:28:13 +09:00
Dean Herbert
09aa3e065d
Move colouring to full icon content rather than background
2022-08-30 18:06:48 +09:00
Dean Herbert
b8fda1a16f
Apply NRT to notification classes
...
and tidy things up a bit.
2022-08-30 15:57:10 +09:00
its5Q
0cc6a76c17
Fix crash with legacy import from incomplete installs
2022-08-28 14:13:38 +10:00
Dan Balasescu
d947a6cb59
Add Realm migration
2022-08-24 17:28:41 +09:00
Dean Herbert
e1e6be039a
Don't create destination stream if backup source doesn't exist
2022-08-17 18:20:47 +09:00
Dean Herbert
fca076b988
Fix edge case of realm backup cascading failure
2022-08-17 17:17:22 +09:00
Dan Balasescu
e689d4be96
Merge pull request #19530 from peppy/store-modified-time
...
Add `BeatmapInfo.LastUpdate` to track the time of local changes
2022-08-16 20:20:41 +09:00
Dean Herbert
1a7ddc0040
Fix re-importing existing collections not correctly adding new items
2022-08-16 16:43:05 +09:00
Dean Herbert
11f38e539f
Rename property to LastLocalUpdate
2022-08-16 16:01:19 +09:00
Dean Herbert
c7db4a532c
Merge branch 'master' into store-modified-time
2022-08-16 15:53:51 +09:00
Dan Balasescu
98c7138803
Merge pull request #19586 from peppy/realm-versioning-for-debug
...
Version realm files for debug executions
2022-08-10 21:17:51 +09:00
Dan Balasescu
f9c6dc314b
Merge pull request #19678 from peppy/fix-file-comparisons-many-places
...
Fix audio track not correctly advancing when changing between certain beatmaps
2022-08-10 20:38:14 +09:00
Dan Balasescu
69cbf4185b
Match class name to file
2022-08-10 19:53:40 +09:00
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
ddffa9b1bd
Fix crash when attempting to import on mobile platforms
...
Regressed with NRT application to this file. It's probably the first
time we've actually hit this due to an optional DI that is actually not
available outside of tests.
2022-08-10 15:32:43 +09:00
Dean Herbert
6459dbd9e5
Fix collection import not showing progress notification
2022-08-08 14:56:16 +09:00
Dean Herbert
c31e257a1f
Clean up pending deletion presets on startup
2022-08-07 15:16:33 +09:00
Dean Herbert
4544df5978
Leave client.realm
around to handle pull requests without this change merged
2022-08-05 18:27:29 +09:00
Dean Herbert
ad3d00b1dc
Don't add version suffixes when running unit tests
2022-08-05 18:23:41 +09:00
Dean Herbert
3c84b1a389
Change order of application to use original client.realm
last
2022-08-05 17:48:51 +09:00
Dean Herbert
84a3fbd25c
Version realm files for debug executions
...
To make it easier for developers to test out pull requests which bump
the realm schema version, realm files are now stored with the schema
version in the filename.
Note that this means any changes made to a newer version will not be
applied to previous ones.
2022-08-05 17:36:49 +09:00
Dean Herbert
d3954fc583
Use existing localised error message
2022-08-03 20:15:46 +09:00
Salman Ahmed
7354f9e6ba
Remove localisation for now
2022-08-01 22:05:52 +03:00
Dean Herbert
d7a06abcab
Add BeatmapInfo.LastUpdate
to track the time of local changes
2022-08-02 00:53:07 +09:00
Salman Ahmed
3ff0327d91
Display readable message when reaching download limit
2022-08-01 14:22:54 +03:00
Bartłomiej Dach
345f103119
Migrate mod preset column to use realm
2022-07-31 23:53:45 +02:00
Dean Herbert
6ad86ce5b7
Run collection import process asynchronously
...
Actually required to avoid deadlocking..
2022-07-31 01:06:57 +09:00
Dean Herbert
80ffa2cf20
Move collection database rather than deleting post-migration for safety
2022-07-31 00:54:00 +09:00
Dean Herbert
8e06d55960
Fix collection migration incorrectly running asynchronously
2022-07-31 00:53:39 +09:00
Dean Herbert
cb52b696ed
Merge branch 'master' into bypass-local-metadata-cache
2022-07-29 16:05:54 +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
2209afd0e8
Mark Live
methods as InstantHandleAttribute
2022-07-28 15:03:08 +09:00
Dean Herbert
1669208a54
Add migration of existing collections database
2022-07-28 13:57:21 +09:00
Dean Herbert
41393616d8
Replace BeatmapCollection
with RealmBeatmapCollection
2022-07-27 19:35:09 +09:00
Dean Herbert
9c543fef48
Remove CollectionManager
2022-07-27 18:45:33 +09:00
Dean Herbert
6b73f7c7ec
Split out legacy import path from realm manager
2022-07-27 15:04:09 +09:00
Dean Herbert
9173271900
Fix new update pathway not actually being used
2022-07-26 17:58:09 +09:00
Dean Herbert
8370ca9765
Add ImportAsUpdate
method to IModelImporter
to avoid otehr changes
2022-07-26 15:49:04 +09:00
Dean Herbert
8a0c8f5fd8
Fix some realm pieces not being cleaned up
2022-07-25 19:51:19 +09:00
Dean Herbert
2e14d8730c
Move implementation of updating a beatmap to BeatmapImporter
2022-07-25 19:51:19 +09:00
Dean Herbert
b7f6413bce
Fix old version of beatmap potentially not being deleted during update flow
...
This can happen if the online IDs are not present in the `.osu` files.
Previously this was only working due to the early logic in the import
process (that relies on matching all online IDs perfectly).
2022-07-25 19:51:19 +09:00
Dean Herbert
94cd641fb4
Change migration to trigger reprocessing on every local beatmap
...
Was originally relying on the fact that this would be triggered due to a
null `LastOnlineUpdate`, but wouldn't cover the case of beatmaps with no
`OnlineID`.
2022-07-21 18:31:12 +09:00
Dean Herbert
d5e0dba9da
Change default value of StarRating
to -1
2022-07-21 18:20:46 +09:00
Dean Herbert
68f28ff660
Add last applied version to RulesetInfo
2022-07-21 18:15:25 +09:00
Dan Balasescu
2b399ec7ad
Merge branch 'master' into date-submitted-ranked
2022-07-20 18:36:57 +09:00
Dean Herbert
6357223341
Fix incorrect DI fetch and apply nullability to ModelDownloader
2022-07-19 20:06:34 +09:00
Dean Herbert
30daa0fd44
Add ranked and submitted date storage and filtering
2022-07-19 19:55:56 +09:00
Dean Herbert
17046b0553
Add basic handling of download failures
2022-07-19 19:01:23 +09:00
Dean Herbert
6ea380d649
Add new properties to BeatmapInfo
to track online hash and updates
2022-07-19 17:57:01 +09:00
Dean Herbert
51f91fe62e
Update naming
2022-07-18 16:17:20 +09:00
Salman Ahmed
4e7156cee8
Store user country on databased scores
2022-07-16 06:39:05 +03:00
Dean Herbert
c8c79d2185
Standardise HasReplay
implementation (and remove from persisting to realm)
2022-07-15 16:14:21 +09:00
Dean Herbert
8820ea4006
Add last played date to BeatmapInfo
2022-07-13 16:36:43 +09:00
Dean Herbert
8b6665cb5b
Ensure initial beatmap processing is done inside the import transaction
2022-07-11 02:51:54 +09:00
Dan Balasescu
0bc332e90b
Merge pull request #19029 from peppy/fix-skin-import-duplicate
...
Fix skins potentially being duplicated on batch import
2022-07-08 14:18:14 +09:00
Dean Herbert
c53dd4a703
Fix editor saving not updating BeatmapSetInfo
's hash
2022-07-08 02:33:14 +09:00
Dean Herbert
cf1da1dd18
Fix skins potentially being duplicated on batch import
...
Resolves https://github.com/ppy/osu/discussions/19024#discussioncomment-3099200
2022-07-07 22:39:07 +09:00
Dean Herbert
ac216d94a8
Fix transaction not being disposed
2022-07-07 18:15:38 +09:00
Dean Herbert
5197d0fa9e
Add automatic transaction handling to realm helper methods
2022-07-07 17:36:25 +09:00
Dean Herbert
a1b6ec60c8
Add statistics display for MemoryCachingComponent
s
...
Never sure if these are working as they should (or how well they are
working). This helps quite a bit.
2022-07-06 18:38:40 +09:00
Dean Herbert
33db508301
Add note regarding why the realmRetrievalLock
return is done on the async thread
2022-07-05 16:23:10 +09:00
Dean Herbert
5adec2c738
Ensure blocking restoration only completes after update callback work is completed
2022-07-05 14:39:14 +09:00
Dean Herbert
1b98936328
Rename realm ThreadLocal
to better convey what it's doing
...
Every time I looked at this code I have to re-learn what it's doing.
Changing these variable names should help quite a bit.
2022-07-05 13:38:25 +09:00
Dean Herbert
506409a9c4
Fix realm backup creation failing when run from RealmAccess
constructor
...
At the point of construction, we are not on the update thread, but it
doesn't really matter at this point because there's no other usages.
2022-07-04 16:45:23 +09:00
Salman Ahmed
e28ee8bc7a
Count time spent upwards to display attempts correctly
2022-07-02 10:46:52 +03:00
Dean Herbert
93809a92d4
Fix clashing error messaging during realm block operations
2022-07-02 16:30:04 +09:00
Dean Herbert
4fd47b5fa0
Add more verbose logging to realm blocking process
2022-07-02 12:36:56 +09:00
Dan Balasescu
3b1842a2c2
Merge pull request #18835 from peppy/beatmap-update-flow
...
Split out beatmap update tasks to `BeatmapUpdater` and invoke from editor save flow
2022-07-01 20:28:04 +09:00
Dean Herbert
447b496eff
Merge branch 'master' into realm-fix-async-write-after-disposal
2022-06-30 19:07:15 +09:00
Dean Herbert
2a73210865
Add xmldoc and update parameter naming for MemoryCachingComponent.Invalidate
flow
2022-06-30 17:17:06 +09:00
Dean Herbert
98938821e5
Merge branch 'master' into beatmap-update-flow
2022-06-30 16:44:17 +09:00
Dean Herbert
78d86fd3ff
Fix PerformWrite
not rolling back transaction on exception
2022-06-30 15:15:09 +09:00
Dean Herbert
7cb4e32c17
Add one more lock to appease CI
2022-06-29 22:45:19 +09:00
Dean Herbert
a3b4a515fc
Merge branch 'master' into realm-fix-async-write-after-disposal
2022-06-29 22:39:05 +09:00