1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-12 06:07:28 +08:00
Commit Graph

542 Commits

Author SHA1 Message Date
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
Dean Herbert
c591a6f1fa Rename request type to be less verbose 2019-06-12 13:30:23 +09:00
Dean Herbert
eaeeffaa86 Rename to DownloadableArchiveModelManager 2019-06-12 13:28:44 +09:00
naoey
c69d3e2d38
Fix doc move derp 2019-06-12 00:02:53 +05:30
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
naoey
d903ad2186
Fix order 2019-06-11 21:30:25 +05:30
naoey
06a558c4b7
Remove unecessary third generic and change usages to match 2019-06-11 21:11:30 +05:30
Dean Herbert
27054a744e Fill in thread pool names 2019-06-12 00:35:13 +09:00
naoey
f4dab4da85
Add method to check if model exists locally already 2019-06-11 20:53:44 +05:30
naoey
709ca03a08
Remove unused usings 2019-06-11 20:21:06 +05:30
naoey
802f48712d
Add ability to perform a download request with options 2019-06-11 20:14:36 +05:30
naoey
8ff26a8fbc
Add license headers and xmldoc 2019-06-11 19:49:10 +05:30
naoey
341d137f5c
Make BeatmapManager inherit from new base class 2019-06-11 19:36:08 +05:30
naoey
b4de51b612
Create a generic base archive download manager class 2019-06-11 18:29:33 +05:30
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
0300f0d665 Ensure deletions are correct without relying on FK cascade rule 2019-03-01 10:47:45 +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
e82ad3539b Move JsonIgnore specification to interface 2018-11-30 16:39:25 +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
0384f3549f Add hash and missing indices to SkinInfo 2018-11-28 19:15:56 +09:00
Dean Herbert
ce660b6d67 Add skin de-duplication 2018-11-28 19:01:22 +09:00
smoogipoo
542a75d076 Add index on online score id 2018-11-28 18:56:20 +09:00
smoogipoo
219929eb47 Score -> ScoreInfo 2018-11-28 18:33:01 +09:00
smoogipoo
4ba7690e04 Initial scoremanager/scorestore structure 2018-11-28 16:50:16 +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
smoogipoo
dc31736db7 Add explicit foreign key property to INamedFileInfo 2018-11-28 13:45:56 +09:00
smoogipoo
14ff4bc26a Move primary key attribute to IHasPrimaryKey 2018-11-28 13:19:23 +09:00
smoogipoo
c5d2dc2f6a Remove unnecessary newline 2018-11-28 13:05:17 +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
50b8daf939 Fix threads being cross-disposed from DatabaseContextFactory 2018-08-22 14:07:52 +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
b38da34da9 Fix resetting database failing due to incorrect disposal logic 2018-07-24 12:13:48 +02:00
Dean Herbert
fc6deb6ab5 Merge remote-tracking branch 'upstream/master' into peppy-fix-model-import 2018-07-20 16:42:46 +09:00
Dean Herbert
0c24244340 Remove SingletonContextFactory
It is dangerous to use this as it doesn't correctly handle contexts and can cause issues that will never actually arise in normal execution.

# Conflicts:
#	osu.Game/Database/SingletonContextFactory.cs
2018-07-18 16:50:56 +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
4a19f22b3d Remove custom migration exception
This was hiding the true error message from ever hitting logs.
Made to help disagnose #2711.
2018-06-15 13:38:42 +09:00
Dan Balasescu
b59c45ca57
Merge branch 'master' into fix-database-migration-failure 2018-06-06 22:44:35 +09:00
Dean Herbert
a60c888ae5 Add comment about reasoning for local context variable 2018-06-06 22:05:25 +09:00
Dean Herbert
3b03a25ea5 Fix beatmaps with subfolders importing incorrectly on windows
Closes #2718.
2018-06-05 11:36:44 +09:00
Dean Herbert
3a823d6c25 Fix multiple issues causing database reset to fail 2018-06-04 02:12:16 +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
4a7de043e0 Recycle all contexts on beginning a write operation for the time being 2018-05-30 13:43:25 +09:00
Dean Herbert
e23e2bd348 Fix recycling never being performed due to incorrect ordering 2018-05-30 13:37:52 +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
de8c4e6d56 Remove unique constraints on hash columns
We are going to allow multiple instances of the same beatmap info hash as they could be in different beatmap sets.
2018-05-29 16:26:32 +09:00
Dean Herbert
c1f416b1cc Add back missing rethrow 2018-05-29 16:23:38 +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
72da640059 Change order of event firing in Update calls
A remove event should not be fired before the update is successful.
2018-05-29 16:23:38 +09:00
Dean Herbert
80806be047 Don't start transactions for migration
It looks like transactions are used internally during migration.
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
d4e7f08c20 Bring entity framework up-to-date and re-enable transactions 2018-05-29 16:23:27 +09:00
Dean Herbert
2a87b851fa Add proper transaction rollback logic on exception 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
5159127bce Fix SQLite failing to initialize on test projects 2018-03-26 18:07:09 +09:00
Dean Herbert
0e669c9a3f Fix many warnings 2018-03-24 18:23:22 +09:00
smoogipoo
ffa712dccb Fix post-merge issues 2018-03-24 15:19:45 +09:00
smoogipoo
c29f7a4333 Merge remote-tracking branch 'origin/master' into netstandard 2018-03-24 14:49:46 +09:00
Dean Herbert
b8022070e8 Merge remote-tracking branch 'upstream/master' into beatmap-as-a-skin 2018-03-22 16:24:56 +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
5104ba8118
Merge branch 'master' into beatmap-as-a-skin 2018-03-22 13:45:30 +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
dbcf755618 Make Beatmaps parsable as skins 2018-03-20 16:05:29 +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
e9c5834387 Add query method for now 2018-02-23 13:26:01 +09:00
Dean Herbert
402d71a8d9 Add user skin setting storage 2018-02-22 16:29:05 +09:00
Dean Herbert
4c14b32783 Add basic skin database model layout and importing 2018-02-22 15:46:11 +09:00
Dean Herbert
57e61b0b0e Update xmldoc 2018-02-19 14:50:42 +09:00
Dean Herbert
8b89735e9e Improve xmldoc for DatabaseContextFactory.Get 2018-02-19 14:17:41 +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
1b13be1372 Cleanups and xmldoc additions 2018-02-15 16:24:14 +09:00
Dean Herbert
89cf794f98 Add a lower level ConsumableItems implementation 2018-02-15 16:15:40 +09:00
Dean Herbert
671475f3b4 Ensure undeleted items are populated with includes before firing events 2018-02-15 16:15:40 +09:00
Dean Herbert
e51450a064 Fix query construction 2018-02-15 15:24:28 +09:00
Dean Herbert
fe5df663be Add more xmldoc 2018-02-15 15:14:46 +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
Dean Herbert
6ff63c2f0c Move deletion to ArchiveModelImportManager 2018-02-15 14:22:39 +09:00
Dean Herbert
e0d28564d0 Move import logic to shared implementation 2018-02-15 14:22:39 +09:00