1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 19:22:54 +08:00
Commit Graph

8150 Commits

Author SHA1 Message Date
Dean Herbert
0674862b6c Fix failing tests 2022-04-07 17:52:08 +09:00
Dan Balasescu
f0698937b7
Merge pull request #17700 from peppy/fix-skin-lookups-extension-specified
Fix filename lookups on `LegacySkin`s going awry when extension is specified
2022-04-07 17:03:27 +09:00
Dean Herbert
b7f8716de9 Add test coverage of skin lookups failing when @2x and extension are present 2022-04-07 14:11:38 +09:00
Joseph Madamba
edb556643e Add failing replay button enabled test asserts 2022-04-06 20:43:56 -07:00
Dan Balasescu
c997d0fcf0
Merge pull request #17631 from bdach/mod-overlay/full-screen
Implement basic layout & behaviour of new mod select screen
2022-04-07 10:23:49 +09:00
Dean Herbert
065bb60324 Remove unused using statements 2022-04-06 16:05:11 +09:00
Dean Herbert
c2b2d443ed Add more comprehensive assert output to try and discern CI issues 2022-04-06 15:31:12 +09:00
Dean Herbert
d17890ca9a Replace a couple more local test beatmap cases which can instead use TestResources methods 2022-04-06 15:04:15 +09:00
Dean Herbert
220d7bc6db Fix dangerous realm operation in TestSceneMultiplayerMatchSongSelect
The import process was running on the async load thread, but then
accessed from the access thread later on. This seemed to somehow pass
fine in headless runs, but would fail on visual test execution
(specifically on `TestBeatmapConfirmed()`).
2022-04-06 14:01:41 +09:00
Dean Herbert
a3695c7e97
Merge branch 'master' into fix-spectator-seeks 2022-04-06 12:58:43 +09:00
Bartłomiej Dach
9c91e6d8f5
Merge branch 'master' into mod-overlay/full-screen 2022-04-05 21:29:40 +02:00
Dean Herbert
3ca365ad7f
Merge branch 'master' into dangerous-delete-actions 2022-04-05 10:55:01 +09:00
CenTdemeern1
b2c822a3b1 Release mouse button 2022-04-04 23:02:07 +02:00
CenTdemeern1
da315f8a61 Make the test hold the button instead of pressing it 2022-04-04 22:44:35 +02:00
Bartłomiej Dach
a1ded66fd8
Fix various breakage in delete local score test scene 2022-04-04 21:59:09 +02:00
Bartłomiej Dach
29b7460cc7
Fix weird test step 2022-04-04 20:05:54 +02:00
Dean Herbert
3ba81f3fdc Fix overlapping variable usage 2022-04-04 15:29:03 +09:00
Dean Herbert
f00dc5e156
Merge pull request #17598 from smoogipoo/playlist-quick-reorder
Fix playlist refreshing all items on order change
2022-04-04 14:48:05 +09:00
Bartłomiej Dach
90e44b67ea
Improve robustness of test code 2022-04-03 20:24:32 +02:00
Bartłomiej Dach
a172b194f0
Add testing for different rulesets 2022-04-03 20:12:34 +02:00
Bartłomiej Dach
2921a13609
Add testing for mod bindable state propagation 2022-04-03 20:12:34 +02:00
Bartłomiej Dach
e46c2df409
Add testing for customisation panel show/hide logic 2022-04-03 20:12:33 +02:00
Bartłomiej Dach
293ef44836
Implement new mod select screen 2022-04-03 20:12:33 +02:00
Dean Herbert
969f7e121a
Merge pull request #17545 from jai-x/new-chat-textbox
Implement `ChatTextBox` for new chat design
2022-04-03 22:12:12 +09:00
Bartłomiej Dach
6d1844adc3
Use nameof() in test to reference event names 2022-04-03 14:27:37 +02:00
Jai Sharma
94fa5e2ef2 Use Action<string> for event OnChatMessageCommitted & clear textbox internally 2022-04-02 21:58:54 +01:00
Bartłomiej Dach
28ba437d24
Merge branch 'master' into sucess-rate-tooltip 2022-04-02 19:31:45 +02:00
Salman Ahmed
b815f685fc Flip viaConfig conditional branch 2022-04-02 19:28:33 +03:00
Jai Sharma
9e152cd3fd Fix code quality issues 2022-04-02 17:27:44 +01:00
Salman Ahmed
8534dd3463
Simplify TestCase attributes to one Values attribute
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-02 19:24:16 +03:00
Jai Sharma
2297073b7e Use OnChatMessageCommit & OnSearchTermsChanged events in ChatTextBar 2022-04-02 17:15:19 +01:00
Salman Ahmed
c4635f3c03 Add failing test case 2022-04-02 18:36:32 +03:00
Salman Ahmed
a252c4cad5 Add random pass/play count data in test scene 2022-04-02 18:08:23 +03:00
CenTdemeern1
c103cee1d5 Need to commit the second half again because my Git UI messed up 2022-04-02 04:53:47 +02:00
CenTdemeern1
a1baced777 Change behavior of the display mode test
I remembered to run InspectCode this time, all good
2022-04-02 04:45:21 +02:00
CenTdemeern1
ee9696855b Remove hover test 2022-04-02 04:41:05 +02:00
CenTdemeern1
245e452d41 Remove redundant typecast I accidentally left in (Thanks InspectCode) 2022-04-02 04:31:43 +02:00
CenTdemeern1
95ccac50d4 Add display mode changing test
Yup this is gonna fail horribly
2022-04-02 04:26:16 +02:00
CenTdemeern1
9350f6f5f8 Add spaces around commas in Vector2 construction 2022-04-02 02:59:07 +02:00
CenTdemeern1
dc744f18ff Trim whitespace 2022-04-02 02:43:51 +02:00
CenTdemeern1
6685c97147 mainContainer -> toolbarClock 2022-04-02 02:43:44 +02:00
CenTdemeern1
b07152a119 Initial attempt at writing a test for the toolbarClock
I'll add more once I know if this code passes review or not
2022-04-02 02:35:37 +02:00
Dan Balasescu
6e6271d0c0 Fix "server-side" room playlist not updated
Remove unused using
2022-04-01 18:32:10 +09:00
Dan Balasescu
37dea0ff21 Add failing test case 2022-04-01 17:05:11 +09:00
Dean Herbert
058350dfd8 Fix failing test due to incorrect sizing specification 2022-04-01 10:53:16 +09:00
Bartłomiej Dach
1c7b259f8e
Merge branch 'master' into mod-overlay/sheared-toggle 2022-03-31 22:20:20 +02:00
Bartłomiej Dach
e180db145d
Add constructor argument to facilitate fixed width/autosizing 2022-03-31 22:19:08 +02:00
Bartłomiej Dach
b3896257ca
Move shear amount to constant 2022-03-31 22:09:03 +02:00
Dean Herbert
e8a295a61b Add test coverage of textbox focus in settings panels when switching between nested panels 2022-03-31 15:24:21 +09:00
Bartłomiej Dach
3ac0da2da3
Implement sheared toggle button 2022-03-30 22:50:21 +02:00
Bartłomiej Dach
f4184cb6fe
Fix typo in step name 2022-03-30 22:04:55 +02:00
Bartłomiej Dach
9621a7f9cb
Merge branch 'master' into fix-autoplay-mod-user-id 2022-03-30 21:41:45 +02:00
Dan Balasescu
cb1ee05539
Merge pull request #17555 from peppy/remove-source-from-wedge
Remove song source from main wedge display
2022-03-30 18:57:25 +09:00
Dean Herbert
bc0b982102 Remove song source from main wedge display
This was definitely added at someone's request, since I wouldn't have
put it here. But it's displayed below in the details section already and
also not displayed in the updated "wedge" in the new design.

