Dean Herbert
aa65b73f19
Merge branch 'master' into add-notif-externalbutton
2022-07-28 12:17:36 +09:00
Dean Herbert
f44a4c8652
Reorder file content to match expectations
2022-07-28 12:13:47 +09:00
Dean Herbert
f01c397220
Apply nullability
2022-07-28 12:12:46 +09:00
Andrew Hong
f097064eea
Adjust to reviews
2022-07-27 21:52:38 -04:00
Andrew Hong
ac39d3a142
"Copied URL" -> "URL copied"
2022-07-27 21:52:28 -04:00
Nitrous
9088caa377
move LegacyComboCounter
to osu.Game.Skinning
2022-07-28 08:36:26 +08:00
Nitrous
45c11f2b7b
account for gameplay start time
2022-07-28 08:01:38 +08:00
Dean Herbert
804bb33aed
Hook up remaining data flows
2022-07-27 19:35:09 +09:00
Dean Herbert
438067a18b
Convert realm data propagation to more correctly use Live<T>
...
wip
2022-07-27 19:35:09 +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
Nitrous
a222278710
remove unused using
2022-07-27 16:01:35 +08:00
Nitrous
37e642b0bd
make SongProgress
abstract
...
- move unrelated logic to `DefaultSongProgress`
- make `LegacySongProgress` inherit `SongProgress`
2022-07-27 15:19:21 +08:00
Nitrous
a12676c25d
scale down graph from bleeding through border
2022-07-27 14:35:18 +08:00
Andrew Hong
2d4655f61e
Add Toast Notification to Copy URL
2022-07-27 02:25:40 -04:00
Dean Herbert
6b73f7c7ec
Split out legacy import path from realm manager
2022-07-27 15:04:09 +09:00
Dean Herbert
e6a3659581
Guard against NewModifiedIndices
being empty
2022-07-27 14:23:47 +09:00
Dean Herbert
24d75612e2
Always attempt to follow selection, even if difficulty name / metadata change
2022-07-27 14:18:53 +09:00
Dean Herbert
d8e605d8aa
Fix broken tests due to badly reimplemented copy-pasted code
2022-07-27 13:58:01 +09:00
Dean Herbert
62ca3aada6
Transfer TODO comment across to copy-pasted implmentation
2022-07-27 13:53:27 +09:00
Dean Herbert
b803ec543f
Remove unused combo
DI retrieval
2022-07-27 13:50:03 +09:00
Dean Herbert
8105d4854a
Fix beatmap carousel not maintaining selection if currently selected beatmap is updated
2022-07-27 13:33:48 +09:00
Nitrous
842ab3c5c1
remove unused using
2022-07-27 09:41:58 +08:00
Nitrous
3abf44da91
Merge branch 'master' into pie-chart-progress
2022-07-27 08:53:23 +08:00
Nitrous
a2320aeb27
replace SongProgress
with LegacySongProgress
2022-07-27 08:52:27 +08:00
Nitrous
6b0f3674c3
implement LegacySongProgress
2022-07-27 08:51:55 +08:00
Dean Herbert
c30e8047ab
Merge pull request #19375 from novialriptide/contextmenu-external-beatmap
...
Add ContextMenu to beatmap external link
2022-07-26 19:06:10 +09:00
Dan Balasescu
b47f674ddb
Merge pull request #19400 from peppy/button-select-allow-more
...
Always allow selecting the top-most button using the select binding
2022-07-26 18:49:42 +09:00
Dan Balasescu
bc60552694
Merge pull request #19402 from peppy/debugger-attached-audio-warning-disable
...
Don't show audio playback issue notification if debugger is attached
2022-07-26 18:49:33 +09:00
Dan Balasescu
8f7dff5c2c
Merge pull request #19378 from peppy/beatmap-update-test
...
Add separate beatmap update flow to handle edge cases better
2022-07-26 18:49:20 +09:00
Dean Herbert
e782590b3c
Don't show audio playback issue notification if debugger is attached
...
I've hit this countless times recently when debugging during the startup
procedure.
2022-07-26 18:20:46 +09:00
Dean Herbert
9173271900
Fix new update pathway not actually being used
2022-07-26 17:58:09 +09:00
Dean Herbert
1539fa704b
Always allow selecting the top-most button using the select binding
2022-07-26 17:46:23 +09:00
Dean Herbert
6ff44ed2c6
Merge pull request #19399 from frenzibyte/carousel-order-stability
...
Maintain sort stability by using carousel item ID as a fallback
2022-07-26 17:33:30 +09:00
Dean Herbert
7f75184a01
Merge branch 'master' into beatmap-update-test
2022-07-26 17:27:36 +09:00
Andrew Hong
003aec86ae
Rearrange sizeaxes
2022-07-26 04:27:22 -04:00
Andrew Hong
aaf6ec05bb
Remove notification upon copy
2022-07-26 04:19:54 -04:00
Dean Herbert
4c22b55ce3
Fix incorrect handling if an update is processed with no changes
2022-07-26 17:00:28 +09:00
Dan Balasescu
412d42b907
Merge pull request #19393 from peppy/fix-statistics-panel
...
Avoid potential realm fetch after disposal in `StatisticsPanel`
2022-07-26 16:32:59 +09:00
Salman Ahmed
a4f6f2b9eb
Make item ID comparer static
2022-07-26 09:55:37 +03:00
Dean Herbert
9939866f7d
Revert one more missed change
2022-07-26 15:54:10 +09:00
Dean Herbert
8370ca9765
Add ImportAsUpdate
method to IModelImporter
to avoid otehr changes
2022-07-26 15:49:04 +09:00
Salman Ahmed
693ac8750c
Remove remaining uses of "child" terminology in non-drawable components
2022-07-26 09:43:47 +03:00
Salman Ahmed
d7ef4170be
Maintain sort stability by using carousel item ID as fallback
2022-07-26 09:40:41 +03:00
Dean Herbert
4efe09e7c2
Merge pull request #19377 from frenzibyte/fix-timeline-tests
...
Fix intermittent timeline zoom test failures
2022-07-26 15:18:35 +09:00
Dean Herbert
99bdf41717
Avoid potential realm fetch after disposal in StatisticsPanel
...
As seen at https://github.com/ppy/osu/runs/7513799859?check_suite_focus=true .
2022-07-26 15:12:23 +09:00
Dan Balasescu
1b2158ff04
Remove unused method
2022-07-26 14:15:59 +09:00
Dean Herbert
ef10145d6f
Rename MenuCursorContainer
and clean up code
2022-07-26 14:11:52 +09:00
Dean Herbert
ee0c67e114
Add ability to make cursor show even during touch input
...
I completely disagree with this from a UX perspective, but it's come up
so often that I figure we should just let users bone themselves.
2022-07-26 14:08:00 +09:00
Andrew Hong
a8e315abf0
Refactor
2022-07-25 17:16:33 -04:00
Andrew Hong
46c4e78477
Add notification and another menuitem
2022-07-25 16:59:00 -04:00
Dean Herbert
d41ac36a69
Fix scenario where import is expected to be empty
2022-07-25 23:59:27 +09:00
LukynkaCZE
a7c92fe5d6
Merge branch 'ppy:master' into add-missing-icons-to-recent-profile-section
2022-07-25 14:56:00 +02: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
2363a3fb7b
Persist DateAdded
over beatmap updates
2022-07-25 19:51:19 +09:00
Dean Herbert
e5ad07454c
Ensure previous version prior to update loses online info after marked pending delete
2022-07-25 19:51:19 +09:00
Dean Herbert
912218e123
Ensure scores are transferred after beatmap update if difficulty hash didn't change
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
6a3e8e31de
Centralise calls to reset online info of a BeatmapInfo
2022-07-25 19:51:19 +09:00
Salman Ahmed
1b6ebcfd87
Remove SubmittableScore
and replace with SoloScoreInfo
extension method
2022-07-25 13:43:43 +03:00
Salman Ahmed
d04df19c7e
Remove APIScore
and replace its final usage
2022-07-25 13:13:46 +03:00
Dan Balasescu
068063a43a
Merge pull request #19371 from peppy/fix-working-cache-invalidation
...
Fix calls to `GetWorkingBeatmap` invalidating cache too often
2022-07-25 18:29:46 +09:00
Dan Balasescu
1d48cee230
Merge pull request #19373 from peppy/fix-negative-star-rating-display
...
Fix star ratings which are still being calculated showing as "-1" at song select
2022-07-25 18:20:30 +09:00
Dan Balasescu
6937296192
Merge pull request #19374 from peppy/fps-counter-no-scheduler
...
Refactor `FPSCounter` to not use scheduled tasks
2022-07-25 18:19:59 +09:00
Salman Ahmed
48bcf57066
Mark SetupZoom
and parameterless ZoomableScrollContainer
ctor as protected
2022-07-25 12:07:50 +03:00
Salman Ahmed
07c6b44864
Fix Timeline
attempting to setup zoom with unloaded track
2022-07-25 12:07:50 +03:00
Salman Ahmed
123930306b
Refactor ZoomableScrollContainer
to allow setting up zoom range and initial zoom after load
2022-07-25 12:07:50 +03:00
Salman Ahmed
678acabf7e
Merge branch 'master' into log-diffcalc-failure
2022-07-25 11:16:31 +03:00
Andrew Hong
f1534da683
Formatting issues
2022-07-25 04:13:05 -04:00
Andrew Hong
fcf767e28b
Add contextmenu to beatmap external link
2022-07-25 04:07:33 -04:00
Dean Herbert
2dd99ef1fd
Refactor FPSCounter
to not use scheduled tasks
...
While on the surface this looks harmless (ignoring allocations),
`Scheduler` doesn't clear cancelled tasks until they reach their
execution time. This can cause an increase in time spent processing the
scheduler itself.
I don't think a per-frame updating component should use scheduled tasks
in this way in the first place, so I've just rewritten the logic to
avoid that overhead altogether.
2022-07-25 16:26:48 +09:00
Salman Ahmed
4d90e6bbac
Flip method to read better
2022-07-25 10:03:06 +03:00
Dean Herbert
6bf2645b1a
Fix StarRatingDisplay
not handling negative numbers as "pending"
2022-07-25 15:44:54 +09:00
Salman Ahmed
e402e919ab
Display placeholder for user profile scores
2022-07-25 09:40:20 +03: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
Salman Ahmed
f54cee0270
Display placeholder for leaderboard top scores
2022-07-25 09:18:04 +03:00
Salman Ahmed
91d1c9686c
Separate unprocessed PP placeholder to own class
2022-07-25 09:07:51 +03:00
Salman Ahmed
54eb2b98a9
Display exclamation triangle on scores with unprocessed PP
2022-07-25 07:30:57 +03:00
Salman Ahmed
3beb1da3de
Merge branch 'master' into beatmap-overlay-null-pp
2022-07-25 07:18:03 +03:00
Dean Herbert
12e2e63a1c
Merge pull request #19349 from bdach/mod-overlay/presets-column
...
Implement basic appearance of mod preset column
2022-07-25 13:10:47 +09:00
Dan Balasescu
3d97b74813
Log beatmap difficulty retrieval failures during score calculation
2022-07-25 13:03:47 +09:00
Salman Ahmed
fa9daa6899
Fix TestSceneReplayRecorder
not using score provided by gameplay state
2022-07-25 05:21:27 +03:00
Salman Ahmed
e0266b0d81
Reword comment slightly
2022-07-25 04:39:14 +03:00
Salman Ahmed
f5a5887669
Fix players potentially not displaying in spectator after restart
2022-07-25 04:21:53 +03:00
Bartłomiej Dach
446485f804
Move localisation string to common location
2022-07-24 23:30:52 +02:00
Bartłomiej Dach
8af9cfbe40
Add readonly modifier
2022-07-24 23:29:18 +02:00
Bartłomiej Dach
6a67d76d7c
Add basic mod preset column implementation
2022-07-24 16:39:04 +02:00
Bartłomiej Dach
b2f8934117
Extract base mod select column presentation logic
2022-07-24 16:39:03 +02:00
Salman Ahmed
4332e6cae9
Fix OsuSliderBar
throwing on negative draw width
2022-07-24 08:34:24 +03:00
Salman Ahmed
7c477e6f22
Fix beatmap overlay leaderboard not handling null PP scores properly
2022-07-24 04:20:49 +03:00
LukynkaCZE
1aa0d49d81
Code Quality
2022-07-23 12:27:24 +02:00
Dean Herbert
f1791e79e3
Add error logging for background processing failures
2022-07-23 19:22:16 +09:00
LukynkaCZE
9db06fafd0
Fix code formatting
2022-07-23 12:16:11 +02:00
LukynkaCZE
33b442d5d0
Add missing icons to UserProfileRecentSection
2022-07-23 12:06:30 +02:00
Salman Ahmed
836cb0927c
Merge branch 'master' into disable-backgorund-beatmap-processor-for-tests
2022-07-23 11:55:24 +03:00
Salman Ahmed
840ad8fad2
Fix background beatmap processor resetting star ratings in tests
2022-07-23 11:10:59 +03:00
Salman Ahmed
2829a7e836
Merge branch 'master' into beatmap-overlay-modded-stats
2022-07-23 10:38:13 +03:00
Salman Ahmed
661c79baf6
Add explanatory comment
2022-07-23 10:16:11 +03:00
Adam Baker
06462c13dd
Overwrite IBindable<ReadOnlyList<Mod>> cache in BeatmapSetOverlay
...
Implement fix as suggested
2022-07-22 23:15:24 -05:00
Adam Baker
d451bc8fda
Revert commits
...
This reverts commit 28586c704d
.
This reverts commit d9d35bb847
.
2022-07-22 22:25:49 -05:00
Dean Herbert
98593fbba1
Merge pull request #19287 from bdach/mod-overlay/preset-panel
2022-07-23 11:18:51 +09:00
Dean Herbert
db632c0d6e
Inline rolling duration
2022-07-23 02:38:00 +09:00
Dean Herbert
475679ca66
Fix DI failure
2022-07-23 02:27:47 +09:00
Dean Herbert
bb46ba66e0
Simplify TotalScoreCounter
tick playback logic
2022-07-23 02:27:17 +09:00
Bartłomiej Dach
d0e15d04cc
Merge branch 'master' into mod-overlay/preset-panel
2022-07-22 19:23:09 +02:00
Bartłomiej Dach
f3ceabc53f
Rename ModSelect{Overlay -> }Panel
2022-07-22 19:17:22 +02:00
Dean Herbert
9f045209b9
Simplify score panel balance adjustment
2022-07-23 02:09:08 +09:00
Dean Herbert
e08e4fc426
Update framework
2022-07-23 00:04:14 +09:00
Dean Herbert
9c0d793896
Update resources
2022-07-23 00:04:11 +09:00
Jamie Taylor
62d4d4b055
Add dynamic panning fun to score panel sfx
2022-07-22 21:03:47 +09:00
Jamie Taylor
89da21b6de
Add total score counter sfx
2022-07-22 21:03:47 +09:00
Jamie Taylor
6ce8e74e6b
Add panel appearance sounds
2022-07-22 21:03:46 +09:00
Dan Balasescu
d9105c9785
Merge pull request #19272 from peppy/beatmap-background-reprocessing
...
Add background beatmap processing
2022-07-22 20:33:26 +09:00
Dean Herbert
63fe4f265f
Merge pull request #19263 from frenzibyte/fix-failed-score-statistics
...
Populate failed scores with "miss" results for all remaining hitobjects
2022-07-22 20:16:16 +09:00
Adam Baker
d9d35bb847
Set BeatmapSetHeaderContent details to not show modded values
2022-07-22 05:43:56 -05:00
Adam Baker
28586c704d
Add showModdedValue parameter to StatisticRow
2022-07-22 05:43:05 -05:00
Dean Herbert
bfafb4480e
Merge pull request #19296 from smoogipoo/fix-timeline-focus-point
...
Fix timeline zoom focus point when using zoom buttons
2022-07-22 17:43:36 +09:00
Dan Balasescu
1d69090301
Merge pull request #19295 from frenzibyte/filter-control-available-area
...
Fix sorting mode not filling up to usable area in filter control
2022-07-22 17:20:40 +09:00
Dan Balasescu
83f696e757
Merge pull request #19279 from peppy/fps-counter-cleanup
...
Cleanup pass on `FPSCounter`
2022-07-22 17:20:32 +09:00
Dan Balasescu
e1df50c8ff
Fix timeline zoom focus point when using buttons
2022-07-22 17:03:05 +09:00
Dean Herbert
72916d708c
Merge pull request #19294 from peppy/fix-timeline-feedback-loop
...
Fix timeline `alt`+`scroll` zoom not correctly zooming to current mouse position
2022-07-22 16:05:38 +09:00
Dean Herbert
be0d73f951
Merge branch 'master' into fps-counter-cleanup
2022-07-22 15:39:37 +09:00
Dean Herbert
1774a96455
Merge pull request #19278 from Cwazywierdo/timeline-relative-zoom
...
Make editor timeline zoom relative to song length
2022-07-22 15:37:47 +09:00
Dan Balasescu
5444ce0cc9
Merge pull request #19277 from peppy/fps-counter-no-rolling-counter
...
Avoid using `RollingCounter` in fps counter
2022-07-22 15:28:13 +09:00
Dean Herbert
6eb42d08ce
Fix timeline zoom receiving feedback from bindable changes
...
This causes the focal point zooming to not work (as the focal point is
lost). There's no need to handle ongoing changes to
`BeatmapInfo.TimelineZoom` because it is not a property which is changed
at runtime.
2022-07-22 15:25:57 +09:00
Salman Ahmed
3b913bb9ad
Fix sorting mode not filling up to usable area in filter control
2022-07-22 09:15:48 +03:00
Dean Herbert
4cec9a085a
Combine both calls to use same pathway
2022-07-22 14:59:20 +09:00
Dan Balasescu
f87efae115
Merge pull request #19293 from peppy/skin-editor-save-hotkey
...
Add the ability to save in the skin editor using system save hotkey
2022-07-22 14:43:34 +09:00
Dean Herbert
f713253d1b
Fix formatting inconsistencies in empty ctor
s
2022-07-22 14:00:29 +09:00
Dean Herbert
92f59ce9a0
Add the ability to save in the skin editor using system save hotkey
2022-07-22 13:10:18 +09:00
LukynkaCZE
ed94d7fce8
Fix requested changes
2022-07-22 02:46:17 +02:00
Adam Baker
997fe00cdc
Fix zoom delta math
2022-07-21 17:29:13 -05:00
Adam Baker
d69dc457ba
Extract zoom delta method
2022-07-21 17:28:43 -05:00
LukynkaCZE
ebe386c288
Merge branch 'ppy:master' into editor-save-toast
2022-07-22 00:25:23 +02:00
Bartłomiej Dach
a3090003de
Add tooltip showing contents of mod preset
2022-07-21 23:29:21 +02:00
Bartłomiej Dach
bdff7f1ef4
Implement basic appearance of mod preset panels
2022-07-21 23:29:21 +02:00
Bartłomiej Dach
de0a076eb6
Add model class for mod presets
2022-07-21 23:29:21 +02:00
Bartłomiej Dach
6cd18fad99
Fix code inspections after base panel class extraction
2022-07-21 23:29:08 +02:00
Bartłomiej Dach
d796b7d53c
Extract base mod select overlay panel presentation logic
2022-07-21 22:37:00 +02:00
Dean Herbert
b9f5074c13
Merge branch 'fps-counter-no-rolling-counter' into fps-counter-cleanup
2022-07-22 02:22:01 +09:00
Dean Herbert
b3aa496ba7
Add handling of realm disposed exceptions
2022-07-22 00:14:30 +09:00
Dean Herbert
0eeafea500
Increase responsiveness to change slightly
2022-07-21 23:37:32 +09:00
Dean Herbert
c140601c2d
Cleanup pass on FPSCounter
2022-07-21 23:02:31 +09:00
Dean Herbert
fc6445caea
Rate limit updates for good measure
2022-07-21 22:55:45 +09:00
Dean Herbert
3d2603e0eb
Remove unused classes
2022-07-21 22:51:35 +09:00
Dean Herbert
3fad481a96
Avoid using RollingCounter
in fps counter
...
It wasn't made to be updated every frame, and it shows. Inaccurate for
reasons I'm not really interested in investigating, because I don't want
to incur the `Transorm` overhead in the first place for an fps counter.
Was only used originally out of convenience.
2022-07-21 22:50:02 +09:00
Adam Baker
a4f071fe53
Make zoom sensitivity relative to containers max zoom
2022-07-21 08:26:48 -05:00
Dean Herbert
5db4d9437a
Add missing using statement
2022-07-21 21:39:24 +09:00
Dan Balasescu
6fac34c721
Merge pull request #19274 from peppy/fix-fps-counter-fps-inaccuracy
...
Fix draw FPS being inaccurate due to using `ElapsedFrameTime`
2022-07-21 20:55:14 +09:00
Dan Balasescu
2001d79bb2
Merge pull request #19269 from peppy/fix-update-button-test-failure
...
Fix `UpdateBeatmapSetButton` intermittent test failure
2022-07-21 20:36:00 +09:00
Dean Herbert
4c4939d18d
Fix draw FPS being inaccurate due to using ElapsedFrameTime
...
Had a feeling this would be the case.
Basically, we're calculating on the update thread and checking the last
value of draw thread's `ElapsedFrameTime`. In the case that value is
spiky, a completely incorrect fps can be displayed.
I've left the spike display do use `ElapsedFrameTime`, as
`FramesPerSecond` is too averaged to see spikes.
2022-07-21 19:17:58 +09:00
Dean Herbert
fb728fbed1
Fix FPS counter not being wide enough to show large fps numbers
2022-07-21 18:56:39 +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
1374738a0d
Add test coverage
2022-07-21 18:20:46 +09:00
Dean Herbert
d5e0dba9da
Change default value of StarRating
to -1
2022-07-21 18:20:46 +09:00
Dean Herbert
04f48d8862
Add better log output and sleeping during gameplay sections
2022-07-21 18:20:46 +09:00
Dean Herbert
57a41c6897
Add basic background processor
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
Dean Herbert
aca19a005e
Add versioning to difficulty calculators
2022-07-21 18:15:25 +09:00
Salman Ahmed
559254db31
Merge branch 'master' into fix-update-button-test-failure
2022-07-21 11:15:43 +03:00
Salman Ahmed
aa7c16ee5f
Merge branch 'master' into change-carousel-item-terminology
2022-07-21 10:29:13 +03:00
Dan Balasescu
defadeef47
Merge pull request #19250 from peppy/fps-counter
...
Add game-side FPS counter
2022-07-21 16:26:38 +09:00
Dean Herbert
fc0c9f76bd
Fix UpdateBeatmapSetButton
intermittent test failure
...
Carousel would only expire items when off-screen. This meant that for a
case (like a test) where items are generally always on-screen,
`UpdateBeatmapSet` calls would result in panels remaining hidden but not
cleaned up.
2022-07-21 16:24:48 +09:00
Dean Herbert
3cfe624af1
Fix one more missed method with incorrect terminology
2022-07-21 16:16:41 +09:00
Dean Herbert
a05d7f4d8c
Change carousel terminology to not use Children
/ InternalChildren
2022-07-21 16:06:06 +09:00
Dean Herbert
07e1763a70
Tweak velocity a bit more (and simplify in multiple places)
2022-07-21 14:25:11 +09:00
Salman Ahmed
a97170a272
Keep Rank
bindable enabled on score fail
2022-07-21 08:16:17 +03:00
Salman Ahmed
9df49db45f
Include bonus/ignore judgements in statistics fill logic
2022-07-21 08:13:09 +03:00
Salman Ahmed
ad09e728fd
Move Passed
assignment inside FailScore
2022-07-21 08:12:06 +03:00
TacoGuyAT
2f16174d3d
Changed control points set to private; Cleanup
2022-07-21 07:25:44 +03:00
Salman Ahmed
c1bcbd9c8a
Fix fail score not handling bonus/tick-only beatmaps
2022-07-21 07:20:59 +03:00
Dean Herbert
56106e43d2
Avoid div-by-zero
2022-07-21 13:06:43 +09:00
Dean Herbert
311a0a3de0
Always show counter temporarily when aim FPS changes
2022-07-21 12:57:40 +09:00
Dean Herbert
705ff06ea5
Better handle spikes and significant changes
2022-07-21 12:50:39 +09:00
Dean Herbert
285516b111
Fix isDisplayed
never actually being set
2022-07-21 12:40:27 +09:00
TacoGuyAT
d6c3a52494
Added missing braces
2022-07-21 06:38:33 +03:00
TacoGuyAT
ed8e065a86
Logo triangles speed and beat sync tweaks
2022-07-21 06:13:45 +03:00
Dean Herbert
728e22fbce
Improve tooltip display when running single thread
2022-07-21 12:06:22 +09:00
Salman Ahmed
0f0b19da4a
Populate score with remaining "miss" statistics on fail/exit
2022-07-21 06:01:36 +03:00
Salman Ahmed
c4089b71bd
Store maximum score results from simulated autoplay
2022-07-21 06:00:41 +03:00
Dean Herbert
e1a577ea48
Adjust spacing to make things feel more even
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-21 11:59:51 +09:00
Dean Herbert
57ecc3a6df
Remove unnecessary negative spacing from thread names
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-21 11:59:26 +09:00
Dean Herbert
c7313b4198
Fix alignment glitching due to non-matching anchor/origin
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-21 11:58:28 +09:00
Dean Herbert
75453b78c0
Adjust colours and metrics
2022-07-21 00:09:46 +09:00
Dean Herbert
f54aff2ece
Add global key binding for FPS toggle
2022-07-21 00:09:46 +09:00
Dean Herbert
0a1744faca
Add to game and bind with configuration setting
2022-07-20 23:49:19 +09:00
Dean Herbert
0fb959a565
Stay displayed while hovering
2022-07-20 23:49:19 +09:00
Dean Herbert
03e644e548
Choose colours based on relative performance goals
2022-07-20 23:49:19 +09:00
Dean Herbert
0c3d43026d
Add initial structure for fps counter
2022-07-20 23:49:19 +09:00
Dan Balasescu
7dfc18a0e3
Merge pull request #19208 from frenzibyte/remove-score-multiplier-on-custom-mod-settings
...
Remove score multiplier on difficulty-increasing mods with customised settings
2022-07-20 20:12:59 +09:00
Dean Herbert
62133fa069
Merge pull request #19246 from frenzibyte/fix-wiki-navigation
...
Fix wiki overlay not handling path redirection properly
2022-07-20 20:08:11 +09:00
Dan Balasescu
2b399ec7ad
Merge branch 'master' into date-submitted-ranked
2022-07-20 18:36:57 +09:00
Salman Ahmed
5e933cb466
Improve comment wording
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-07-20 09:43:32 +03:00
Dan Balasescu
de29078db2
Remove nullable disables
2022-07-20 15:16:40 +09:00
Dan Balasescu
f9c02c34b6
Merge branch 'master' into beatmap-update-online-flow
2022-07-20 15:15:51 +09:00
Salman Ahmed
474c1a8a7a
Fix wiki overlay not handling path redirection properly
2022-07-20 09:06:11 +03:00
Salman Ahmed
e7f35701db
Add failing test case
2022-07-20 09:06:11 +03:00
Salman Ahmed
6ce6f6f7df
Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings
2022-07-20 08:57:43 +03:00
Dean Herbert
af4d7feb9b
Merge pull request #19244 from frenzibyte/highlight-perfect-ticks
...
Highlight perfect slider tick/end values in beatmap info leaderboards
2022-07-20 14:44:03 +09:00
Dan Balasescu
6c0d7f8099
Merge pull request #19235 from andy840119/remove-nullable-disable-in-the-mods
...
Remove nullable disable annotation in the mods.
2022-07-20 14:39:32 +09:00
Dan Balasescu
c4e32742dc
Merge pull request #19234 from Cwazywierdo/edit-map-carousel
...
Fix multiplayer map selection carousel opening to wrong map
2022-07-20 13:53:41 +09:00
Dean Herbert
2a76a04619
Update framework
2022-07-20 13:41:36 +09:00
Dan Balasescu
1fae683b33
Merge pull request #19240 from peppy/fix-mouse-floating-position
...
Fix floating mouse position not running correctly in single thread mode
2022-07-20 13:32:21 +09:00
Dan Balasescu
ebb9861377
Merge branch 'master' into remove-nullable-disable-in-the-mods
2022-07-20 13:28:28 +09:00
Adam Baker
cecf654a7b
Update osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerMatchSubScreen.cs
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-19 18:58:59 -05:00
Salman Ahmed
ae6aab2555
Merge branch 'master' into edit-map-carousel
2022-07-20 02:43:47 +03:00
Salman Ahmed
990d3ffb39
Merge branch 'master' into fix-editor-clap-finish-order
2022-07-20 02:26:40 +03:00
Salman Ahmed
1270abdf42
Highlight perfect slider tick/end values in beatmap info leaderboards
2022-07-20 00:53:10 +03:00
LukynkaCZE
5987acfbca
Fixed code formatting
2022-07-19 22:59:25 +02:00
LukynkaCZE
51a0b5afdc
Skin Editor
2022-07-19 22:18:19 +02:00
LukynkaCZE
a00da279b7
Beatmap Editor Save Toast
2022-07-19 21:38:23 +02:00
Salman Ahmed
4210ec6502
Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings
2022-07-19 19:21:26 +03:00
Salman Ahmed
89653b74c7
Only add setting tracker when customisation is permitted
2022-07-19 19:21:16 +03:00
Dean Herbert
7be5c638e4
Fix floating mouse position not running correctly in single thread mode
...
Noticed while testing on iOS. Previously, the interpolation was being
done in input handling but using the update thread clock, leading to
incorrect application.
2022-07-20 00:22:45 +09:00
Dean Herbert
87afa7317b
Update framework
2022-07-19 23:12:49 +09:00
Dean Herbert
25028bb7fa
Fix editor clap/finish buttons being ordered against expectations
2022-07-19 22:36:11 +09:00
Adam Baker
4164f260b3
Fix code quality errors
2022-07-19 08:12:12 -05:00
為什麼
317558f876
Mark the shader as non-nullable because shader should always has the value.
...
And initialize the breaks to avoid get the null instance.
2022-07-19 20:39:41 +08:00
為什麼
3af093cb27
Remove the null check because bindable should always have the value.
2022-07-19 20:39:41 +08:00
為什麼
ce1bb206c8
Initialize some bindables for prevent get the null instance.
2022-07-19 20:39:41 +08:00
andy840119
1f9f2b413e
Remove the nullable disable annotation.
...
Also, mark as nullable for some properties.
2022-07-19 20:39:41 +08: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
07874efa7f
Set last online update to actual value provided by data source
2022-07-19 19:39:51 +09:00
Dean Herbert
17046b0553
Add basic handling of download failures
2022-07-19 19:01:23 +09:00
Dean Herbert
a16bf35581
Rename button class and add basic progress display
2022-07-19 18:29:36 +09:00
Dean Herbert
da360af15a
Fix vertical centering of button
2022-07-19 18:29:36 +09:00
Dean Herbert
eaf4f6dbb7
Add beatmap update button
2022-07-19 18:29:36 +09:00
Dean Herbert
6adcf82d2e
Add change ingester to handle passing of online changes to correct target components
2022-07-19 17:57:01 +09:00
Dean Herbert
cd39f444ef
Expose event from OnlineMetadataClient
rather than calling BeatmapUpdater
directly
2022-07-19 17:57:01 +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
12e5bc3f3d
Fix BeginPlayingInternal
firing actual errors when beatmap not available online
2022-07-19 17:14:57 +09:00
Adam Baker
5008a73774
Make add item button open to the last beatmap in queue
2022-07-19 02:04:19 -05:00
Dean Herbert
2716bd41d9
Use more correct json casing in APIScoresCollection
...
osu-web API is already returning both of these casings for backwards
compatibility, but the former will be removed at some point.
e540276721/app/Http/Controllers/BeatmapsController.php (L314-L315)
2022-07-19 15:34:17 +09:00
Dan Balasescu
c07f78409e
Merge pull request #19189 from peppy/peform-actions-after-reconnect
...
Fix creating multiplayer game during server migration not joining new room correctly
2022-07-19 14:46:29 +09:00
Dean Herbert
8c680643fd
Merge pull request #19225 from frenzibyte/reduce-bindable-allocation
...
Reduce `Bindable` allocations in hitobject classes via lazy initialisation
2022-07-19 14:45:46 +09:00
Adam Baker
59018ab5ba
Fix multiplayer queue edit button opening to the wrong beatmap
2022-07-18 23:21:16 -05:00
Salman Ahmed
8f80a22ef9
Fix osu! and catch hitobjects no longer scaled to 1 by default
2022-07-19 07:00:13 +03:00
Salman Ahmed
5ddb5a3d74
Introduce HitObjectProperty<T>
2022-07-19 05:39:10 +03:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version
2022-07-18 22:34:58 +02:00
Bartłomiej Dach
ffa9a83a4f
Add own fixed copy of defective Humanizer methods
2022-07-18 21:37:31 +02:00
Dean Herbert
afa831f6fe
Update framework
2022-07-19 01:18:09 +09:00
Salman Ahmed
f1133ca8f6
Merge branch 'master' into fix-multiplayer-participant-panel-null-ruleset
2022-07-18 18:15:32 +03:00
Dean Herbert
e14e2cca45
Merge pull request #19212 from peppy/fix-audio-equality-fuck
...
Fix audio/background equality not correctly using `BeatmapInfo` local filenames
2022-07-18 19:28:51 +09:00
Salman Ahmed
2befcfedbb
Merge branch 'master' into fix-multiplayer-participant-panel-null-ruleset
2022-07-18 12:24:47 +03:00
Dean Herbert
0c75245806
Merge pull request #19139 from frenzibyte/score-country-storage
...
Support storing user country on databased scores
2022-07-18 18:13:57 +09:00
Dean Herbert
22a9e7e275
Fix audio/background equality not correctly using BeatmapInfo
local filenames
2022-07-18 17:05:21 +09:00
Salman Ahmed
b5c7d07ba8
Merge branch 'master' into fix-user-profile-overlay
2022-07-18 10:27:33 +03:00
Dean Herbert
b8c90266de
Merge pull request #19209 from 3stantedja/make-contracted-stats-titlecase
...
Make sure stats name are title-cased when score panel is contracted
2022-07-18 16:26:20 +09:00
Dean Herbert
933a41554b
Merge pull request #19187 from peppy/fix-reconnect-new-spectator-session
...
Fix spectator client not correctly reconnecting after shutdown
2022-07-18 16:25:04 +09:00
Dean Herbert
1e151baae8
Use Unknown
instead of default
2022-07-18 16:24:08 +09:00
Dean Herbert
51f91fe62e
Update naming
2022-07-18 16:17:20 +09:00
Dean Herbert
eddf106f7c
Merge branch 'master' into score-country-storage
2022-07-18 16:12:40 +09:00
Dean Herbert
a7f19cc796
Merge pull request #19137 from frenzibyte/country-enum
...
Replace `Country` class with enumeration
2022-07-18 16:12:24 +09:00
Salman Ahmed
e86a35fe33
Fix NRE on footer button mods
2022-07-18 10:09:14 +03:00
Salman Ahmed
045602b27d
Merge branch 'master' into fix-reconnect-new-spectator-session
2022-07-18 09:55:19 +03:00
Salman Ahmed
e4d11febc5
Remove no longer necessary fallback
2022-07-18 09:47:40 +03:00
Dean Herbert
a21cd1cd47
Merge pull request #19169 from tsunyoku/retry-icon
...
Change retry button icon from ArrowCircleLeft to Redo
2022-07-18 15:47:24 +09:00
Salman Ahmed
84c1c26a7f
Merge branch 'master' into fix-user-profile-overlay
2022-07-18 09:45:25 +03:00
Dean Herbert
e8b57379b2
Merge pull request #19210 from peppy/non-null-ended-at
...
Make `SoloScoreInfo.EndedAt` non-null
2022-07-18 15:42:33 +09:00
Salman Ahmed
1b302910b1
Merge branch 'master' into fix-reconnect-new-spectator-session
2022-07-18 09:30:29 +03:00
Dean Herbert
a036632c8b
Fix potential crash when attempting to create mod display using null ruleset
2022-07-18 15:30:21 +09:00
Dean Herbert
21bf7ee448
Turn on nullability in ParticipantPanel
2022-07-18 15:27:55 +09:00
Salman Ahmed
018da74fe8
Replace default
with CountryCode.Unknown
2022-07-18 08:54:35 +03:00
Salman Ahmed
cf99849478
CountryCode.XX
-> CountryCode.Unknown
2022-07-18 08:45:54 +03:00
Salman Ahmed
05d692bd55
Move Country
to end of class
2022-07-18 08:43:41 +03:00
Dean Herbert
566bad0b5f
Make SoloScoreInfo.EndedAt
non-null
...
Seems to already be the case for databased scores. Will be assured by
https://github.com/ppy/osu-web/issues/9116 .
I've updated the `osu-score-statistics-processor` with this
consideration.
2022-07-18 14:42:43 +09:00
Salman Ahmed
ef6e16b1cb
UserCountry
-> Country
2022-07-18 08:40:43 +03:00
Salman Ahmed
100c53f9ef
Country
-> CountryCode
2022-07-18 08:40:34 +03:00
Dean Herbert
0533249d11
Update all OnlineSpectatorCalls
to InvokeAsync
2022-07-18 14:34:02 +09:00
Salman Ahmed
eddae7b143
Fix mod overlay and footer not updating multiplayer on settings change
2022-07-18 07:38:56 +03:00
Salman Ahmed
6bfa5e53e0
Add property for whether mod uses default configuration
2022-07-18 07:29:03 +03:00
Fyra Tedja
6ad7723d60
Make sure stats name are title-cased when score panel is contracted
2022-07-17 22:13:08 -06:00
Salman Ahmed
b33f8aa0fc
Fix "Start Chat" on multiplayer/playlist chat not opening overlay
2022-07-18 06:45:00 +03:00
Salman Ahmed
a1a9132600
Merge branch 'master' into silence-ruleset-config-failures
2022-07-18 05:52:12 +03:00
Salman Ahmed
7e4ce89981
Include mod settings in profile score mod icons
2022-07-18 04:03:18 +03:00
Salman Ahmed
dc8dabfdf1
Merge branch 'master' into silence-ruleset-config-failures
2022-07-18 03:52:40 +03:00
Salman Ahmed
ee98ebf801
Merge branch 'master' into silence-missing-background
2022-07-18 03:46:35 +03:00
Dean Herbert
f8685bf7d6
Merge pull request #19195 from NotGumballer91/make-autoplay-incompatible-with-adaptivespeed
...
Make Autoplay Incompatible with Adaptive Speed
2022-07-18 03:58:48 +09:00
tsunyoku
5875f53e07
remove unused import
2022-07-17 18:16:30 +01:00
tsunyoku
032cc6c670
use type annotation for nullable BeatmapSet
2022-07-17 18:15:36 +01:00
tsunyoku
a5d7075ef1
simplify beatmap metadata logic in DrawableProfileScore
2022-07-17 18:10:47 +01:00
tsunyoku
8791edf84c
set Beatmap.BeatmapSet
to BeatmapSet
property in SoloScoreInfo
2022-07-17 18:10:33 +01:00
Dean Herbert
4e8bf1da52
Don't sent ruleset configuration failures to sentry
2022-07-18 01:23:46 +09:00
NotGumballer91
028653eb97
Update ModAdaptiveSpeed.cs
2022-07-18 00:10:49 +08:00
NotGumballer91
1caab78bdc
Update ModAutoplay.cs
2022-07-18 00:09:31 +08:00
tsunyoku
7a6666996f
rename item
to model
in CreateDrawableItem
2022-07-17 14:50:53 +01:00
tsunyoku
486fbd2531
create instance of BeatmapInfo
for use in ScoreBeatmapMetadataContainer
2022-07-17 14:47:04 +01:00
tsunyoku
c73eff7c89
add BeatmapSet
to SoloScoreInfo
2022-07-17 14:46:22 +01:00
tsunyoku
7135329c8c
remove `PaginatedProfileScoreSubsectio, revert profile score drawables
2022-07-17 14:22:27 +01:00
tsunyoku
c2277031f0
add Beatmap
to SoloScoreInfo
2022-07-17 14:21:55 +01:00
tsunyoku
3a8b5d48b9
update PaginatedScoreContainer
to use new class and format
2022-07-17 14:09:14 +01:00
tsunyoku
ef4237c4ac
create special subsection class for paginated profile scores
2022-07-17 14:08:31 +01:00
tsunyoku
e8d88e29c6
change DrawableProfileScore
and DrawableProfileWeightedScore
to take SoloScoreInfo
and APIBeatmap
instead of APIScore
2022-07-17 14:08:04 +01:00
tsunyoku
1f288157f4
change GetUserScoresRequest
to return SoloScoreInfo
instead of APIScore
2022-07-17 14:07:05 +01:00
Dean Herbert
51071be315
Don't show "missing background" messages to user
...
Bit of an oversight.
As reported on [twitter](https://twitter.com/emyl___/status/1548627793075998720 ) and somewhere else i forgot.
2022-07-17 21:20:51 +09:00
Dean Herbert
55a8a3563b
Change MultiplayerMatchSubScreen
to not immediately leave the room on connection loss
...
Instead, we can rely on `MultiplayerClient.Room` going `null`.
2022-07-17 21:19:10 +09:00
Dean Herbert
da7edd5d49
Perform actions after server reconnection
2022-07-17 21:09:48 +09:00
Dean Herbert
8e7e1e6b51
Fix spectator client not correctly reconnecting after shutdown
2022-07-17 21:07:11 +09:00
Salman Ahmed
9382636da9
Catch and log exceptions from mod setting copy failure
2022-07-17 06:34:50 +03:00
Salman Ahmed
6636e462dc
Fix SoloScoreInfo
not carrying mod settings in conversion methods
2022-07-17 06:18:59 +03:00
tsunyoku
bbb2398a8b
change retry button icon from ArrowCircleLeft to Redo
2022-07-17 00:46:29 +01:00
Dean Herbert
9e945197dc
Use "Unknown" instead of "Alient" for unknown countries
2022-07-16 14:49:14 +09:00
Dean Herbert
5df9f06480
Merge pull request #19136 from frenzibyte/handle-user-request-failure
...
Fix login overlay not displaying error message for disabled accounts
2022-07-16 14:40:28 +09:00
Salman Ahmed
69d967172a
Remove unencessary null coalesce
2022-07-16 06:39:05 +03:00
Salman Ahmed
d0fe4fe15a
Fix user population logic not including country
2022-07-16 06:39:05 +03:00
Salman Ahmed
4e7156cee8
Store user country on databased scores
2022-07-16 06:39:05 +03:00
Salman Ahmed
4968859e69
Rename placeholder display flag property to make sense
2022-07-16 06:07:53 +03:00
Salman Ahmed
9c81241f4c
Fix potential nullref on APIUser.Country
...
We need NRT sooner than later...
2022-07-16 06:02:05 +03:00
Salman Ahmed
08f1280aa8
Add UsedImplicitly
specification to silence unused member inspection
...
Also applied to `Language` while at it.
2022-07-16 05:04:24 +03:00
Salman Ahmed
e62049f4a9
Update various usages of Country
inline with new enum
2022-07-16 05:04:24 +03:00
Salman Ahmed
1b2b42bb8a
Update CountryStatistics
to use code
for country enum
2022-07-16 05:04:24 +03:00
Salman Ahmed
00f4c8052e
Update APIUser
to provide enum from serialised country code
2022-07-16 05:04:24 +03:00
Salman Ahmed
4ea8fd75cc
Replace Country
class with enumeration
2022-07-16 04:41:30 +03:00
Salman Ahmed
20a109a2b3
Merge branch 'master' into update-resources
2022-07-16 00:55:40 +03:00
Salman Ahmed
b42f49aeaa
Handle APIException
from user request during logging in
2022-07-16 00:38:53 +03:00
Salman Ahmed
e6236ba088
Update save score button to check availability after import
...
Previously was relying on whether `SaveReplay` returns null, but since
I've changed it to use the standard "prepare score for import" path, the
button has to check for local availability after import since that path
doesn't return null on fail.
2022-07-15 23:39:52 +03:00
Salman Ahmed
6285442b7d
Fix failed scores not prepared before import
2022-07-15 22:57:12 +03:00
Salman Ahmed
8f7b3cf11a
Merge branch 'master' into Save-Score-Failed
2022-07-15 22:10:19 +03:00
Dean Herbert
c64b5cc48b
Update resources
2022-07-16 02:47:08 +09:00
Salman Ahmed
838e9ec12e
Merge branch 'master' into placeholder-fixes
2022-07-15 20:22:25 +03:00
Dean Herbert
cbbc8fdfb1
Merge pull request #19126 from peppy/lazer-leaderboards
...
Show leaderboard scores from new data source
2022-07-16 01:53:16 +09:00
Dean Herbert
2beed6d7b7
Allow failed scores to fail in replay playback
2022-07-15 20:45:48 +09:00
Dean Herbert
d325c534ab
Check whether score is already imported and show correct state for save button
2022-07-15 20:45:37 +09:00
Dean Herbert
cf38b15332
Merge pull request #19124 from frenzibyte/song-select-metadata-search
...
Change clicking source/tags on song select to filter instead of searching online
2022-07-15 19:16:31 +09:00
Dean Herbert
0200ef1d48
Make delegate firing more safe to being set later than BDL
2022-07-15 19:06:44 +09:00
Dean Herbert
0e788ac714
Simplify bindable logic greatly
2022-07-15 19:02:12 +09:00
Dean Herbert
8a48cb701d
Tidy up implementation and remove unnecessary enum
2022-07-15 19:02:04 +09:00
Dean Herbert
ab6665d88c
Merge branch 'master' into Save-Score-Failed
2022-07-15 18:02:58 +09:00
Dean Herbert
e12e480393
Only expose bindable string rather than full textbox
2022-07-15 18:01:35 +09:00
Dean Herbert
105ffdbbdd
Update framework
2022-07-15 17:57:14 +09:00
Dean Herbert
437e01427c
Fix beatmap listing not entering correct search mode when arriving before LoadComplete
2022-07-15 17:53:44 +09:00
Dean Herbert
ba0a158740
Show search online prompt even when no beatmaps are available locally
2022-07-15 17:50:10 +09:00
Dean Herbert
c8c79d2185
Standardise HasReplay
implementation (and remove from persisting to realm)
2022-07-15 16:14:21 +09:00
Dean Herbert
6122d2a525
Add "F" ScoreRank
to handle old scores which have this specified
...
Not sure on the future of this, but given it is used in the
save-failed-reply pull request (#18785 ) I think it's fine to add back
for now.
Without this, JSON parsing of older scores in server-side storage will
fail on missing enum type.
2022-07-15 15:58:54 +09:00
Dean Herbert
688fcb256f
Update score retrieval endpoint to access new storage
2022-07-15 15:47:25 +09:00
Dean Herbert
966882013d
Remove classic mod attribution to SoloScoreInfo
conversion path
2022-07-15 15:47:05 +09:00
Dan Balasescu
c1dd1cfead
Merge pull request #19082 from peppy/api-solo-score-model
...
Add and consume `SoloScoreInfo`
2022-07-15 15:20:18 +09:00
Dean Herbert
36b06f87a4
Merge pull request #19037 from frenzibyte/drawable-playlist-item-collection
...
Allow adding playlist items to beatmap collections via context menu
2022-07-15 15:04:39 +09:00
Salman Ahmed
7e80a71020
Replace download tracker with local querying
2022-07-15 08:16:36 +03:00
Salman Ahmed
254d22de1c
Use proper variable name
2022-07-15 07:44:56 +03:00
Salman Ahmed
86d019c2b2
Enable NRT on BeatmapDetails
2022-07-15 06:52:06 +03:00
Salman Ahmed
97c3eea3aa
Fix beatmap details source and tags not filtering on song select
2022-07-15 06:51:50 +03:00
Salman Ahmed
eafa11555a
Allow specifying custom search action to metadata sections
2022-07-15 06:41:03 +03:00
Dean Herbert
cd085cbd97
Merge pull request #19114 from frenzibyte/fix-potential-dialog-test-failure
...
Fix dialog overlay potentially pushing dialog while not loaded
2022-07-15 12:34:19 +09:00
Salman Ahmed
aea786ea0c
Fix minor typo
2022-07-15 05:56:49 +03:00
Dan Balasescu
3806416541
Merge pull request #19107 from peppy/first-run-language-selection
...
Add language selection to first run overlay
2022-07-14 22:58:32 +09:00
Dean Herbert
ebe0cfefd8
Ensure that multiple BeatmapSetInfo
already in realm don't cause import failures
...
Really this shouldn't happen but I managed to make it happen. Until this
comes up again in a way that matters, let's just fix the LINQ crash from
`SingleOrDefault`.
I've tested this to work as expected in the broken scenario.
2022-07-14 18:21:41 +09:00
Dean Herbert
08396ba486
Adjust colouring to avoid weird banding during transition period
2022-07-14 14:47:25 +09:00
Dean Herbert
5dff48a1e0
Fix button selection animation not playing smoothly when new glyphs are loaded
2022-07-14 14:40:25 +09:00
Dean Herbert
5c6b4e498d
Protect against a potential early call to LanguageButton.Selected
2022-07-14 14:31:59 +09:00
Dean Herbert
227871e8df
Refactor hide logic a touch for better readability
2022-07-14 14:00:33 +09:00
Salman Ahmed
dccd81dbc7
Use BindValueChanged
to handle changes between push time and schedule execution
2022-07-14 07:07:32 +03:00
Salman Ahmed
b96faedbe6
Fix dialog overlay hiding early-pushed dialog on initial PopOut
call
2022-07-14 07:06:57 +03:00
Salman Ahmed
c59784c49f
Always schedule popup dialog push
2022-07-14 07:06:03 +03:00
Salman Ahmed
1222123541
Rename method and parameter
2022-07-14 07:05:19 +03:00
Salman Ahmed
3def8428aa
Make scheduling more legible
2022-07-14 06:06:58 +03:00
Salman Ahmed
f83d413b33
Fix dialog overlay potentially pushing dialog while not loaded
2022-07-14 06:05:03 +03:00
Salman Ahmed
a85a70c472
Fix potential nullref in ContextMenuItems
2022-07-14 05:04:28 +03:00
Salman Ahmed
036e64382f
Add beatmap details menu item to playlist items
2022-07-14 03:41:47 +03:00
Salman Ahmed
728487b7fb
Handle GetBeatmapSetRequest
on test room requests handler
...
Required for `BeatmapSetOverlay` lookups to work under dummy API. Not
100% sure about it, but works for now.
2022-07-14 02:34:55 +03:00
Salman Ahmed
102d0415f1
Merge branch 'master' into drawable-playlist-item-collection
2022-07-14 00:10:49 +03:00
Bartłomiej Dach
bde34380a4
Merge branch 'master' into fix-editor-player-exit-crash
2022-07-13 21:41:25 +02:00
Dean Herbert
7ac04d0478
Fix potential crash when exiting editor test mode
2022-07-14 01:00:18 +09:00
Dean Herbert
31e1e96364
Update framework
2022-07-13 23:25:32 +09:00
Dean Herbert
3b554140db
Use grid container to avoid layout changes when changing language
2022-07-13 23:22:55 +09:00
Dean Herbert
0db1caf591
Add language selection to first run overlay
2022-07-13 23:22:55 +09:00
Dan Balasescu
7ed05277f8
Merge pull request #19098 from peppy/last-played
...
Add "last played" sort mode to song select
2022-07-13 22:44:50 +09:00
Dean Herbert
937692604e
Remove mention of autoplay mod for now
2022-07-13 22:37:20 +09:00
Dan Balasescu
afaf8f5189
Merge pull request #19105 from peppy/fix-editor-disposed-track
...
Fix audio and background file equality incorrectly comparing `BeatmapSet.Hash`
2022-07-13 22:34:36 +09:00
Dan Balasescu
7f59426587
Merge pull request #19096 from peppy/custom-storage-log-output
...
Add log output for custom storage usage
2022-07-13 22:28:21 +09:00
Dean Herbert
1cfdea911b
Fix audio and background file equality incorrectly comparing BeatmapSet.Hash
2022-07-13 19:41:38 +09:00
Dean Herbert
6950223a7d
Fix drawable mutation from disposal thread
2022-07-13 19:19:14 +09:00
Dean Herbert
952d97c66e
Update comment regarding LoadTrack
safety
2022-07-13 19:02:22 +09:00
Dean Herbert
fc274629f8
Add "last played" sort mode to song select
...
Note that this will consider the most recent play of any beatmap in
beatmap set groups for now, similar to other sort methods.
2022-07-13 16:43:43 +09:00
Dean Herbert
ab3ec80159
Update LastPlayed
on gameplay starting in a SubmittingPlayer
2022-07-13 16:43:43 +09:00
Dean Herbert
8820ea4006
Add last played date to BeatmapInfo
2022-07-13 16:36:43 +09:00
Dean Herbert
27ef7fc78e
Add log output for custom storage usage
...
Sometimes I am not sure where my osu! is reading files from. This should
help somewhat.
```csharp
/Users/dean/Projects/osu/osu.Desktop/bin/Debug/net6.0/osu!
[runtime] 2022-07-13 07:22:03 [verbose]: Starting legacy IPC provider...
[runtime] 2022-07-13 07:22:03 [verbose]: Attempting to use custom storage location /Users/dean/Games/osu-lazer-2
[runtime] 2022-07-13 07:22:03 [verbose]: Storage successfully changed to /Users/dean/Games/osu-lazer-2.
[runtime] 2022-07-13 07:22:05 [verbose]: GL Initialized
```
2022-07-13 16:22:51 +09:00
Dean Herbert
0fe3bac173
Store mods to array and update test scenes
2022-07-12 18:00:25 +09:00
Dean Herbert
12a56e36bd
Fix ID
mapping and move osu-web additions to region to identify them clearly
2022-07-12 18:00:25 +09:00
Dean Herbert
f956955d4d
Combine ScoreInfo
construction helper methods
2022-07-12 18:00:25 +09:00
Dean Herbert
900e0ace8e
Standardise naming and enable NRT
2022-07-12 18:00:25 +09:00
Dean Herbert
1bef2d7b39
Add and consume SoloScoreInfo
2022-07-12 18:00:25 +09:00
Dan Balasescu
bd6f8bde9f
Merge pull request #19079 from peppy/fix-audio-playback-disposed
...
Fix potential crash during shutdown sequence if intro playback was aborted
2022-07-12 17:29:23 +09:00
Dean Herbert
cad18ebc58
Reword comment to better explain what we are guarding against
2022-07-12 16:46:19 +09:00
Dan Balasescu
ec2d7461c7
Merge pull request #19078 from peppy/score-submit-fail-error-display
...
Show basic error message when score submission fails
2022-07-12 16:18:17 +09:00
Dean Herbert
cafe30fc4d
Fix potential crash during shutdown sequence if intro playback was aborted
...
Fixes one of the audio related `ObjectDisposedException`s
(https://sentry.ppy.sh/organizations/ppy/issues/92/events/12f282f048cb4a4fae85810e8a70b68d/?project=2&query=is%3Aunresolved&sort=freq&statsPeriod=7d ).
Ran into this while testing locally. See
`IntroScreen.ensureEventuallyArrivingAtMenu` for the related cause of
this happening (forced continuing to next screen if the intro doesn't
load in time).
2022-07-12 15:20:30 +09:00
Dean Herbert
b52ea16133
Show basic error message when score submission fails
2022-07-12 15:10:59 +09:00
Dean Herbert
779d512b44
Merge branch 'master' into mod-icon-colors
2022-07-12 14:36:55 +09:00
Dean Herbert
8dbe24fd7c
Simplify colour assigning logic and remove system mod colour for now
2022-07-12 14:36:50 +09:00
Dean Herbert
aac3c166de
Merge pull request #19038 from novialriptide/replay-user-bug-fix
...
Populate user ID for locally imported scores
2022-07-12 13:55:11 +09:00
Dan Balasescu
d82d50e308
Merge pull request #19065 from Ludio235/master
...
Fix playlist room creation screen pushing content on opening dropdowns
2022-07-12 13:22:38 +09:00
Dan Balasescu
3ca10ac02c
Merge pull request #19063 from Joehuu/fix-samples-cancel-exit
...
Fix editor playing object samples while paused after cancelling exit
2022-07-12 12:51:27 +09:00
Bartłomiej Dach
cca208b3c7
Merge branch 'master' into replay-user-bug-fix
2022-07-11 21:51:09 +02:00
Bartłomiej Dach
0da4ab765a
Merge branch 'master' into fix-multiplayer-spectator-crash
2022-07-11 21:14:45 +02:00
Salman Ahmed
4f009419b8
Simplify population logic and match code style
2022-07-11 21:51:09 +03:00
Dean Herbert
44d2e001ed
Update various dependencies
2022-07-11 20:16:49 +09:00
Andrew Hong (홍준원)
56896e8b41
Move PostImport()
2022-07-11 02:36:52 -04:00
Andrew Hong
10d6027c89
Assign missing UserID to RealmUser
2022-07-11 02:36:51 -04:00
Dean Herbert
0434c10914
Use global WorkingBeatmap
in PlayerArea
for the time being
2022-07-11 02:57:44 +09:00
Dean Herbert
8b6665cb5b
Ensure initial beatmap processing is done inside the import transaction
2022-07-11 02:51:54 +09:00
Dean Herbert
8116a4b6f6
Fix multiplayer spectator crash due to track potentially not being loaded in time
2022-07-11 02:51:40 +09:00
Ludio235
52aef09cd6
Update PlaylistsRoomSettingsOverlay.cs
2022-07-10 02:05:40 +00:00
Joseph Madamba
834bb1f187
Fix editor playing object samples while paused after cancelling exit
2022-07-09 12:14:39 -07:00
Dean Herbert
66f314915d
Fix crash on mobile releases when attempting to read any file
2022-07-09 06:01:22 +09:00
cdwcgt
d2406242ae
rename updateTooltip to updateState
2022-07-09 00:38:17 +09:00
cdwcgt
91f471ebe0
disabled button instead of shake
...
removed `ShakeContainer`
2022-07-09 00:37:53 +09:00
cdwcgt
a38c6704c2
Use ContinueWith, Check is Task empty
2022-07-09 00:23:32 +09:00
Dean Herbert
5651eca06c
Merge branch 'master' into custom-ruleset-score-import
2022-07-08 19:03:47 +09:00
Dean Herbert
13e16530a6
Revert most changes to PlayerTestScene
2022-07-08 18:45:18 +09:00
Dean Herbert
e4ebab92c6
Rename lots of weird variables
2022-07-08 18:37:03 +09:00
Dean Herbert
f3a6e646a6
Merge branch 'master' into Save-Score-Failed
2022-07-08 18:32:13 +09:00
Dan Balasescu
113fdf5491
Merge pull request #19032 from peppy/fix-background-loading-too-much
...
Fix background loading excessively on startup
2022-07-08 18:25:41 +09:00
Adam Baker
7ced84b7ef
Replace switch statement with ForModType
...
In order to make `highlightedColour` dependent on the mod type color, the color is converted to an `osu.Framework.Graphics.Colour4` and calls `Lighten`.
2022-07-08 03:23:58 -05:00
Dean Herbert
e64b2b1682
Assert that test is run headless when required
2022-07-08 15:45:01 +09:00
Dean Herbert
eab3eba70e
Move event handlers to LoadComplete
2022-07-08 15:09:16 +09:00
Dean Herbert
32c77ddf71
Avoid triggering SeasonalBackgroundChanged
unless actually required
2022-07-08 15:07:30 +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
Adam Baker
89f1c75f7a
Update mod icon colors
2022-07-07 21:57:18 -05:00
Dean Herbert
1e159eb328
Add back fade to black duration
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-08 10:43:50 +09:00
Salman Ahmed
63a06afab2
Add missing license header
2022-07-08 01:59:27 +03:00
Salman Ahmed
67fa15f231
Remove no longer required context menu container in ParticipantsList
2022-07-08 01:42:55 +03:00
Salman Ahmed
7b08501eaf
Cover online-play room screens with context menu containers
2022-07-08 01:42:11 +03:00
Salman Ahmed
1d0f2e359a
Add collection context menu to room playlist items
2022-07-08 01:40:53 +03:00
Salman Ahmed
a94fb62be3
Split collection toggle menu item to own class
2022-07-08 01:39:45 +03:00
Salman Ahmed
07a08d28c6
Rename parameter and default to 0
2022-07-07 23:31:06 +03:00
Dean Herbert
c53dd4a703
Fix editor saving not updating BeatmapSetInfo
's hash
2022-07-08 02:33:14 +09:00
Dean Herbert
15d070668d
Move intro screen background to base implementation and use colour fading
2022-07-08 02:12:01 +09:00
Dean Herbert
216150b52d
Avoid always loading new background at MainMenu
...
This was meant to be an optimisation to allow the background to load
while the intro is playing, but as the current default intro loads a
background itself, this was rarely the case and also counter-productive
as it would bypass the equality check and start a second load sequence.
2022-07-08 02:12:01 +09:00
Dean Herbert
789904ccd1
Avoid reloading background unnecessariyl when not yet loaded
2022-07-08 02:12:01 +09:00
Dean Herbert
b83073c2e9
Fix SeasonalBackgroundLoader
triggering a background reload when not providing backgrounds
2022-07-08 02:12:01 +09:00
Dean Herbert
f500d5ade6
Simplify error output when hub cannot connect
...
Full call stack is useless in these cases.
Before:
```csharp
[network] 2022-07-07 16:05:31 [verbose]: OnlineMetadataClient connection error: System.Net.Http.HttpRequestException: Response status code does not indicate success: 403 (Forbidden).
[network] 2022-07-07 16:05:31 [verbose]: at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.NegotiateAsync(Uri url, HttpClient httpClient, ILogger logger, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.GetNegotiationResponseAsync(Uri uri, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.SelectAndStartTransport(TransferFormat transferFormat, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.StartAsyncCore(TransferFormat transferFormat, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.StartAsync(TransferFormat transferFormat, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionFactory.ConnectAsync(EndPoint endPoint, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionFactory.ConnectAsync(EndPoint endPoint, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.SignalR.Client.HubConnection.StartAsyncCore(CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.SignalR.Client.HubConnection.StartAsyncInner(CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.SignalR.Client.HubConnection.StartAsync(CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at osu.Game.Online.HubClientConnector.connect() in /Users/dean/Projects/osu/osu.Game/Online/HubClientConnector.cs:line 119
```
After:
```csharp
[network] 2022-07-07 16:06:59 [verbose]: OnlineMetadataClient connecting...
[network] 2022-07-07 16:06:59 [verbose]: OnlineMetadataClient connect attempt failed: Response status code does not indicate success: 403 (Forbidden).
```
2022-07-08 01:06:40 +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
Dan Balasescu
f109e510ce
Merge branch 'master' into metadata-client
2022-07-07 19:45:52 +09:00
Dan Balasescu
7086779cf4
Merge pull request #19026 from peppy/async-track-operations
...
Use fire-and-forget async operations on global track
2022-07-07 19:45:03 +09:00
Dan Balasescu
5e3c6d6e56
Merge pull request #19028 from peppy/add-skin-keyword
...
Allow searching for "skins" to find current skin setting
2022-07-07 19:40:23 +09:00
Dean Herbert
d88fd8a5b0
Allow searching for "skins" to find current skin setting
2022-07-07 18:26:04 +09:00
Dean Herbert
ac216d94a8
Fix transaction not being disposed
2022-07-07 18:15:38 +09:00
Dean Herbert
b5c703b62c
Remove unused using statement
2022-07-07 17:59:55 +09:00
Dean Herbert
e2c4c94993
Simplify BeatmapUpdater
transaction handling using nested transaction support
2022-07-07 17:37:46 +09:00
Dean Herbert
79bed0abdf
Merge branch 'realm-nested-writes' into metadata-client
2022-07-07 17:37:06 +09:00
Dean Herbert
5197d0fa9e
Add automatic transaction handling to realm helper methods
2022-07-07 17:36:25 +09:00
Dan Balasescu
d4c539687e
Merge pull request #19022 from peppy/better-file-loading-exceptions
...
Add local handling of cases where a beatmap's file cannot be found on disk
2022-07-07 17:21:19 +09:00
Dean Herbert
7ef03dd2cb
Use fire-and-forget async operations on global track
...
This avoids any blocking overhead caused by a backlogged audio thread.
Test seem to pass so might be okay?
Note that order is still guaranteed due to the `ensureUpdateThread`
queueing system framework-side.
2022-07-07 17:15:45 +09:00
Dean Herbert
45c5b7e7dd
Update framework
2022-07-07 17:13:16 +09:00
Dean Herbert
1a41d3ef20
Allow PlayerTestScene
to import the beatmap it's using
2022-07-07 16:42:36 +09:00
Dean Herbert
9d730f8440
Fix custom rulesets not importing scores at all
...
Replaces the error with the ability to import, minus replays.
Closes https://github.com/ppy/osu/issues/17350 (arguably, but let's go with it for now).
2022-07-07 14:49:23 +09:00
Dean Herbert
e1b434b5dc
Fix song select placeholder not showing convert hint for custom rulesets
2022-07-07 14:46:51 +09:00
Dean Herbert
e81cebf27d
Change storyboard parsing logic to not completely fail if only .osb
read fails
...
Changes to allow the storyboard to exist if only the `.osu` is
available. Reads better IMO.
2022-07-07 14:33:20 +09:00
Dean Herbert
c4b6893709
Add local handling of cases where a beatmap's file cannot be found on disk
2022-07-07 14:29:19 +09:00
Salman Ahmed
9115072917
Fix flaky tests not running at all with environment variable set
2022-07-07 04:24:10 +03:00
Dan Balasescu
b9acdcdbe2
Merge pull request #19014 from peppy/line-buffered-reader-simplification
...
Enable NRT and simplify `LineBufferedReader`
2022-07-06 20:27:04 +09:00
Dean Herbert
c2f1069073
Avoid usage of finally
in potentially hot path
2022-07-06 19:55:51 +09:00
Dean Herbert
01bc6e5cb7
Revert old behaviour of ReadToEnd
2022-07-06 19:55:51 +09:00
Dan Balasescu
6340caf27d
Merge pull request #19018 from peppy/memory-caching-component-statistics
...
Add statistics display for `MemoryCachingComponent`s
2022-07-06 19:20:36 +09:00
Dan Balasescu
9f76118ee0
Merge pull request #19015 from peppy/improve-beatmap-parsing-performance
...
Fix `BeatSyncedContainer` unintentionally blocking on beatmap load
2022-07-06 18:41:07 +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
12d396a513
Use -1
to specify default buffer size
2022-07-06 15:43:35 +09:00
Dean Herbert
ae49aafde2
Fix BeatSyncedContainer
unintentionally blocking on beatmap load
2022-07-06 14:58:06 +09:00
Dean Herbert
a52ea3cabe
Enable NRT and simplify LineBufferedReader
2022-07-06 14:57:56 +09:00
Dean Herbert
7053a8507b
Merge pull request #18993 from Joehuu/fix-personal-best-delete-context-menu
...
Fix personal best score showing delete option on context menu
2022-07-06 14:53:35 +09:00
Dean Herbert
6fb00d84f9
Apply NRT to LoginForm
and remove nullability of IAPIProvider
2022-07-06 01:29:00 +09:00
Dean Herbert
3a68f386a8
Add forgotten password link to login form
2022-07-06 01:25:04 +09:00
Dean Herbert
99afbc7b73
Add missing endpoint URLs
2022-07-05 22:15:52 +09:00
Dean Herbert
bdd1bf4da0
Save last processed id to config for now
2022-07-05 21:42:35 +09:00
Dean Herbert
59d0bac728
Hook up update flow to metadata stream
2022-07-05 21:32:00 +09:00
Dean Herbert
b0d4f7aff6
Add recovery logic after disconnection
2022-07-05 21:32:00 +09:00
Dean Herbert
d217d66852
Add OnlineMetadataClient
2022-07-05 21:32:00 +09:00
Dean Herbert
85e589f863
Merge pull request #19005 from Susko3/initial-cookie
...
Allow MIDI and joysticks to trigger the osu! cookie on the initial screen
2022-07-05 19:26:56 +09:00
Susko3
4c3789ec5d
Split into a function
2022-07-05 11:15:37 +02: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
Susko3
bb0f212448
Trigger the initial cookie with midi and joysticks
2022-07-05 00:38:18 +02: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
Dean Herbert
64edc6888d
Add test coverage of corrupt realm creating backup
2022-07-04 16:45:23 +09:00
Dean Herbert
925d7b1fdc
Update framework
2022-07-04 15:01:01 +09:00
Dan Balasescu
65917fbb99
Merge pull request #18990 from andy840119/remove-nullable-disable-in-the-ruleset-filter
...
Remove nullable disable annotation in the ruleset filter.
2022-07-04 13:46:31 +09:00
Joseph Madamba
df152421a8
Fix personal best score showing delete option on context menu
2022-07-03 10:23:17 -07:00
Dean Herbert
e4bf2224c6
Update framework
2022-07-03 23:16:51 +09:00
andy840119
59e3d4b9e5
Remove the nullable disable annotation in the Ruleset.Filter namespace.
2022-07-03 21:00:54 +08:00
Dan Balasescu
9bf91835b6
Merge pull request #18962 from peppy/slider-range-control
...
Move star difficulty filter to song select
2022-07-03 21:58:00 +09:00
Dan Balasescu
385bd5a1b2
Merge pull request #18965 from peppy/mark-flaky-tests
...
Mark, document and silence remaining flaky tests on standard CI runs
2022-07-03 21:41:14 +09:00
Dan Balasescu
ccc322e100
Merge pull request #18985 from andy840119/remove-nullable-disable-in-the-replays
...
Remove nullable disable annotation in replays namespace
2022-07-03 21:19:36 +09:00
Dan Balasescu
724fd19038
Remove nullable disables
2022-07-03 21:15:13 +09:00
andy840119
8c2f4b48fc
Use debug.assert for better readable.
2022-07-03 19:27:56 +08:00
Dan Balasescu
1ccfd69690
Merge pull request #18978 from peppy/send-beatmap-hash-to-server
...
Send beatmap hash to server on solo score request
2022-07-03 13:18:17 +09:00
Dean Herbert
052a786eff
Only show hover effect on one nub at a time
2022-07-03 03:06:03 +09:00
Dean Herbert
7d8ea5e286
Remove unnecessary proxying
2022-07-03 02:59:10 +09:00
andy840119
0a1543c6e8
Use AsNonNull()
instead.
2022-07-02 19:48:32 +08:00
Dean Herbert
2a1777fa85
Merge branch 'master' into fix-player-star-difficulty-display
2022-07-02 18:57:46 +09:00
Salman Ahmed
9b833524c0
Merge branch 'master' into add-realm-blocking-logging
2022-07-02 12:41:36 +03:00
Dean Herbert
b626135940
Fix dragging slider bars on nub not performing correctly relative movement
2022-07-02 17:49:38 +09:00
Dean Herbert
24cd845d1b
Update framework
2022-07-02 17:18:50 +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
Salman Ahmed
a4b9097709
Merge branch 'master' into mod-overlay-appear-sfx
2022-07-02 09:28:24 +03:00
Salman Ahmed
19d300e311
Fix player loader not accepting star difficulty updates after display
2022-07-02 09:17:38 +03:00
andy840119
c6d0f0f81b
pretend that the beatmap property will not be null.
...
Not really throw exception will be the better way?
2022-07-02 13:20:46 +08:00
andy840119
ea573f314e
Remove the nullable disable annotation in the Rulesets.Replays namespace in the osu.game project.
2022-07-02 13:08:25 +08:00
andy840119
fa5f7c1a00
Remove the nullable disable annotation in the Replays namespace.
2022-07-02 13:03:01 +08:00
Dean Herbert
2cc9c579d4
Merge pull request #18969 from smoogipoo/fix-multiplayer-cross-pollution
...
Fix cross-pollution of server- and client-side multiplayer objects in tests
2022-07-02 13:18:35 +09:00
Dean Herbert
9e30c1de3e
Merge branch 'master' into mod-overlay-appear-sfx
2022-07-02 12:59:04 +09:00
Dean Herbert
a03abc747b
Tidy up comments and simplify bounding box centre logic
2022-07-02 12:58:34 +09:00
Dean Herbert
426c53fe65
Fix potential null being sent to extension method which doesn't support it
2022-07-02 12:50:28 +09:00
Dean Herbert
1fd9c64803
Change song select FooterButton
sound
2022-07-02 12:48:33 +09:00
Dean Herbert
4fd47b5fa0
Add more verbose logging to realm blocking process
2022-07-02 12:36:56 +09:00
Dean Herbert
634b6cdbbe
Send beatmap has to server on solo score request
...
Right now, the client does nothing to ensure a beatmap is in a valid
state before requesting to submit a score. There is further work to be
done client-side so it is more aware of this state (already handled for
playlists, but not for the solo gameplay loop), but the solution I have
in mind for that is a bit more involved.
This is not used server-side yet, but I want to get this sending so we
can start using it for some very basic validation.
Will resolve the basic portion of #11922 after implemented server-side.
2022-07-02 12:16:17 +09:00
Dean Herbert
623a99d53a
Update resources
2022-07-02 11:58:45 +09:00
Jamie Taylor
9d28d5f8ee
Update SFX for mod overlay show/hide
2022-07-01 20:43:12 +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
0cf58646f4
Merge pull request #18803 from Joehuu/fix-overlay-header-tab-item-localisable-string
...
Fix profile header tab items not localising
2022-07-01 19:37:57 +09:00
Dean Herbert
6baccad058
Merge pull request #18821 from ggliv/locked-room-filter
...
Add room access type filter to multiplayer lounge screen
2022-07-01 19:37:43 +09:00
Dan Balasescu
084a65578c
Always clone messages incoming from client-side
2022-07-01 19:36:37 +09:00
Dan Balasescu
37acec1952
Isolate client's LocalUser from TestMultiplayerClient
2022-07-01 19:23:41 +09:00
Dan Balasescu
b64c0d011c
Isolate client's Room from TestMultiplayerClient
2022-07-01 19:23:25 +09:00
Dan Balasescu
0be858b5bf
Rename APIRoom -> ClientAPIRoom, remove unused asserts
2022-07-01 19:21:59 +09:00
Dan Balasescu
1c2ffb3bc4
Fix server-side objects being sent to client
2022-07-01 19:21:53 +09:00
Dean Herbert
b829884861
Merge pull request #18963 from peppy/more-placeholder-suggestions
...
Add difficulty filter reset to song select "no results" suggestions
2022-07-01 17:55:23 +09:00
Dean Herbert
b460a52faf
Merge pull request #18966 from smoogipoo/fix-flaky-multiplayer-test
...
Fix test sometimes referencing old ModSelect object
2022-07-01 17:55:06 +09:00
Salman Ahmed
5880b824d0
Simplify description logic for overlay tab items
2022-07-01 11:30:51 +03:00
Dean Herbert
e213c1a4ef
Rename enum to explicitly mention it is a filter
2022-07-01 17:27:03 +09:00
Salman Ahmed
7f9ef6c23f
Merge branch 'master' into fix-overlay-header-tab-item-localisable-string
2022-07-01 11:27:00 +03:00
Dean Herbert
9911c6cbf0
Merge branch 'master' into locked-room-filter
2022-07-01 17:17:01 +09:00
Salman Ahmed
3bca439c4f
Merge branch 'master' into more-placeholder-suggestions
2022-07-01 10:52:32 +03:00
Dan Balasescu
58c9bb031f
Apply PR reviews/fixes
2022-07-01 16:51:15 +09:00
Dan Balasescu
c22e77e481
Fix test sometimes referencing old ModSelect object
2022-07-01 16:46:27 +09:00
Dean Herbert
615c3234d8
Remove non-required NRT hint
2022-07-01 16:25:21 +09:00
Dean Herbert
c4f1660841
Rename ENVVAR in line with previous one (OSU_TESTS_NO_TIMEOUT
)
2022-07-01 16:20:34 +09:00
Dean Herbert
1777a6d24a
Add attribute to retry flaky tests on normal CI runs
2022-07-01 16:06:18 +09:00
Dean Herbert
58e25a3a01
Fix potential crash in BeatmapLeaderboard
during rapid refresh operations
2022-07-01 15:42:35 +09:00
Dan Balasescu
409224560f
Merge pull request #18874 from peppy/realm-fix-async-write-after-disposal
...
Ensure all async writes are completed before realm is disposed
2022-07-01 15:29:01 +09:00
Dean Herbert
3e0f4e7609
Add test coverage of difficulty filter reset
2022-07-01 15:28:55 +09:00
Dean Herbert
f3af612133
Suggest removing difficulty filter if no matches found at song select
2022-07-01 15:18:04 +09:00
Dean Herbert
545df0a8e8
Display difficulty on nub
2022-07-01 15:17:26 +09:00
Dean Herbert
cb9947b1c9
Align song select components a bit better
2022-07-01 15:17:12 +09:00
Dean Herbert
32139ac13f
Tidy up implementation and add basic visual test
2022-07-01 15:16:58 +09:00
Dean Herbert
d54f7fc728
Move slider range control to song select
2022-07-01 14:41:36 +09:00
Dean Herbert
3785027284
Update OsuSliderBar
colours to not use transparency
2022-07-01 14:41:36 +09:00
Dan Balasescu
42d56aa640
Merge pull request #18958 from andy840119/remove-nullable-disable-in-the-extension
...
Remove nullable disable annotation in the extension namespace.
2022-07-01 13:52:12 +09:00
andy840119
48047f2e58
Move the null check in the outside.
...
AddCursor() should not accept the null value.
2022-06-30 23:29:49 +08:00
andy840119
a5b1f1a688
mark the string as nullable.
2022-06-30 23:23:14 +08:00
andy840119
26de34da84
Remove the nullable disable annotation.
2022-06-30 23:20:40 +08:00
andy840119
e50e0f7339
Remove the nullable disable annotate.
2022-06-30 23:05:09 +08:00
cdwcgt
33209ecd25
remove useless value change
2022-06-30 19:51:58 +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
aab4dcefbd
Remove unnecessary invalidation handling flow
2022-06-30 17:13:26 +09:00
Dean Herbert
0698471627
Move BeatmapOnlineLookupQueue
to inside BeatmapUpdater
2022-06-30 17:03:19 +09:00
Dean Herbert
ef42c6ecdf
Add missing xmldoc
2022-06-30 16:51:31 +09:00
Dean Herbert
e34c2f0aca
Remove unnecessary nullable-enable
2022-06-30 16:47:26 +09:00
Dean Herbert
82134ad1a6
Allow null
parameter to GetWorkingBeatmap
for now
2022-06-30 16:46:28 +09:00
Dean Herbert
98938821e5
Merge branch 'master' into beatmap-update-flow
2022-06-30 16:44:17 +09:00
Dean Herbert
356c0501ec
Guard again potential nulls in RealmNamedFileUsage
...
Hopefully help in figuring out https://sentry.ppy.sh/organizations/ppy/issues/3679/?project=2&query=user%3A%22id%3A10078484%22
2022-06-30 15:40:57 +09:00
Dean Herbert
78d86fd3ff
Fix PerformWrite
not rolling back transaction on exception
2022-06-30 15:15:09 +09:00
Dean Herbert
e89f220e9a
Merge pull request #18949 from smoogipoo/fix-flaky-star-display-test
...
Ensure PlaylistItem's beatmap is not null
2022-06-30 15:15:06 +09:00
Dan Balasescu
c6520de749
Ensure PlaylistItem beatmap is not null
2022-06-30 14:24:49 +09:00
Dan Balasescu
edc4ace17e
Attach DT with NC, SD with PF, and Cinema with Autoplay
2022-06-30 11:52:30 +09:00
Dean Herbert
582175c3a4
Update framework
2022-06-29 22:57:52 +09:00
cdwcgt
fd0d8b1ce3
Add button state, fix async issues, watch replay method
...
Most borrowed from `ReplayDownloadButton`
2022-06-29 22:50:47 +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
Dean Herbert
18d465eff7
Guard against NaN
star difficulty results
2022-06-29 21:02:29 +09:00
Dean Herbert
32af4e41ea
Add back thread safety and locking as required
2022-06-29 20:56:01 +09:00
Salman Ahmed
87e3b44181
Ensure icon is loaded inside try-catch
2022-06-29 13:37:42 +03:00
Salman Ahmed
e3eba58cb6
Catch in triangles intro
2022-06-29 13:37:42 +03:00
Dean Herbert
6c64cea057
Catch a second location
2022-06-29 18:56:15 +09:00
Dean Herbert
b092e6937a
Guard against ruleset icon creation failures to avoid whole game death
2022-06-29 18:51:07 +09:00
Dan Balasescu
2989803b71
Merge branch 'master' into speed-acc-scaling
2022-06-29 16:15:20 +09:00
Dan Balasescu
f435f0d8e4
Merge pull request #18920 from andy840119/remove-nullable-disable-in-the-migration
...
Remove the nullable disable annotations in the class belongs to the migration namespace.
2022-06-29 14:40:11 +09:00
Dan Balasescu
fde5b2cf2b
Merge pull request #18921 from andy840119/remove-nullable-disable-in-the-localisation
...
Remove the nullable disable annotation in the localisation.
2022-06-29 13:51:50 +09:00
Dan Balasescu
114f1b47c4
Merge branch 'master' into remove-nullable-disable-in-the-migration
2022-06-29 13:11:45 +09:00
Bartłomiej Dach
a0125cbb62
Merge branch 'master' into fix-da-settings-slider-padding
2022-06-28 20:53:07 +02:00
Dean Herbert
ecdb30d215
Fix one more case of collection modification during enumeration
...
https://sentry.ppy.sh/share/issue/a61c27b2a63a4a6aa80e75873f9d87ca/
2022-06-29 02:28:23 +09:00
Joseph Madamba
aacded0ecf
Fix difficulty adjust settings having more padding on sliders
2022-06-28 07:33:05 -07:00
andy840119
de7f2a0bba
Remove the nullable disable annotation in the localisation.
2022-06-28 20:59:57 +08:00
andy840119
2269f1046e
Remove the nullable disable annotations.
2022-06-28 20:59:03 +08:00
cdwcgt
946178ca41
Remove useless LocalisableDescription
2022-06-28 20:03:21 +09:00
Dean Herbert
7c9c499e19
Update resources (translation updates)
2022-06-28 19:21:46 +09:00
Dean Herbert
c282e19316
Update language initialisation in line with framework LocalisationManager
changes
2022-06-28 18:19:48 +09:00
Dean Herbert
975ba83838
Update framework
2022-06-28 18:19:48 +09:00
Dean Herbert
e10ac45fd7
Remove probably redundant realmLock
...
As far as I can tell all accesses are safe due to update thread
guarantees. The only weird one may be async writes during a
`BlockAllOperations`, but the `Compact` loop should handle this quite
amicably.
2022-06-28 16:55:54 +09:00
Dan Balasescu
d630b62cfc
Merge pull request #18915 from peppy/slider-snaking-test-refactoring
...
Apply various refactorings to `TestSceneSliderSnaking`
2022-06-28 16:16:35 +09:00
Dan Balasescu
8e4a6c43b5
Merge pull request #18914 from peppy/spectator-playback-test-leniences
...
Increase leniences on `TestSceneSpectatorPlayback.TestWithSendFailure`
2022-06-28 16:15:51 +09:00
Dean Herbert
6bfd351dec
Add logging of GameplayClockContainer
seeks
2022-06-28 15:23:29 +09:00
Dean Herbert
35745c83b7
Replace dodgy SetUpSteps
overriding with usage of HasCustomSteps
2022-06-28 15:19:02 +09:00
Dean Herbert
22b254e5c5
Handle task exception outside of schedule to avoid unobserved exceptions
2022-06-28 15:09:28 +09:00
Dean Herbert
c1075d113f
Add logging around current channel changes and join requests
...
Tracking down a flaky test
(https://teamcity.ppy.sh/buildConfiguration/Osu_Build/553?hideProblemsFromDependencies=false&expandBuildTestsSection=true&hideTestsFromDependencies=false ):
```csharp
TearDown : System.TimeoutException : "PM Channel 1 displayed" timed out
--TearDown
at osu.Framework.Testing.Drawables.Steps.UntilStepButton.<>c__DisplayClass11_0.<.ctor>b__0()
at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
--- End of stack trace from previous location ---
at osu.Framework.Testing.TestSceneTestRunner.TestRunner.RunTestBlocking(TestScene test)
at osu.Game.Tests.Visual.OsuTestScene.OsuTestSceneTestRunner.RunTestBlocking(TestScene test) in /opt/buildagent/work/ecd860037212ac52/osu.Game/Tests/Visual/OsuTestScene.cs:line 503
at osu.Framework.Testing.TestScene.RunTestsFromNUnit()
------- Stdout: -------
[runtime] 2022-06-27 23:18:55 [verbose]: 💨 Class: TestSceneChatOverlay
[runtime] 2022-06-27 23:18:55 [verbose]: 🔶 Test: TestKeyboardNextChannel
[runtime] 2022-06-27 23:18:55 [verbose]: Chat is now polling every 60000 ms
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #1 Setup request handler
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #2 Add test channels
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #3 Show overlay with channels
[runtime] 2022-06-27 23:18:55 [verbose]: Unhandled Request Type: osu.Game.Online.API.Requests.CreateChannelRequest
[network] 2022-06-27 23:18:55 [verbose]: Failing request osu.Game.Online.API.Requests.CreateChannelRequest (System.InvalidOperationException: DummyAPIAccess cannot process this request.)
[runtime] 2022-06-27 23:18:55 [verbose]: Unhandled Request Type: osu.Game.Online.API.Requests.CreateChannelRequest
[network] 2022-06-27 23:18:55 [verbose]: Failing request osu.Game.Online.API.Requests.CreateChannelRequest (System.InvalidOperationException: DummyAPIAccess cannot process this request.)
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #4 Select channel 1
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #5 Channel 1 is visible
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #6 Press document next keys
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #7 Channel 2 is visible
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #8 Press document next keys
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #9 PM Channel 1 displayed
[network] 2022-06-27 23:18:55 [verbose]: Request to https://a.ppy.sh/587 failed with System.Net.WebException: NotFound.
[network] 2022-06-27 23:18:55 [verbose]: Request to https://a.ppy.sh/503 failed with System.Net.WebException: NotFound.
[runtime] 2022-06-27 23:19:05 [verbose]: 💥 Failed (on attempt 5,550)
[runtime] 2022-06-27 23:19:05 [verbose]: ⏳ Currently loading components (0)
[runtime] 2022-06-27 23:19:05 [verbose]: 🧵 Task schedulers
[runtime] 2022-06-27 23:19:05 [verbose]: LoadComponentsAsync (standard) concurrency:4 running:0 pending:0
[runtime] 2022-06-27 23:19:05 [verbose]: LoadComponentsAsync (long load) concurrency:4 running:0 pending:0
[runtime] 2022-06-27 23:19:05 [verbose]: 🎱 Thread pool
[runtime] 2022-06-27 23:19:05 [verbose]: worker: min 1 max 32,767 available 32,766
[runtime] 2022-06-27 23:19:05 [verbose]: completion: min 1 max 1,000 available 1,000
[runtime] 2022-06-27 23:19:05 [debug]: Focus on "ChatTextBox" no longer valid as a result of unfocusIfNoLongerValid.
[runtime] 2022-06-27 23:19:05 [debug]: Focus changed from ChatTextBox to nothing.
```
This kind of logging should be helpful:
```csharp
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #5 Channel 1 is visible
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #6 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to #channel-2
[runtime] 2022-06-28 04:59:57 [debug]: Pressed (DocumentNext) handled by TestSceneChatOverlay+TestChatOverlay.
[runtime] 2022-06-28 04:59:57 [debug]: KeyDownEvent(PageDown, False) handled by ManualInputManager+LocalPlatformActionContainer.
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #7 Channel 2 is visible
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #8 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to test user 685
[runtime] 2022-06-28 04:59:57 [debug]: Pressed (DocumentNext) handled by TestSceneChatOverlay+TestChatOverlay.
[runtime] 2022-06-28 04:59:57 [debug]: KeyDownEvent(PageDown, False) handled by ManualInputManager+LocalPlatformActionContainer.
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #9 PM Channel 1 displayed
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #10 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to test user 218
```
2022-06-28 14:00:30 +09:00
Bartłomiej Dach
93e13ef890
Merge branch 'master' into no-invalid-operation-without-message
2022-06-27 19:11:08 +02:00
Dean Herbert
54fe6b7df3
Fix incorrect string interpolation
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-06-28 01:43:09 +09:00
Dean Herbert
569fde4b47
Add messages to all InvalidOperationException
s
...
Without this, they can be very non-descript and hard to track down
2022-06-28 01:34:25 +09:00
Dean Herbert
b28cfc222b
Schedule unregister instead
2022-06-28 01:19:28 +09:00
Dean Herbert
3e3843dcf9
Fix potential crash on CloseAllOverlays
due to collection mutation
2022-06-28 00:32:36 +09:00
Dan Balasescu
d43b980a17
Merge pull request #18872 from peppy/add-working-beatmap-changed-logging
...
Add various logging of global `WorkingBeatmap` state changes
2022-06-27 21:34:05 +09:00
Dan Balasescu
c2b03cb6b9
Merge pull request #18875 from peppy/logging-finalise-selection-abort-operations
...
Add logging for various cases of `SongSelect.FinaliseSelection` being aborted
2022-06-27 21:33:51 +09:00
Dan Balasescu
6c6de9ce53
Fix typo
2022-06-27 20:40:02 +09:00
Dan Balasescu
396e7fc166
Merge pull request #18862 from peppy/empty-beatmap-file-fix-2
...
Fix second case of empty beatmaps being reported to sentry as errors
2022-06-27 20:37:57 +09:00
Dean Herbert
aa7d54f8b6
Add logging for various cases of SongSelect.FinaliseSelection
being aborted
2022-06-27 20:10:17 +09:00
Dean Herbert
f355c3a3c9
Merge pull request #18864 from peppy/fix-realm-audio-track-test-fail
...
Centralise and harden editor-ready-for-use check
2022-06-27 19:42:49 +09:00
Dean Herbert
83982d258d
Throw immediately if attempting to WriteAsync
after disposed
2022-06-27 19:34:28 +09:00
Dean Herbert
c39c99bd43
Ensure all async writes are completed before realm is disposed
2022-06-27 19:21:05 +09:00
Dan Balasescu
8f91ce8f0c
Merge pull request #18871 from peppy/fix-realm-assertion-during-tests
...
Fix occasional failure in realm test proceedings due to incorrect `Debug.Assert`
2022-06-27 18:48:47 +09:00
Dean Herbert
50c1c066de
Add various logging of global WorkingBeatmap
state changes
2022-06-27 18:41:31 +09:00
Dean Herbert
0ba29b6fa6
Use currentScreen
instead to make sure the screen we care about is loaded
2022-06-27 18:28:00 +09:00
Dan Balasescu
b13fa924fd
Merge pull request #18865 from peppy/fix-flaky-chat-test
...
Fix chat tests failing 1/10000 runs
2022-06-27 18:06:00 +09:00
Dean Herbert
f6a61472c4
Fix occasional failure in realm test proceedings due to incorrect Debug.Assert
...
After a `BlockAllOperations`, the restoration of the `updateRealm`
instance is not instance. It is posted to a `SynchronizationContext`.
The assertion which has been removed in this commit was assuming it
would always be an immediate operation.
To ensure this works as expected, I've tracked the initialised state via
a new `bool`.
```csharp
System.TimeoutException : Attempting to block for migration took too long.
1) Host threw exception System.AggregateException: One or more errors occurred. (: )
---> NUnit.Framework.AssertionException: :
at osu.Framework.Logging.ThrowingTraceListener.Fail(String message1, String message2)
at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage)
at System.Diagnostics.TraceInternal.TraceProvider.Fail(String message, String detailMessage)
at System.Diagnostics.Debug.Fail(String message, String detailMessage)
at osu.Game.Database.RealmAccess.BlockAllOperations() in /opt/buildagent/work/ecd860037212ac52/osu.Game/Database/RealmAccess.cs:line 813
at osu.Game.OsuGameBase.<>c__DisplayClass108_1.<Migrate>b__0() in /opt/buildagent/work/ecd860037212ac52/osu.Game/OsuGameBase.cs:line 449
at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
at osu.Framework.Threading.Scheduler.Update()
at osu.Framework.Graphics.Drawable.UpdateSubTree()
at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
```
https://teamcity.ppy.sh/buildConfiguration/Osu_Build/322?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildTestsSection=true
2022-06-27 18:01:12 +09:00
Dean Herbert
13dcaf82ad
Fix chat tests failing 1/10000 runs
...
31a447fda0/osu.Game/Online/Chat/ChannelManager.cs (L412-L414)
Sigh.
2022-06-27 16:50:10 +09:00
Dean Herbert
5a7d339cc8
Centralise and harden editor-ready-for-use check
...
Not only does this combine the check into one location, but it also adds
a check on the global `WorkingBeatmap` being updated, which is the only
way I can see the following failure happening:
```csharp
05:19:07 osu.Game.Tests: osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.TestAddAudioTrack
05:19:07 Failed TestAddAudioTrack [161 ms]
05:19:07 Error Message:
05:19:07 TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
05:19:07 Stack Trace:
05:19:07 --TearDown
05:19:07 at osu.Game.Database.ModelManager`1.<>c__DisplayClass7_0.<AddFile>b__0(TModel managed) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07 at osu.Game.Database.ModelManager`1.<>c__DisplayClass8_0.<performFileOperation>b__0(Realm realm) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 49
05:19:07 at osu.Game.Database.RealmExtensions.Write(Realm realm, Action`1 function) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\RealmExtensions.cs:line 14
05:19:07 at osu.Game.Database.ModelManager`1.performFileOperation(TModel item, Action`1 operation) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 46
05:19:07 at osu.Game.Database.ModelManager`1.AddFile(TModel item, Stream contents, String filename) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07 at osu.Game.Screens.Edit.Setup.ResourcesSection.ChangeAudioTrack(FileInfo source) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Screens\Edit\Setup\ResourcesSection.cs:line 115
05:19:07 at osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.<TestAddAudioTrack>b__13_0() in C:\BuildAgent\work\ecd860037212ac52\osu.Game.Tests\Visual\Editing\TestSceneEditorBeatmapCreation.cs:line 101
05:19:07 at osu.Framework.Testing.Drawables.Steps.AssertButton.checkAssert()
05:19:07 at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
05:19:07 at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
```
2022-06-27 16:22:01 +09:00
Dan Balasescu
0fd2c010e5
Remove NRT disables from attributes classes
2022-06-27 16:07:15 +09:00
Dan Balasescu
0579780bb8
Add IBeatmapOnlineInfo parameter and use to extract more data
2022-06-27 16:07:15 +09:00
Dan Balasescu
f6a6538e96
Add more properties to IBeatmapOnlineInfo
2022-06-27 16:07:15 +09:00
Dean Herbert
10d1bbb131
Log global working beatmap updates in OsuGameBase
instead of OsuGame
2022-06-27 15:58:51 +09:00
Dean Herbert
01487a1185
Add assertion on realm re-fetch being not-null
2022-06-27 15:52:45 +09:00
Dean Herbert
13c8d33009
Fix second case of empty beatmaps being reported to sentry as errors
2022-06-27 15:29:01 +09:00
Dean Herbert
da61d0547f
Include archive name in import log output
2022-06-27 15:24:25 +09:00
Dan Balasescu
2b278ed324
Merge pull request #18841 from peppy/menu-cursor-better-rotation
...
Adjust menu cursor rotation to use a floating centre-point
2022-06-27 14:18:54 +09:00
Dean Herbert
1a22377e19
Fix test deadlock due to TPL threadpool saturation
...
As found in aggressive CI runs:
```csharp
00007F6F527F32B0 00007f74f937c72d (MethodDesc 00007f74f5545a78 + 0x22d System.Threading.ManualResetEventSlim.Wait(Int32, System.Threading.CancellationToken)), calling (MethodDesc 00007f74f51c0838 + 0 System.Threading.Monitor.Wait(System.Object, Int32))
00007F6F527F3330 00007f74f93861ca (MethodDesc 00007f74f5259100 + 0x10a System.Threading.Tasks.Task.SpinThenBlockingWait(Int32, System.Threading.CancellationToken)), calling (MethodDesc 00007f74f5545a78 + 0 System.Threading.ManualResetEventSlim.Wait(Int32, System.Threading.CancellationToken))
00007F6F527F3390 00007f74f9385d11 (MethodDesc 00007f74f52590e8 + 0x81 System.Threading.Tasks.Task.InternalWaitCore(Int32, System.Threading.CancellationToken)), calling (MethodDesc 00007f74f5259100 + 0 System.Threading.Tasks.Task.SpinThenBlockingWait(Int32, System.Threading.CancellationToken))
00007F6F527F33E0 00007f74fc3823af (MethodDesc 00007f74f5934c08 + 0x4f System.Threading.Tasks.Task`1[[System.Boolean, System.Private.CoreLib]].GetResultCore(Boolean)), calling (MethodDesc 00007f74f52590e8 + 0 System.Threading.Tasks.Task.InternalWaitCore(Int32, System.Threading.CancellationToken))
00007F6F527F3400 00007f74fb0aad92 (MethodDesc 00007f74fb28b000 + 0x122 osu.Game.Tests.Visual.OnlinePlay.OnlinePlayTestScene+<>c__DisplayClass21_0.<Setup>b__1(osu.Game.Online.API.APIRequest)), calling (MethodDesc 00007f74f5934be8 + 0 System.Threading.Tasks.Task`1[[System.Boolean, System.Private.CoreLib]].get_Result())
00007F6F527F3470 00007f74fa9c6dd7 (MethodDesc 00007f74f921f6c8 + 0x77 osu.Game.Online.API.DummyAPIAccess.PerformAsync(osu.Game.Online.API.APIRequest))
00007F6F527F34C0 00007f74fb13c718 (MethodDesc 00007f74fb4e0c50 + 0x538 osu.Game.Database.OnlineLookupCache`3+<performLookup>d__13[[System.Int32, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].MoveNext())
```
Going with the simplest solution, as what we had was pretty ugly to start with and I don't want to overthink this, just push a fix and hope for the best.
2022-06-26 16:42:29 +09:00
Dean Herbert
2ecab454aa
Adjust animations and tolerances to make things feel snappier
2022-06-25 19:50:10 +09:00
Dean Herbert
a039f9878a
Adjust menu cursor rotation to follow mouse, rather than be fixated around original click location
2022-06-25 19:33:44 +09:00
Bartłomiej Dach
a83c45b50e
Fix compile failures from framework breaking change
2022-06-24 16:07:14 +02:00
Bartłomiej Dach
df30bedab6
Update framework again
2022-06-24 16:01:52 +02:00
Dean Herbert
14327943a2
Update framework
2022-06-24 21:28:30 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
30eebf3511
Merge branch 'master' into c-sharp-10
2022-06-24 21:22:33 +09:00
Dean Herbert
7692bac35a
Simplify refetch (and ensure to invalidate after processing)
2022-06-24 21:02:38 +09:00
Dean Herbert
0c3d890f76
Fix reprocessing not working on import due to realm threading woes
2022-06-24 21:02:38 +09:00
Dean Herbert
30b3973c9f
Difficulty cache invalidation flow
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
021b16f2f3
Ensure WorkingBeatmap
is invalidated after update
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
2ca4184eda
Merge pull request #18834 from bdach/ban-implicit-to-lower-upper
...
Disallow usage of `string.To{Upper,Lower}()` without explicit culture
2022-06-24 20:39:58 +09:00
Dan Balasescu
7eb49dac7a
Merge pull request #18832 from peppy/bdc-remove-unused-path
...
Remove unused bindable retrieval flow in `BeatmapDifficultyCache`
2022-06-24 20:20:23 +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
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}()
2022-06-24 11:57:45 +02:00
Dean Herbert
c179127670
Remove unused bindable retrieval flow
2022-06-24 17:09:56 +09:00
Dean Herbert
0755430006
Use AddOnce
for update calls
2022-06-24 17:09:56 +09:00
Dean Herbert
8912f07745
Merge branch 'master' into difficulty-icon-refactor-pass
2022-06-24 16:34:35 +09:00
Dean Herbert
f71f6302fd
Remove unnecessary null
casts
2022-06-24 14:50:11 +09:00
Dean Herbert
28837693e5
Nuke calculating everything
...
The whole component is pointless so I'm just going to nuke for now I
guess. Kind of makes the whole refactor effort pointless but oh well?
To expand on this, the implementation was actually incorrect as pointed
out at https://github.com/ppy/osu/pull/18819#pullrequestreview-1017886035 .
2022-06-24 14:24:06 +09:00
Dean Herbert
12ea8369ee
Update retriever to be relatively sized
2022-06-24 14:06:31 +09:00
Dean Herbert
d9c1a9d71f
Use new property to specify no tooltip, rather than passing only ruleset
2022-06-24 14:06:18 +09:00
Dean Herbert
129c907092
Remove unused parameters
2022-06-24 13:58:02 +09:00
Bartłomiej Dach
04d69010b5
Split overlong conditional to local function
2022-06-23 18:03:07 +02:00
Bartłomiej Dach
bea70988bc
Remove unnecessary #nullable disable
2022-06-23 17:57:22 +02:00
Gabe Livengood
454eff43c5
publicity -> accesstype
2022-06-23 11:40:25 -04:00
Gabe Livengood
d67c482c48
move publicity filter to multi exclusively
2022-06-23 11:36:08 -04:00