smoogipoo
b592b6d80d
Improve robustness by always creating a new file
2020-01-14 19:24:53 +09:00
smoogipoo
609102bea3
Initial file updating implementation
2020-01-14 19:24:53 +09:00
smoogipoo
681a43a318
Refactor to support beatmap updates
2020-01-14 19:24:53 +09:00
Dean Herbert
74d875a2e0
Give empty archives a hash based on archive name to avoid duplicate imports
2019-12-26 18:44:50 +09:00
Huo Yaoyuan
b86a3dbfab
PathStandardise -> ToStandardisedPath
2019-12-11 16:06:56 +08:00
Huo Yaoyuan
6b3c7c8421
Remove usages of FileSafety class.
2019-12-11 16:05:35 +08:00
Huo Yaoyuan
f05b83d7d4
Use typeparamref.
2019-11-17 20:48:23 +08:00
Huo Yaoyuan
e9b8cbb516
Apply other styles.
2019-11-11 20:27:04 +08:00
Huo Yaoyuan
ccc8aa6fa4
Apply brace style.
2019-11-11 20:13:13 +08:00
Dean Herbert
cf3ed42bfc
Fix download tracking components getting stuck on import failures
2019-10-28 17:41:42 +09:00
smoogipoo
f8eb07b211
Only lock database for the duration of a model restoration
2019-10-03 11:24:17 +09:00
smoogipoo
dfaa9531f8
Only lock the database for the duration of a deletion
2019-10-02 18:48:50 +09:00
Dean Herbert
cdf29b0952
Specify model name on initialize and fail import notification m… ( #6192 )
...
Specify model name on initialize and fail import notification messages
2019-09-22 15:54:04 +09:00
iiSaLMaN
9be8bdef52
Remove pluralize and use title letter casing
2019-09-21 21:00:24 +03:00
iiSaLMaN
6bb0f3eb41
Move humanizing to the model name instead
2019-09-21 20:04:12 +03:00
iiSaLMaN
3be03a26c9
Pluralize instead of adding 's'
2019-09-20 16:18:55 +03:00
iiSaLMaN
8300e86f20
Specify model name on import notification messages
2019-09-20 15:46:43 +03:00
smoogipoo
dfc0928ebe
Fix scores importing with deleted beatmap sets
2019-09-20 19:39:21 +09:00
Dean Herbert
ddff9882cf
Fix importing archives which are nested in a single folder within a zip
2019-09-19 19:11:04 +09:00
smoogipoo
3ebfa0505c
Don't share single scheduler across all model managers
2019-08-08 18:26:07 +09:00
Dean Herbert
cb17007fa7
Fix zero-length hash models incorrectly creating a unique hash
2019-07-29 16:57:19 +09:00
Dean Herbert
598b0d668b
Merge branch 'master' into import-stable-scores
2019-07-05 15:54:33 +09:00
Dean Herbert
df7d31350c
Stop import failures from being added to the imported model list
2019-07-05 14:47:55 +09:00
Dean Herbert
80d8ce8392
Fix GetStableImportPaths xmldoc
2019-07-05 14:21:56 +09:00
Dean Herbert
ba8df3ba92
Clean up stable lookup and mutate logic
2019-07-05 13:59:31 +09:00
Dean Herbert
8346c50ce1
Rename delete method and improve xmldoc
2019-07-05 13:55:25 +09:00
HoLLy
12350d18b5
Don't remove imported archives by default
2019-06-27 14:41:11 +02:00
HoLLy
55216dffb7
Merge remote-tracking branch 'origin/master' into import-stable-scores
2019-06-27 14:07:17 +02:00
Dean Herbert
9e1cb90dd8
Remove existing argument for ItemAdded event
...
For all usages, it looks like this was unnecessary.
2019-06-26 11:40:41 +09:00
HoLLy
802da225d4
Move responsibility for selecting paths to model managers
2019-06-21 17:32:47 +02:00
HoLLy
f1f03dd541
Remove async from Import method
2019-06-21 17:01:11 +02:00
HoLLy
99f1a94797
Fix notification progress bar
2019-06-19 20:50:50 +02:00
HoLLy
0cb66d522a
Check if path can be imported before trying
2019-06-19 20:36:00 +02:00
HoLLy
ef2e93d5c7
Improve handling of null models when importing
2019-06-19 19:29:47 +02:00
HoLLy
15c75b4442
Add basic score import from stable
2019-06-19 18:33:51 +02:00
Dean Herbert
f2e0ced052
Move private event handling logic to bottom of class
2019-06-19 01:32:37 +09:00
naoey
9cd5519da3
Remove unused delegate, use model name in notifications, add more xmldoc
...
- Applies a `class` constraint to the generic type in `IModelManager`
- Add xmldoc
2019-06-12 19:26:06 +05:30
naoey
c5f1da0f71
Merge remote-tracking branch 'upstream/master' into generic-download-model-manager
2019-06-12 18:20:35 +05:30
naoey
951a5abccc
Merge remote-tracking branch 'upstream/master' into generic-download-model-manager
2019-06-12 17:41:16 +05:30
smoogipoo
a17d480f51
Use "beatmap" as the model name
2019-06-12 20:41:02 +09:00
Dean Herbert
412c9646ec
Merge branch 'master' into improve-deletion-notification
2019-06-12 17:47:00 +09:00
smoogipoo
d4deac48ee
Improve model deletion notification text
2019-06-12 17:27:15 +09:00
smoogipoo
2a67944889
Remove interlocked within a lock
2019-06-12 17:10:55 +09:00
smoogipoo
fd7dc9504e
Remove async when not required
2019-06-12 17:08:50 +09:00
naoey
c320b6110c
Rename interface
...
- Fix wrong inheritance in ArchiveModelManager
- Add license headers
2019-06-11 23:53:37 +05:30
naoey
4a6074865e
Create interfaces for DownloadTrackingComposite to consume
2019-06-11 22:42:57 +05:30
Dean Herbert
27054a744e
Fill in thread pool names
2019-06-12 00:35:13 +09:00
Dean Herbert
6ca2fcebfc
Centalise and prefix all ArchiveModelManager database logging
2019-06-10 19:34:32 +09:00
Dean Herbert
29945f27c5
Fix imported count incrementing on failures
2019-06-10 19:33:55 +09:00
Dean Herbert
6cda2cdb82
Fix exception output to use humanised model name
2019-06-10 18:41:56 +09:00
Dean Herbert
f7a699e4a2
Better documentation for import scheduler singleton
2019-06-10 18:38:03 +09:00
Dean Herbert
c8bd92659b
Clean up exception and null handling in Import process
2019-06-10 17:12:37 +09:00
Dean Herbert
559413f766
Avoid using ContinueWith in already async context
2019-06-10 17:12:25 +09:00
Dean Herbert
02b376d962
Fix rollback logic not necessrily cleaning up file store
2019-06-10 16:14:42 +09:00
Dean Herbert
fae32b3901
Return shorter class name in error messages
2019-06-10 16:14:11 +09:00
Dean Herbert
9bdc8b47bb
Remove unnecessary async-await pair
2019-06-10 16:13:51 +09:00
Dean Herbert
f31b19e0d7
Don't unwrap exception manually
2019-06-10 16:02:49 +09:00
Dean Herbert
e19f4935c3
Fix incorrect undo logic on exception
2019-06-10 14:13:36 +09:00
Dean Herbert
b79fdfc12f
Fix one more instance of improperly handled cancellation
2019-06-10 13:50:22 +09:00
Dean Herbert
2d1a54e634
Properly implement cancellation
2019-06-10 13:42:38 +09:00
Dean Herbert
b4d2d0bd0b
Simplify and combine concurrency of ArchiveModelManager
2019-06-10 13:42:33 +09:00
smoogipoo
f090e292c9
Move ArchiveModelManager import process to async flow
2019-06-10 13:42:22 +09:00
Dean Herbert
6ebd13c733
Allow Delete and Undelete operations to run silently when needed
2019-05-09 15:15:02 +09:00
smoogipoo
d7c09e7dbd
Merge remote-tracking branch 'origin/master' into fix-new-inspections
...
# Conflicts:
# osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
# osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
# osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
# osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
# osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
# osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
# osu.Game/Graphics/OsuFont.cs
# osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
# osu.Game/Overlays/Profile/Header/BadgeContainer.cs
# osu.Game/Overlays/Profile/ProfileHeader.cs
# osu.Game/Screens/Select/PlaySongSelect.cs
# osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
smoogipoo
0bd35ab7bb
Turn on warnings, resolve issues
2019-04-25 17:36:17 +09:00
Dean Herbert
612db31c38
Apply newline additions
2019-04-01 12:16:32 +09:00
Dean Herbert
3a8c32d41b
Add the ability for ArchiveModelManager to re-import even when existing entry is present
2019-03-11 17:04:18 +09:00
Dan Balasescu
fd147dae21
Merge branch 'master' into fix-disabled-set-crash
2019-03-05 17:25:13 +09:00
Dean Herbert
d4041d5d42
Automate includes of files in ArchiveModelManager use cases
2019-03-01 10:25:21 +09:00
Dean Herbert
5b53cf0961
Merge branch 'master' into hide-desktop-only-elements
2019-02-28 18:50:16 +09:00
Dean Herbert
26d53d06a9
Fix remaining issues
2019-02-28 13:31:40 +09:00
Shane Woolcock
ce17e37c74
Conditionally add some UI elements only on desktop
...
Prevents crashes from trying to access features that are not applicable to mobile.
2019-02-28 13:10:53 +09:00
Dean Herbert
f84a84edaa
Fix oops
2019-02-25 18:59:28 +09:00
Dean Herbert
314f35b0c5
Further simplify import messaging
2019-02-25 18:42:08 +09:00
Dean Herbert
80737b9ef8
Remove "silent" parameter; consolidate import logic
2019-02-25 18:24:06 +09:00
Aergwyn
c2297b0c3b
Fix incorrect param doc
...
Co-Authored-By: peppy <pe@ppy.sh>
2019-01-29 23:04:48 +09:00
Dean Herbert
baea9691cc
Fix baetmap downloads using too much memory
2019-01-29 18:34:10 +09:00
Dean Herbert
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
Roman Kapustin
4a1af67893
Do not delete file on import failure
2018-12-18 22:49:53 +03:00
smoogipoo
4144f4bd2f
Fix duplicates not being ignored if hash is null
2018-11-30 18:40:06 +09:00
smoogipoo
a8ad7d4670
Add silent import parameter
2018-11-30 18:27:13 +09:00
Dean Herbert
aa7a665317
Merge remote-tracking branch 'upstream/master' into scoredatabase
2018-11-30 17:20:23 +09:00
Dean Herbert
705ef5e3ac
Fix hash function
2018-11-30 15:10:56 +09:00
smoogipoo
a88b69ec43
Notify of existing imports
2018-11-28 20:19:35 +09:00
Dean Herbert
ab2b2493a1
Move hashing functionality to ArchiveModelManager
2018-11-28 19:21:36 +09:00
Dean Herbert
ce660b6d67
Add skin de-duplication
2018-11-28 19:01:22 +09:00
smoogipoo
a783fdb501
Add LegacyFileArchiveReader
...
Treats files as "archives" for import.
2018-11-28 16:13:16 +09:00
smoogipoo
0982508d26
Rename to LegacyDirectoryArchiveReader
2018-11-28 15:13:27 +09:00
HoLLy
db443babb6
Fix database entries using platform-specific path separator
2018-10-07 19:15:42 +02:00
Dan Balasescu
e71e871d1f
Remove unnecessary comment
2018-09-26 18:41:55 +09:00
Paul Teng
f01dfc2860
Merge branch 'master' into patch-1
2018-09-20 23:45:44 -04:00
Paul Teng
eaf7697b85
Add boolean return value
2018-09-20 23:21:27 -04:00
Dean Herbert
293a5dd099
Use string interpolation
2018-09-21 11:50:36 +09:00
Paul Teng
52877eca83
Update ArchiveModelManager.cs
2018-09-20 20:01:04 -04:00
Paul Teng
8bfd981a50
Handle directory checking before entering task
2018-09-17 21:05:28 -04:00
Paul Teng
d469748612
Reformat code
2018-09-15 09:53:59 -04:00
Paul Teng
42b2c32222
Catch directory not found exception
2018-09-15 09:47:50 -04:00
Dean Herbert
55372496d1
Fix thread-safety of queued events list in ArchiveModelManager
2018-09-09 22:37:15 +09:00
Dean Herbert
bb67f1a361
Merge remote-tracking branch 'upstream/master' into add-skin-import-delete
2018-09-07 18:18:03 +09:00
Dean Herbert
168dbe9329
Fix error notification
2018-09-07 18:14:23 +09:00
Dean Herbert
2c0ba401d5
Add ability to click on imported complete notification to present last import
2018-09-07 16:30:11 +09:00
Dean Herbert
e67f63eab6
Improve import progress messaging
2018-09-03 10:10:04 +09:00
Dean Herbert
144e80dff6
Add "import all skins from stable" option (and mass delete)
2018-09-03 10:10:04 +09:00
Dean Herbert
5c7ff31675
Add note about null return
2018-08-25 14:51:42 +09:00
smoogipoo
99574ecad8
Softly handle errors when no beatmap file exists in archive
2018-08-24 17:57:39 +09:00
smoogipoo
83bda313d1
Output the currently importing model
2018-08-17 13:50:27 +09:00
smoogipoo
767c284793
Fix import not working
2018-08-15 15:49:55 +09:00
Dean Herbert
e3fb781a5a
Fix ArchiveModelManager's model import method not running import logic
2018-07-18 12:59:22 +09:00
Dean Herbert
3b03a25ea5
Fix beatmaps with subfolders importing incorrectly on windows
...
Closes #2718 .
2018-06-05 11:36:44 +09:00
smoogipoo
9da7bfd615
Merge remote-tracking branch 'origin/master' into fix-beatmap-import-conflicts
...
# Conflicts:
# osu.Game/Database/ArchiveModelManager.cs
2018-05-31 14:02:52 +09:00
Dean Herbert
eb89317494
Remove performance optimisation tracking disables to keep things simple for now
2018-05-30 13:43:43 +09:00
Dean Herbert
31ab6f2408
Fix event flushing sticking on early return
2018-05-29 19:43:52 +09:00
Dean Herbert
4a18951cce
Report full error to log file
2018-05-29 18:37:45 +09:00
Dean Herbert
47d88a48a2
Add logging on import processes
2018-05-29 16:26:42 +09:00
Dean Herbert
3d3026a80c
Report any error during import to the write context to allow for rollback
2018-05-29 16:23:38 +09:00
Dean Herbert
a3287b8cf2
Correctly rollback failed imports
2018-05-29 16:23:38 +09:00
Dean Herbert
bcb04f6168
Improve transaction handling flexibility
2018-05-29 16:23:27 +09:00
Dean Herbert
32a74f95a5
Normalize all the line endings
2018-04-13 18:26:38 +09:00
smoogipoo
b97c4e8b44
Fix all possible cases of crossthread import data races
2018-04-09 12:45:44 +09:00
smoogipoo
ffa712dccb
Fix post-merge issues
2018-03-24 15:19:45 +09:00
Dean Herbert
9a20839b74
Merge branch 'master' into better-import-notice
2018-03-22 14:57:04 +09:00
smoogipoo
dc9fb84e25
Update progress with the current item, not the next item
...
In the case where there is no next item, the progress will not get updated, so we'll essentially skip one element from filling the progress bar further. In the future we may/will want to not hide the notification upon completion, so this will look better in such scenarios.
2018-03-22 14:46:25 +09:00
Dean Herbert
101caf3064
Apply same logic fixes to delete/restore all notifications
2018-03-22 11:28:40 +09:00
Dean Herbert
625e561fc8
Fix whitespace
2018-03-20 18:01:09 +09:00
Dean Herbert
f565cc861d
Hard bail on attempting to import an invalid archive format
2018-03-19 20:41:12 +09:00
Dean Herbert
994c7bfabd
Further improvements to messaging
2018-03-19 20:40:14 +09:00
Dean Herbert
18368d2446
Make import notifications fail when any imports fail
2018-03-19 20:18:23 +09:00
Dean Herbert
57e61b0b0e
Update xmldoc
2018-02-19 14:50:42 +09:00
Dean Herbert
fa05822d7d
Add missing licence headers
2018-02-15 16:33:33 +09:00
Dean Herbert
b9ef32b09b
Further xmldoc and restoring of Cleanup method
2018-02-15 16:31:42 +09:00
Dean Herbert
a0a65abcac
Crentalise all import logic
2018-02-15 14:22:39 +09:00
Dean Herbert
d3dd31dadb
Make deletion and purging logic even more global
2018-02-15 14:22:39 +09:00
Dean Herbert
d340509b1d
Move ArchiveReaders to a more global namespace
...
Also moves delete and action logic to a shared implementation
2018-02-15 14:22:39 +09:00