See https://github.com/ppy/osu/discussions/17537 for discussion.
2022-03-30 17:59:40 +09:00
Dean Herbert
99f141d396
Merge pull request #17546 from frenzibyte/autoplay-cinema-incompatibility
Mark both "Autoplay" and "Cinema" mods as mutually exclusive
2022-03-30 16:41:07 +09:00
Dean Herbert
975883da5c Move all usages of client.realm filename to a single const 2022-03-30 13:34:48 +09:00
Dan Balasescu
c311e11496
Merge pull request #17527 from peppy/switch-osu-folder
Add ability to "migrate" data to another folder which has an existing install
2022-03-30 13:20:49 +09:00
Salman Ahmed
7495a04990 Ignore EF-to-realm migration tests on ARM architectures 2022-03-30 01:24:37 +03:00
Salman Ahmed
b7ae431252 Add test coverage 2022-03-30 01:08:22 +03:00
Jai Sharma
f049d7cb67 Implement ChatTextBox for new chat design
Reference design: https://www.figma.com/file/f8b2dHp9LJCMOqYP4mdrPZ/Client%2FChat?node-id=1%3A297

Adds new component `ChatTextBox`.
Exposes `BindableBool` `ShowSearch` to change text input behaviour
between normal and search behaviour.

Adds new component `ChatTextBar`.
Exposes `BindableBool` `ShowSearch` which toggles between showing current
chat channel or search icon.
Additionally binds to child `ChatTextBox` components.
Requires a cached `Bindable<Channel>` instance to be managed by a parent
component.
2022-03-29 22:33:38 +01:00
Dean Herbert
f762af1344 Add test coverage of migrating to folder with existing data 2022-03-29 23:28:07 +09:00
Dean Herbert
ea9495eb74 Update all existing calls to extension method with correct fallback handling 2022-03-29 16:51:30 +09:00
Dean Herbert
7059e4bf94 Add test coverage for autoplay avatar not being clickable 2022-03-28 23:37:39 +09:00
Dean Herbert
01980effe2
Merge pull request #17449 from smoogipoo/countdown-button-ux
Improve multiplayer ready button/countdown button UX
2022-03-27 13:42:10 +09:00
Bartłomiej Dach
b68c3265f6
Merge branch 'master' into clock 2022-03-26 20:55:08 +01:00
Bartłomiej Dach
69cc863611
Fix test failures in skin editor test scene 2022-03-26 19:28:07 +01:00
Dean Herbert
622458e857 Allow scaling display in the test scene 2022-03-26 18:56:28 +09:00
Dean Herbert
999ae88af2 Show game time display in clock 2022-03-26 18:13:20 +09:00
Dean Herbert
0d8a7246dd Add basic implementation of clock 2022-03-26 18:13:13 +09:00
Dean Herbert
c3a0f0d6b8 Update tests in line with new button behaviour 2022-03-26 14:43:41 +09:00
Dean Herbert
0146717fcb Adjust test button sizing to better match actual usage 2022-03-26 14:29:31 +09:00
Dean Herbert
f92a31cd39
Merge pull request #17402 from smoogipoo/multiplayer-auto-countdown
Add multiplayer auto-start countdown timer
2022-03-25 20:31:14 +09:00
Dean Herbert
76abce4867 Add missing wait calls on async test steps 2022-03-25 18:38:26 +09:00
Dean Herbert
1acfbf490b
Merge branch 'master' into mod-overlay/settings-area 2022-03-25 17:37:39 +09:00
Dan Balasescu
c1649714f4 Add a few more ready button tests 2022-03-25 17:12:00 +09:00
Dan Balasescu
d5a37c2237 Remove irrelevant test 2022-03-25 17:06:04 +09:00
Dean Herbert
aa9e642e40
Merge branch 'master' into pin-multiplayer-host 2022-03-25 16:49:35 +09:00
Dan Balasescu
478174dd58
Merge pull request #17416 from peppy/skin-fuck
Refactor skin construction
2022-03-25 15:36:06 +09:00
Bartłomiej Dach
5f730c0cd4
Merge branch 'master' into fix-old-legacy-replays 2022-03-24 23:21:50 +01:00
Bartłomiej Dach
b76cd2beae
Merge branch 'master' into fix-realm-import-test-assert-failure 2022-03-24 21:48:10 +01:00
Dean Herbert
d6fc53579e Split out shared code for encode-decode cycle (and remove unrelated culture set) 2022-03-24 17:00:49 +09:00
Dean Herbert
a7554dcdf7 Use a constant for the early version timing offset 2022-03-24 16:43:41 +09:00
Dean Herbert
2efae031c9 Add test coverage of decode specifically 2022-03-24 16:39:56 +09:00
Dean Herbert
59a7eb5322 Add test coverage ensuring offsets are correct before and after legacy replay encode 2022-03-24 16:34:21 +09:00
Dan Balasescu
f0d132b16e Rename FinishCountdown() -> SkipToEndOfCountdown() 2022-03-24 15:21:46 +09:00
Dean Herbert
1049e349e3 Add test coverage of user offset being set before construction of MasterGameplayClockContainer 2022-03-24 14:55:01 +09:00
Dean Herbert
16dc2f6ef5 Adjust TestSceneFailAnimation to account for initial frequency change 2022-03-24 14:51:21 +09:00
Dan Balasescu
96a447f68b Rename Multiplayer prefix to button classes 2022-03-24 14:28:38 +09:00
Dan Balasescu
90c7945bca Re-remove PopoverButton class with better test fix 2022-03-24 14:26:31 +09:00
Dean Herbert
6f529cf7a4 Merge branch 'master' into fix-spectator-seeks 2022-03-24 14:24:20 +09:00
Dean Herbert
4d0b4c2541 Fix realm potentially not being refreshed in time for test asserts in BeatmapImporterTests
As seen at https://github.com/ppy/osu/runs/5659368512?check_suite_focus=true

Went through every usage of `.Import` and added either an
`EnsureLoaded`, or where that provides too many checks, an explicit
`realm.Refresh()`.
2022-03-24 12:59:17 +09:00
Dan Balasescu
547418e47e Revert "Remove PopoverButton class"
This reverts commit 6b712be97d.
2022-03-24 11:15:51 +09:00
Dean Herbert
05c7e09d79 Make Textures and Samples read-only 2022-03-24 00:02:38 +09:00
Dan Balasescu
34a367b369 Merge branch 'master' into multiplayer-countdown-timers-2 2022-03-23 15:40:50 +09:00
Dean Herbert
6542f974f2
Merge branch 'master' into skin-fuck 2022-03-23 15:30:22 +09:00
Dan Balasescu
a83a90e675 Rename countdown Delay -> Duration 2022-03-23 15:21:16 +09:00
Dean Herbert
078288a616 Make "skin.ini" the default skin filename and remove redundant parameters 2022-03-23 15:05:01 +09:00
Dean Herbert
7a1909bf97 Change parameter order of LegacySkin to put IStorageResourceProvider first
The optional resource store should not be before the (basically)
required resource provider.
2022-03-23 15:02:04 +09:00
Dean Herbert
a7f63fb034 Make providing a custom ResourceStore to LegacyBeatmapSkin optional (for tests only) 2022-03-23 14:57:42 +09:00
Dan Balasescu
6b712be97d Remove PopoverButton class 2022-03-23 10:40:38 +09:00
Dan Balasescu
9138aaf780 Split MultiplayerReadyButton 2022-03-23 10:38:56 +09:00
Dan Balasescu
1ffa1e1219
Merge pull request #17400 from nagilson/screen-mod-retention
Fix mods from single player carrying over to multiplayer
2022-03-23 08:36:15 +09:00
Dan Balasescu
8591630e5c
Merge branch 'master' into editor-exit-harsh-blocking 2022-03-23 07:06:25 +09:00
Bartłomiej Dach
8647bebdca
Merge branch 'master' into hold-to-discard-changes 2022-03-22 20:37:43 +01:00
Bartłomiej Dach
8192fb47fe
Merge branch 'master' into skin-editor-eat-input 2022-03-22 19:22:48 +01:00
Bartłomiej Dach
c8d48f89e8
Remove unnecessary local 2022-03-22 19:13:22 +01:00
Bartłomiej Dach
94c5207f36
Fix test not actually testing desired scenario anymore
The test was checking the test scene's own `SelectedMods` bindable
rather than the multiplayer screen's, and the former was never actually
being mutated by anything. Therefore the case would pass even on
`master` with the fix reverted.
2022-03-22 19:04:32 +01:00
Dean Herbert
804e856160 Move and refactor test in line with functionality changes 2022-03-22 17:38:43 +09:00
Dean Herbert
ff8352b749
Merge branch 'master' into screen-mod-retention 2022-03-22 17:27:26 +09:00
Dean Herbert
483fb84b56 Fix typo in FinishCountdown method 2022-03-22 16:50:13 +09:00
Dean Herbert
2c4a6c2465 Add missing async safeties to new tests 2022-03-22 16:46:42 +09:00
Dean Herbert
61ddf1e6cf Disallow exiting the editor without saving (unless explicitly confirming) 2022-03-22 15:42:56 +09:00
Dean Herbert
0fcb3bdba9 Fix beatmap date added not being updated on reimporting a soft deleted beatmap
Addresses concerns raised in https://github.com/ppy/osu/discussions/17399.
2022-03-22 14:10:36 +09:00
NAGILSON
33d97f53cb Fill in assert details, remove whitespace 2022-03-21 22:58:53 -04:00
NAGILSON
aaf2edace9 remove code from old incorrect test 2022-03-21 22:48:08 -04:00
NAGILSON
74ce009ed8 [WIP] Multiplayer Mods Regression Test 2022-03-21 22:46:20 -04:00
Dan Balasescu
aea03ca21d
Merge pull request #17359 from frenzibyte/fix-score-panel-max-combo
Improve method of retrieving beatmap maximum combo for results score panels
2022-03-22 06:28:30 +09:00
Dean Herbert
ed66f86ac6 Update editor exit-without-safe tests to account for hold behaviour 2022-03-21 17:52:54 +09:00
Dean Herbert
3643f879e4 Add test coverage of skin editor settings slider not working via keyboard adjustments 2022-03-21 17:33:56 +09:00
Dean Herbert
b42081dd9b Add DangerousButton for use in popup dialogs 2022-03-21 16:06:45 +09:00
Dean Herbert
5104e4db21 Add step to TestSceneChannelListItem to actually select an item 2022-03-21 14:33:50 +09:00
Dean Herbert
812343b410 Merge branch 'master' into new-chat-channel-control 2022-03-21 14:14:02 +09:00
Salman Ahmed
5c1e11c153
Merge branch 'master' into queue-list-counter 2022-03-21 05:01:09 +03:00
hwabis
06136b2247 Revert OsuTabItem Text to protected, update tab count test 2022-03-20 21:37:02 -04:00
hwabis
63b6686384 make test name clearer 2022-03-20 16:28:05 -04:00
hwabis
8fbdd06895 add queue tab count test 2022-03-20 16:24:41 -04:00
Salman Ahmed
6f47f7ffc8 Remove no longer necessary MaxCombo assignment in tests 2022-03-20 16:29:56 +03:00
Jai Sharma
ba5a43b526 Rename ControlItem -> ChannelListItem and associated classes 2022-03-19 21:49:14 +00:00
Dean Herbert
63998ad9f1 Add test coverage of SpectatorPlayer failing to seek on inopportune frame arrival time 2022-03-19 15:06:22 +09:00
Salman Ahmed
60390a916a
Merge branch 'master' into fix-intermittent-failure 2022-03-19 02:49:21 +03:00
Dan Balasescu
04f4e81852 Rename start countdown request 2022-03-18 21:05:19 +09:00
Salman Ahmed
2cb1974a58 Add max combo to test beatmap info 2022-03-18 13:11:41 +03:00
Dan Balasescu
c97aa3a26f Fix intermittent ready button test failure 2022-03-18 18:57:34 +09:00
Dean Herbert
7cb7b03cee Fix TestSceneMasterGameplayClockContainer not clearing previous test clocks 2022-03-18 18:16:47 +09:00
Dean Herbert
4bc7c69bf7 Fix test regression due to missing argument 2022-03-18 16:27:14 +09:00
Dean Herbert
f09a946722 Start GameplayClockContainer paused for better state control 2022-03-18 15:28:22 +09:00
Dean Herbert
b5ff9ed13a Add test coverage of multiplayer being paused when users are still loading 2022-03-18 15:07:42 +09:00
Dan Balasescu
72843a6797 Add support for starting/stopping countdowns 2022-03-18 14:33:09 +09:00
Dan Balasescu
efce471f0b Add countdown button + popover 2022-03-18 14:31:57 +09:00
Dan Balasescu
b76a87e6f8 Split ready button visual logic into button itself 2022-03-18 14:31:57 +09:00
Salman Ahmed
a7ddfc7f51 Add step for returning host back to local user 2022-03-18 08:08:31 +03:00
Salman Ahmed
d0cc68bc97 Add test coverage 2022-03-18 07:26:10 +03:00
Salman Ahmed
4adb8c205f Add step to switch hosts randomly in TestManyUsers 2022-03-18 07:18:49 +03:00
Dan Balasescu
af6d53ad64
Merge pull request #17279 from peppy/skin-editor-borrowed-dependencies
Only show components in skin editor which are usable on the current screen
2022-03-18 11:29:12 +09:00
Dean Herbert
6ec024c84d
Merge pull request #17307 from frenzibyte/lead-in-test-scene-manual 2022-03-18 10:53:16 +09:00
Bartłomiej Dach
cf623a2889
Merge branch 'master' into multiplayer-button-refactor 2022-03-17 22:33:48 +01:00
Bartłomiej Dach
50d64e1b65
Merge branch 'master' into skin-editor-borrowed-dependencies 2022-03-17 21:27:43 +01:00
Bartłomiej Dach
a8bb696e5b
Cache gameplay clock in more places to fix song progress related tests 2022-03-17 21:22:07 +01:00
Dean Herbert
e3ab5de8cd Tidy up constructor logic overlap with gameplayStartTime 2022-03-18 01:35:50 +09:00
Dean Herbert
e3a8bb2d1c Add test coverage of SpectatorPlayer failing to seek on inopportune frame arrival time 2022-03-17 20:57:30 +09:00
Dean Herbert
ef29de9971 Add one more missing dependency required by SongProgress 2022-03-17 19:50:43 +09:00
Dan Balasescu
da0ffab14e Integrate ready button implementation 2022-03-17 18:43:04 +09:00
Dan Balasescu
461d41529b Integrate spectate button implementation 2022-03-17 18:36:33 +09:00
Dean Herbert
ac739c9dae Change PerformancePointsCounter resolution requirements to be required
All other similar UI components have required dependencies, so this is
mainly to bring things in line with expectations. I am using this fact
in the skin editor to only show components which can be used in the
current editor context (by `try-catch`ing their
`Activator.CreateInstance`).
2022-03-17 14:56:35 +09:00
Salman Ahmed
46e66e66e4 Make opening chat overlay opt-in to add coverage for unloaded chat overlays
Causes `TestHighlightWhileChatNeverOpen` to fail as expected.
2022-03-17 08:19:40 +03:00
Bartłomiej Dach
624f9fc774
Implement mod settings area component 2022-03-16 23:13:11 +01:00
Bartłomiej Dach
a8cefca685
Simplify fade-out transform 2022-03-16 21:49:04 +01:00
Bartłomiej Dach
03d3969b38
Remove unnecessary OsuColour cache
One is already cached at `OsuGameBase` level.
2022-03-16 21:46:02 +01:00
Dean Herbert
3f61b0d968 Add missing OverlayColourProvider to SkinEditor test 2022-03-16 22:23:19 +09:00
Dan Balasescu
7f65f6adcc
Merge branch 'master' into skin-editor-sidebars 2022-03-16 21:12:18 +09:00
Jai Sharma
c2e4779c2e Remove redundant spacing in ControlItem test scene 2022-03-16 11:57:11 +00:00
Dan Balasescu
b9387c7ff1
Merge branch 'master' into skin-editor-scene-library 2022-03-16 20:42:30 +09:00
Dean Herbert
4525ed645c Update skin editor to use EditorSidebar 2022-03-16 19:30:51 +09:00
Dean Herbert
d062810ff2 Add basic scene selector 2022-03-16 19:12:06 +09:00
Dean Herbert
2452d84e98 Add missing Schedule call to allow individual tests from TestSceneMessageNotifier to pass 2022-03-16 18:44:30 +09:00
Dan Balasescu
7e8aa77b2b
Merge pull request #17260 from peppy/editor-sidebar
Add `EditorSidebar` component
2022-03-16 18:20:18 +09:00
Dean Herbert
ba1642a680 Allow section headers to wrap 2022-03-16 17:19:08 +09:00
Jai Sharma
1c79083f96 Move all PlaylistResultScreen test state initialisation into SetUpSteps 2022-03-15 22:15:35 +00:00
Jai Sharma
c56df80106 Fix PlaylistResultsScreen test failures
As seen: https://github.com/ppy/osu/pull/17252/checks?check_run_id=5545717506

The `PlaylistsResultsScreen` takes a lease on the `Beatmap` bindable
when entered. During `SetUp`, the `Beatmap` bindable is reassigned but
fails in cases where an existing test instance of the screen hasn't been
exited yet. This fix moves the assignment into the `SetUpSteps` function
after `base.SetUpSteps` is called which will exit the existing screens
first.
2022-03-15 20:38:04 +00:00
Dean Herbert
9e476ced63 Add EditorSidebar component 2022-03-15 16:38:00 +09:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction 2022-03-15 13:31:57 +09:00
Dean Herbert
deb4aeb4b2
Merge pull request #17242 from smoogipoo/performance-calculator-cleanup
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-15 13:31:34 +09:00
Dan Balasescu
daac933498 Remove unnecessary ctor arguments 2022-03-15 12:34:58 +09:00
Dan Balasescu
faf145742f Fix incorrect provided ruleset in test 2022-03-15 09:21:09 +09:00
Dan Balasescu
59d57a44d4 Prevent incorrect usages by hard-typing ctor type 2022-03-15 09:11:59 +09:00
Jai Sharma
6628b7c654 Ensure existing items are expired and cleared in ChannelControlItem test setup 2022-03-14 22:21:18 +00:00
Jai Sharma
75958bf270 Refactor ControlItemText to use bindable flow for unread state 2022-03-14 21:32:30 +00:00
Jai Sharma
b01a809d55 Refactor ControlItemMention to use bindable flow 2022-03-14 21:26:33 +00:00
Jai Sharma
9621ef9437 Use OsuColour.Red1 for ControlItemClose hover colour 2022-03-14 21:10:39 +00:00
Jai Sharma
e9f0ad33ef Use autosizing for ChannelControlItem test scene 2022-03-14 20:06:31 +00:00
Jai Sharma
c0d82dfb41 Code quality fixes 2022-03-14 19:42:55 +00:00
Jai Sharma
39c30516d0 Implement ChannelControlItem for new chat design
Adds new component `ChannelControlItem` and it's child components to be
used as the clickable control in the new chat sidebar for joined
channels.

Has public properties `HasUnread` and `MentionCount` to control the
display of the channel having unread messages or mentions of the user.

Channel select/join requests are exposed via `OnRequestSelect` and
`OnRequestLeave` events respectively which should be handled by a parent
component.

Requires a cached `Bindable<Channel>` instance to be managed by a parent
component.

Requires a cached `OveralayColourScheme` instance to be provided by a
parent component.
2022-03-14 18:55:27 +00:00
Dean Herbert
b31ff679fb Provide correct HitResult type for random judgements in TestSceneHitErrorMeter 2022-03-14 19:16:19 +09:00
Dan Balasescu
3fff7f4b7e Require ScoreProcessor to receive ruleset 2022-03-14 15:51:10 +09:00
Dan Balasescu
4a3e3aba65 Restructure PerformanceCalculator to not require ScoreInfo argument 2022-03-14 14:25:28 +09:00
Salman Ahmed
720e1cd206 Add failing test cases 2022-03-14 03:47:18 +03:00
Salman Ahmed
dbc26c3534 Add failing test assertion 2022-03-14 03:46:11 +03:00
Salman Ahmed
cc87563d57
Merge branch 'master' into chat-mention-highlight 2022-03-11 17:51:22 +03:00
Salman Ahmed
a31611bdec Improve channel switching flow in HighlightMessage 2022-03-10 23:07:15 +03:00
Salman Ahmed
e419370830 Add test coverage for highlighting message on left channel 2022-03-10 21:30:02 +03:00
Dean Herbert
e4ef540b5b Fix intermittent failures on TestBeatmapDownloadingFlow due to slow realm refresh 2022-03-10 20:33:14 +09:00
Dean Herbert
d1f8fd01df
Merge pull request #17180 from jai-x/new-chat-channel-listing
Implement `ChannelListing` for new chat design
2022-03-10 19:27:58 +09:00
Dean Herbert
d5eca16b69 Fix potential test failures due to slow realm refresh in TestSceneScreenNavigation
As seen at https://github.com/ppy/osu/runs/5492345983?check_suite_focus=true.
2022-03-10 18:10:08 +09:00
Dean Herbert
db5c2c15dc
Merge pull request #17164 from smoogipoo/scoreprocessor-rework
Rework ScoreProcessor score calculation methods to fix various issues
2022-03-10 16:48:58 +09:00
Dan Balasescu
13a4058efd
Merge pull request #17191 from peppy/fix-mod-conversion-exceptions
Change `ToMod` to return an `UnknownMod` rather than throw if a mod isn't available
2022-03-10 16:20:50 +09:00
Dan Balasescu
cf91353009 Merge branch 'master' into scoreprocessor-rework 2022-03-10 16:14:28 +09:00
Dean Herbert
0155519343 Merge branch 'master' into new-chat-channel-listing 2022-03-10 15:49:06 +09:00
Dean Herbert
022dd88aef
Merge branch 'master' into chat-mention-highlight 2022-03-10 14:23:23 +09:00
Salman Ahmed
f229447453 Add too many messages to better test long scrolls 2022-03-10 04:01:07 +03:00
Salman Ahmed
d4de435eb2 Add test case for highlighting while chat overlay is hidden 2022-03-10 02:50:27 +03:00
Salman Ahmed
80c0df6af5 Scroll chat line to channel center
We may eventually want that encapsulated within `ScrollIntoView`, as it
would also come in handy for `GameplayLeaderboard`.
2022-03-10 02:50:15 +03:00
Jai Sharma
b67f9269f9 Remove NewChat namespace 2022-03-09 18:13:56 +00:00
Dean Herbert
94ff6a338f
Merge branch 'master' into scoreprocessor-rework 2022-03-09 23:04:18 +09:00
Dean Herbert
5fb51b578f Update dependencies
Mainly for a `Clowd.Squirrel` bump to fix https://github.com/ppy/osu/discussions/17190.
2022-03-09 19:09:51 +09:00
Dean Herbert
2e350a91cc Fix non-matching filename 2022-03-09 18:07:43 +09:00
Dean Herbert
2eb3365f46 Fix regressing issues when attempting to exit Player after an unsuccessful beatmap load 2022-03-09 17:57:58 +09:00
Dean Herbert
1ee0be5e39 Ensure gameplay can't start when an UnknownMod is present 2022-03-09 17:57:58 +09:00
Dean Herbert
0267aed846 Change ToMod to return an UnknownMod rather than throw if a mod isn't available
As seen by this kind of crash, having the `.ToMod` method throw can be
very problematic and also hidden (as it is used inside of models in
places where exceptions are not expected to occur).

Given there are tens of usages of this method, returning a placeholder
mod seems like a better idea than outright throwing.

```
 An unhandled has occurred.
 System.InvalidOperationException:
There is no mod in the ruleset (osu) matching the acronym AS.
 at osu.Game.Online.API.APIMod.ToMod(Ruleset ruleset) in /Users/dean/Projects/osu/osu.Game/Online/API/APIMod.cs:line 54
 at osu.Game.Scoring.ScoreInfo.<get_Mods>b__117_0(APIMod m) in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
 at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
 at osu.Game.Scoring.ScoreInfo.get_Mods() in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
 at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c.<subscribeToLocalScores>b__40_2(ScoreInfo s) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line 199
 at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
 at osu.Game.Database.RealmObjectExtensions.Detach[T](IEnumerable`1 items) in /Users/dean/Projects/osu/osu.Game/Database/RealmObjectExtensions.cs:line 180
 at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c__DisplayClass40_0.<subscribeToLocalScores>g__localScoresChanged|1(IRealmCollection`1 sender, ChangeSet changes, Exception exception) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line
209
 at Realms.RealmCollectionBase`1.Realms.INotifiable<Realms.NotifiableObjectHandleBase.CollectionChangeSet>.NotifyCallbacks(Nullable`1 changes, Nullable`1 exception)
 at Realms.NotifiableObjectHandleBase.NotifyObjectChanged(IntPtr managedHandle, IntPtr changes, IntPtr exception)
```
2022-03-09 17:57:55 +09:00
Dean Herbert
affcf5180b
Merge pull request #17161 from smoogipoo/fix-listing-score-conversion
Fix scores not being recalculated in beatmap overlay
2022-03-09 13:32:45 +09:00
Dean Herbert
58aef25ad5
Merge pull request #17152 from bdach/mod-overlay/difficulty-multiplier
Implement difficulty multiplier display for new mod select design
2022-03-09 12:11:16 +09:00
Dan Balasescu
810cbd745d
Merge pull request #17170 from peppy/fix-top-local-rank-test-failures-realm-callback
Refactor top local rank test method to be more resilient to slow realm callbacks
2022-03-09 11:14:37 +09:00
Dan Balasescu
af4423959c
Merge pull request #17169 from peppy/fix-song-select-test-failures-realm-callback
Refactor song select test methods to be resilient to slow realm callbacks
2022-03-09 11:14:26 +09:00
Jai Sharma
9720a06b16 Use int in ChannelListing test 2022-03-09 00:52:33 +00:00
Jai Sharma
a3477c3841 Implement ChannelListing for new chat design
Adds components `ChannelListing` and `ChannelListing` item with visual
test. Essentially a more simplified version of the existing
`ChannelSelectionOverlay` component.

Correctly implements `IFilterable` behaviour to filter child channel
items. Channel joined state is based on the underlying `Joined` bindable
of the `Channel` class.

Channel join/leave events are exposed via `OnRequestJoin` and
`OnRequestLeave` events which should be handled by parent component.

Requires a cached `OverlayColourScheme` instance to be provided by the
parent overlay component when added.
2022-03-08 22:30:58 +00:00
Bartłomiej Dach
e91226f578
Fix 'auto-property never assigned to' inspections 2022-03-08 21:41:10 +01:00
Dan Balasescu
714789f726
Merge pull request #17167 from peppy/fix-download-button-test-failure
Fix potential test failure on slow realm callback in `TestSceneBeatmapDownloadButton`
2022-03-09 01:49:23 +09:00
Dean Herbert
233c8232d3 Fix TestSceneTopLocalRank.TestHighScoreSet not waiting for potentially slow realm callback
As brought to light by https://gist.github.com/smoogipoo/56eda7ab56b9d1966556f2ca7a80a847.
2022-03-09 01:22:01 +09:00
Dean Herbert
286bafe326 Refactor multiple TestScenePlaySongSelect test methods to be resilient to slow realm callbacks 2022-03-09 01:18:53 +09:00
Dean Herbert
56ad684f5b Fix potential test failure on slow realm callback in TestSceneBeatmapDownloadButton
As brought to light by https://gist.github.com/smoogipoo/56eda7ab56b9d1966556f2ca7a80a847.
2022-03-09 01:11:46 +09:00
Dan Balasescu
729af28a64 Fix intermittent test failure 2022-03-09 00:48:12 +09:00
Dan Balasescu
94d5e2f264 Fix test failure ripple through entire TestScene 2022-03-09 00:48:03 +09:00
Dan Balasescu
e9a2d23542 Fix score order related test failure 2022-03-08 23:35:35 +09:00
Dan Balasescu
f1c40bd9ed Rework GetScore() method signatures + implementations
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
Dan Balasescu
2c382bd1d9 Rename GetImmediateScore() as overload of GetScore() 2022-03-08 21:49:40 +09:00
Dean Herbert
da7c6f1772 Merge branch 'master' into chat-mention-highlight 2022-03-08 21:15:12 +09:00
Dan Balasescu
d13a66a96c Rework test scene by only relying on OnlineID 2022-03-08 20:11:56 +09:00
Dean Herbert
9a347af5c7 Add test coverage of SubmittableScore serialisation to (roughly) match spec 2022-03-08 17:58:52 +09:00
Dean Herbert
2a55c5e02e Add extension method to detect and isolate realm collection-level changes 2022-03-08 14:50:47 +09:00
Salman Ahmed
7f47be4680 Refactor message highlighting logic to rely on a Channel data bindable 2022-03-08 03:19:37 +03:00
Bartłomiej Dach
78a3b5961e
Implement basic difficulty multiplier display 2022-03-07 22:50:51 +01:00
Dean Herbert
31d6c75f40 Merge branch 'master' into realm-property-watching 2022-03-07 13:53:17 +09:00
Dean Herbert
bd1adaf245
Merge pull request #17115 from frenzibyte/manual-channel-scroll
Refactor channel scrolling container to handle non-user scrolls
2022-03-07 11:26:23 +09:00
Salman Ahmed
741702549b Add test coverage for chat overlay message highlighting 2022-03-07 05:10:49 +03:00
Salman Ahmed
cb2133944d Add test coverage for channel message highlighting 2022-03-07 05:10:49 +03:00
Dan Balasescu
ba83db0229
Merge pull request #17134 from bdach/mod-overlay/popup-screen-title
Implement popup screen title component
2022-03-07 11:03:38 +09:00
Salman Ahmed
e5a6564034
Merge branch 'master' into fix-storyboard-sample-rate 2022-03-07 03:12:40 +03:00
Salman Ahmed
9bc1f3f014 Further refactor and simplify ChannelScrollContainer 2022-03-06 23:34:12 +03:00
Bartłomiej Dach
54275813b5
Use text flow container in popup screen title 2022-03-06 20:41:31 +01:00
Bartłomiej Dach
df0617f34c
Implement popup screen title component 2022-03-06 16:09:18 +01:00
Salman Ahmed
5b3ffb12b7 Refactor channel scrolling container to handle manual scrolls resiliently 2022-03-05 23:27:07 +03:00
Dean Herbert
0e8ad4b143 Switch step to Until steps due to AddOnce firing logic 2022-03-06 01:50:25 +09:00
Salman Ahmed
76e64f5013 Use manual framed clock for lead-in player test scene 2022-03-04 14:22:39 +03:00
Dean Herbert
e9e92b991e Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 15:09:44 +09:00
Dean Herbert
92cd8ee29f Decrease overhead of hit event distribution tests 2022-03-04 14:56:49 +09:00
Dean Herbert
540d7d0e2c Add the ability to set and show an offset value on timing distribution graph 2022-03-04 14:36:15 +09:00
Dean Herbert
e09dd7d8fe Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 13:25:14 +09:00
Dean Herbert
835cb09537 Merge branch 'master' into fix-hit-distribution-rounding 2022-03-04 12:43:57 +09:00
Dean Herbert
b0688cc6dd Merge branch 'master' into fix-storyboard-sample-rate 2022-03-04 12:04:49 +09:00
Bartłomiej Dach
e1610b5d32
Merge branch 'master' into ruleset-leaderboard-unavailable 2022-03-03 22:52:20 +01:00
Dean Herbert
1485a3a28a Add test coverage of proeprty changed subscriptions 2022-03-03 17:56:49 +09:00