1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 16:37:26 +08:00
Commit Graph

1220 Commits

Author SHA1 Message Date
Dean Herbert
08ca62205a
Merge pull request #22123 from stanriders/group-badges
Implement user group badges
2023-01-11 18:42:50 +09:00
Dean Herbert
b1a13286a3 Remove some redundancies 2023-01-11 16:50:37 +09:00
StanR
5441c02a1a Implement user group badges 2023-01-11 07:11:38 +03:00
Bartłomiej Dach
62e12277d8
Rename things yet again 2023-01-10 19:30:01 +01:00
Bartłomiej Dach
0026861bd4
Merge branch 'master' into user-profile/decouple-from-api-user 2023-01-09 17:47:59 +01:00
Bartłomiej Dach
4dec3cae57
Rename UserProfileData-related symbols 2023-01-09 17:46:08 +01:00
Bartłomiej Dach
fdf0d4bd62
Rename UserProfile{ -> Data} 2023-01-09 17:37:28 +01:00
ansel
4baa267095 warnings 2023-01-07 04:26:52 +03:00
ansel
49ce50878d Add simple test 2023-01-07 04:15:53 +03:00
Dean Herbert
464f251c0c
Merge branch 'master' into beatmap-set-link-genre-language 2023-01-06 17:09:06 +08:00
Bartłomiej Dach
a124c967df
Add proper offline & loading state handling to user profile overlay 2023-01-02 17:23:09 +01:00
Bartłomiej Dach
a2e726502f
Add ruleset selector to profile overlay 2023-01-02 17:23:04 +01:00
Bartłomiej Dach
7683ab68b0
Use UserProfile in profile ruleset selector 2023-01-02 17:23:01 +01:00
Bartłomiej Dach
1722f3a125
Add ruleset to UserProfile 2023-01-02 17:22:55 +01:00
Bartłomiej Dach
ae3a211da7
Rewrite user profile overlay test to not depend on online API 2023-01-02 17:21:12 +01:00
Bartłomiej Dach
d7294ac3e6
Substitute APIUser for UserProfile in overlay 2023-01-02 17:21:09 +01:00
Bartłomiej Dach
73f14bd14f
Enable NRT in user profile overlay test scenes 2023-01-01 23:49:15 +01:00
Bartłomiej Dach
2698d58c46
Merge branch 'master' into remember-chat-textbox-per-channel 2023-01-01 17:29:38 +01:00
Joseph Madamba
ffd9359f4a Add tests for chat text box saving / syncing 2022-12-28 15:14:29 -08:00
Bartłomiej Dach
3c0b8af8f1
Allow unsubscribing from solo statistics updates
This is more of a safety item. To avoid potential duplicate key in
dictionary errors (and also avoid being slightly memory-leaky), allow
`SoloStatisticsWatcher` consumers to dispose of the subscriptions they
take out.
2022-12-28 08:07:48 +01:00
Dean Herbert
209d44746a
Merge pull request #21762 from bdach/score-stats-updates
Add solo statistics watcher component to deliver incremental global user statistics updates
2022-12-24 21:30:34 +08:00
Bartłomiej Dach
3dfbb47b01
Add test coverage for wrong error message 2022-12-23 16:43:59 +01:00
Bartłomiej Dach
137a32ade6
Remove unused using directive 2022-12-23 16:39:35 +01:00
Dean Herbert
4a69cb4aae Add test coverage of wiki cancellation not causing error 2022-12-23 21:22:47 +08:00
Bartłomiej Dach
27afeb9e30
Add test coverage of merging ignored score updates 2022-12-22 19:59:41 +01:00
Bartłomiej Dach
48dc2332fd
Refactor test to be easier to work with 2022-12-22 19:59:35 +01:00
Bartłomiej Dach
722cf48614
Add test coverage for statistics watcher 2022-12-22 19:59:10 +01:00
Joseph Madamba
e1e6d76f30 Check id for genre/language instead and fallback to name if not defined 2022-12-21 11:02:04 -08:00
cdwcgt
1b2c821346
showpopover directly 2022-12-21 15:44:02 +09:00
cdwcgt
b37f1cce3f
Added ability to report chat 2022-12-20 23:46:05 +09:00
Bartłomiej Dach
64a45aa0e0
Merge branch 'master' into wiki-heading-id-attributes 2022-12-20 06:34:47 +01:00
Bartłomiej Dach
30b9f5d92e
Add test coverage for correct operation of flag extension 2022-12-19 21:32:41 +01:00
Bartłomiej Dach
12aa2e96db
Add test case covering failure 2022-12-19 21:29:10 +01:00
Bartłomiej Dach
5fb2a83f12
Add failing test case for footnote link navigation 2022-12-19 19:34:45 +01:00
Bartłomiej Dach
3c1a46605e
Set up test for two-way navigation testing 2022-12-19 19:34:42 +01:00
Bartłomiej Dach
6e55f2f779
Add test for markdown footnotes 2022-12-19 19:17:05 +01:00
Dean Herbert
877413524f Cherry-picked android changes from #17462 2022-12-19 15:46:54 +09:00
Joseph Madamba
8d83c78810 Fix casing on comment actions test 2022-12-18 21:12:38 -08:00
Dean Herbert
57048f0eba Add test coverage of featured artist filter confirmation process 2022-12-15 18:42:58 +09:00
Dan Balasescu
eea9bd3898
Merge pull request #21463 from peppy/fix-chat-system-message-ordering
Fix system messages appearing out of order in chat display
2022-12-02 17:39:20 +09:00
Dean Herbert
6524914dbd Merge branch 'master' into chat-profile-highlight-v2 2022-11-30 16:00:52 +09:00
Dean Herbert
9e34fe360a Ensure all LocalMessages get a timestamp 2022-11-30 15:46:36 +09:00
Dean Herbert
b0039c9b1b Add test coverage of incorrect system message ordering 2022-11-30 15:46:14 +09:00
Dean Herbert
b5c514a8f0 Make incoming Channel target non-nullable 2022-11-30 14:30:20 +09:00
Alden Wu
0cb7c94c21 Merge branch 'master' of https://github.com/ppy/osu into chat-profile-highlight-v2 2022-11-28 17:59:15 -08:00
Alden Wu
c2d8ffc225 Refactor ChatLine username drawable creation 2022-11-28 17:50:12 -08:00
cdwcgt
54681217be
fix test 2022-11-27 10:53:00 +09:00
cdwcgt
e16f8a4410
Merge branch 'master' into NowPlaying 2022-11-27 08:48:49 +08:00
Bartłomiej Dach
212d78865a
Add a few more missing partial specs 2022-11-26 16:30:52 +01:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
cdwcgt
13f86f3e53
Merge branch 'master' into NowPlaying 2022-11-25 23:22:52 +09:00
cdwcgt
a2ea7a3f58
show selected mod and use ILocalisedBindableString in np 2022-11-25 23:20:44 +09:00
Bartłomiej Dach
2f67199b1c
Merge branch 'master' into fix-missing-day-separator 2022-11-23 18:40:44 +01:00
Bartłomiej Dach
76bb529cfa
Add test for local echo adding day separator 2022-11-22 16:46:21 +01:00
Bartłomiej Dach
41039340cf
Fix rank graphs not showing in test due to unset IsRanked 2022-11-21 21:00:06 +01:00
Bartłomiej Dach
1777a60136
Add failing assertions 2022-11-21 20:58:52 +01:00
Bartłomiej Dach
735cac3104
Rewrite rank graph test to use more modern style 2022-11-21 20:56:38 +01:00
Andrei Zavatski
6f449a583e Handle empty values as a separate case 2022-11-19 23:27:48 +03:00
Dean Herbert
dde09d409b Merge branch 'master' into chat-silences 2022-11-12 21:00:56 +09:00
Dean Herbert
19876ca0fb
Merge branch 'master' into websocket-chat-2 2022-11-11 23:53:42 +09:00
Dean Herbert
ee68f33e3c
Merge pull request #21109 from frenzibyte/fix-beatmap-duplicating-again
Fix beatmap cards still potentially showing twice in listing
2022-11-06 18:46:31 +09:00
Dan Balasescu
fa18b5f701 Construct notifications client inside ChannelManager 2022-11-04 18:51:00 +09:00
Joseph Madamba
e11d44d14f Add url clicking support to profile badges 2022-11-03 18:12:32 -07:00
Salman Ahmed
37b5f48911 Adjust test scene to cover failure 2022-11-04 03:23:33 +03:00
Dan Balasescu
f688ed12d0 Add test for removing chat messages 2022-11-02 17:00:47 +09:00
Dan Balasescu
695104a666 Fix TestSceneChatOverlay messages not being unique 2022-11-02 16:59:03 +09:00
Dan Balasescu
5b25ef5f2f Construct notifications client via IAPIProvider 2022-11-01 21:34:34 +09:00
Dan Balasescu
169bcc2654 Use polling connector in tests 2022-10-28 18:08:08 +09:00
Salman Ahmed
90a9961a69 Add visual test case for report button
Makes it much easier to test button/popover design changes
2022-10-22 02:50:59 +03:00
ansel
15aeb4a137 Display text in buttons flow instead of toast 2022-10-21 17:25:41 +03:00
ansel
81bdf716ef Change test 2022-10-20 19:56:00 +03:00
ansel
18cc3b0bd3 Fix reason not set in test 2022-10-17 20:23:25 +03:00
ansel
3bcc91511f Update test 2022-10-17 13:46:13 +03:00
ansel
e1785f73a2 Make report's comment not optional 2022-10-16 20:14:05 +03:00
ansel
dc0aa2295a Add test 2022-10-14 16:51:48 +03:00
ansel
c65a8a83f3 Add basic UI for reporting 2022-10-14 15:52:09 +03:00
Feodor0090
565de23222
Fix CQ (non-readonly field) 2022-10-12 21:26:33 +03:00
Dean Herbert
00d8398056 Update test scene to allow seeing loading spinner 2022-10-12 15:48:42 +09:00
Dean Herbert
47fe4eb0bd Merge branch 'master' into comment-deletion 2022-10-12 15:48:26 +09:00
Dean Herbert
d700040a0d Make country code parsing resilient to invalid cases 2022-10-11 01:39:53 +09:00
Salman Ahmed
0309751d55 Add test coverage 2022-10-08 21:50:31 +03:00
Salman Ahmed
13083813bd Update hardcoded article page 2022-10-08 21:50:25 +03:00
ansel
e7b1f369a3 Revert unwanted changes in other tests 2022-10-08 18:55:58 +03:00
ansel
c384093802 Update main test and add failure scenario test 2022-10-08 18:53:41 +03:00
ansel
6e82ffbc6f Add check for spinner 2022-10-08 17:41:51 +03:00
ansel
c11258a7e9 Tidy up test reloading 2022-10-08 17:20:25 +03:00
ansel
abf56c27a1 Do not requere dialog overlay 2022-10-08 17:11:09 +03:00
ansel
85adfc2df7 Fix DI type 2022-09-28 18:26:36 +03:00
ansel
965e7bf265 Check local deletion in test 2022-09-28 17:52:12 +03:00
ansel
4013c96ca5 Fix test failures 2022-09-27 22:40:53 +03:00
ansel
5282c8b8c6 Fix CQ 2022-09-27 19:40:18 +03:00
ansel
2f551be1be Implement tests 2022-09-27 19:03:02 +03:00
ansel
710f9e8f58 Setup a test scene 2022-09-27 18:11:27 +03:00
Salman Ahmed
a5b962d9a3 Add failing test case 2022-09-13 01:37:23 +03:00
Dan Balasescu
ba2ef424d4 Turn score ids into ulongs 2022-09-09 11:46:06 +09:00
Dean Herbert
a215d009fe Update Remove/RemoveRange/RemoveAll calls in line with framework changes 2022-08-29 15:57:40 +09:00
Bartłomiej Dach
cc353b872c
Add test coverage for other approval events 2022-08-06 18:21:57 +02:00
Dean Herbert
8da499fb0f Add proper test coverage 2022-07-28 12:16:21 +09:00
Salman Ahmed
6bdd1f43a2 Add visual test coverage 2022-07-25 09:40:20 +03:00
Salman Ahmed
6c95c49da3 Mark test score with null PP for visual testing 2022-07-25 07:31:52 +03:00
Salman Ahmed
c937c0548e Add test coverage 2022-07-23 10:16:11 +03:00
Salman Ahmed
5513a8b6b4 Fix changelog overlay tests failing due to missing CreatedAt date 2022-07-21 07:21:27 +03: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
Salman Ahmed
e7f35701db Add failing test case 2022-07-20 09:06:11 +03:00
Salman Ahmed
4d1f9a1329 Adjust test scene to cover slider ticks 2022-07-20 00:53:10 +03:00
Salman Ahmed
b5c7d07ba8
Merge branch 'master' into fix-user-profile-overlay 2022-07-18 10:27:33 +03: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
100c53f9ef Country -> CountryCode 2022-07-18 08:40:34 +03:00
tsunyoku
14ae183c70 update tests to match SoloScoreInfo 2022-07-17 14:22:46 +01:00
tsunyoku
71a4b8843f update tests to new profile score format 2022-07-17 14:08:44 +01:00
Salman Ahmed
e62049f4a9 Update various usages of Country inline with new enum 2022-07-16 05:04:24 +03:00
Dean Herbert
4b253f83c3 Fix intermittent test failures due to randomised score statistics 2022-07-15 17:39:08 +09:00
Dan Balasescu
363e23c251 Use correct HitResult in test 2022-07-12 18:47:44 +09:00
Dean Herbert
0fe3bac173 Store mods to array and update test scenes 2022-07-12 18:00:25 +09:00
Dean Herbert
dd5b127fb5 Update various tests to enable NRT to avoid new inspection failures 2022-07-07 17:51:49 +09:00
Dean Herbert
2352636bf2 Fix ID clash with announce and PM channels in chat overlay tests
Yet Another Issue.

https://github.com/ppy/osu/runs/7159306924?check_suite_focus=true

Not sure why announce channel was using a user id for its channel ID.
Bad copy paste?
2022-07-02 13:11:50 +09:00
Dean Herbert
13108155d3 Fix crash on visual esting TestSceneChatOverlay due to null user 2022-06-30 03:43:56 +09:00
Dean Herbert
ed1b809f54 Add missing request handling to actually join PM channels 2022-06-28 18:11:37 +09:00
Dean Herbert
21d31ee218 Ensure joined channels are actually joined to avoid unexpected tab order 2022-06-28 18:11:37 +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
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
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dan Balasescu
bc7262a3dd
Merge pull request #18627 from Joehuu/always-show-mod-selector-beatmap-info
Always show mod selector on beatmap info leaderboards regardless of supporter
2022-06-09 18:18:12 +09:00
Joseph Madamba
5c138de446 Add failing mod selector visibility test 2022-06-08 13:22:49 -07:00
Joseph Madamba
c6264d5b3d Split beatmap set overlay tests to online and offline 2022-06-08 13:21:23 -07:00
Dean Herbert
c661f2b059 Ensure ChannelManager has access to API from point of construction
Closes https://github.com/ppy/osu/issues/18451.
2022-06-08 19:15:23 +09:00
Dean Herbert
eee79c9531
Merge pull request #18610 from jai-x/refactor-chat-line
Refactor `ChatLine` and fix `DrawableChannel` flow padding
2022-06-08 13:54:53 +09:00
Salman Ahmed
c69d53df00 Add failing test case 2022-06-08 04:29:50 +03:00
Jai Sharma
2f635fa854 Refactor ChatLine and fix DrawableChannel flow padding
Refactors `ChatLine` component to use more sensible override properties
and layout using grid container. Moves creation of username component
into its own method to simplify BDL.

Updates padding of base `DrawableChannel` flow padding.

Removes usage of `ChatOverlayDrawableChannel` since it's overrides are
no longer needed.

Updates usage of `StandAloneChatDisplay` to use new override properties
of `DrawableChannel`.
2022-06-07 22:35:45 +01:00
Jai Sharma
c0aaeff2b3 Update DaySeparator to use new design throughout
Moves `DaySeparator` chat component to it's own file and update it to
match new chat design. Makes use of several virtual attributes that can
be overridden to update spacing and layout in other usage contexts.

Remove redundant usage of `ChatOverlayDaySeparator`, since the new
design is now part of the base class.

Create `StandAloneDaySeparator` to use in `StandAloneChatDisplay` which
overrides attributes to match correct spacing and layout for its design.

Ensure that `DrawableChannel.CreateDaySeparator` returns type of
`DaySeparator` instead of `Drawable`.
2022-06-04 18:02:14 +01:00
Dean Herbert
c892aed797 Merge branch 'master' into fix-dummmy-api-request-firing-2 2022-05-31 12:23:26 +09:00
Dean Herbert
1d5a156c15
Merge pull request #18427 from sw1tchbl4d3r/currently_playing_search
Add search bar for the `CurrentlyPlayingDisplay`
2022-05-30 23:03:00 +09:00
Dean Herbert
0981d415a1 Select correct channel regardless of load order 2022-05-30 17:57:48 +09:00
Dean Herbert
f65d2db77f Remove "V2" suffix from ChatOverlay components 2022-05-30 17:54:09 +09:00
Dean Herbert
9e678101cf
Merge pull request #18442 from jai-x/new-chat-announce-channel
Display Announce type channels separately in new chat overlay
2022-05-30 16:53:15 +09:00
Dean Herbert
5478ac21ea
Merge branch 'master' into currently_playing_search 2022-05-30 16:48:53 +09:00
Dan Balasescu
779ec7d9db
Merge pull request #18487 from jai-x/remove-old-chat
Remove old chat overlay components
2022-05-30 11:04:05 +09:00
Dean Herbert
03deb336b2 Fix some more chat tests failing intermittently
```
TearDown : osu.Framework.Testing.Drawables.Steps.AssertButton+TracedException : Channel 1 ready
--TearDown
   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()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
   at osu.Framework.Platform.GameHost.UpdateFrame()
   at osu.Framework.Threading.GameThread.processFrame()
   at osu.Framework.Threading.GameThread.RunSingleFrame()
   at osu.Framework.Threading.GameThread.<createThread>g__runWork|66_0()
   at System.Threading.Thread.StartHelper.Callback(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)

-----

One or more child tests had errors
  Exception doesn't have a stacktrace

[runtime] 2022-05-29 19:29:09 [verbose]: 💨 Class: TestSceneChatOverlayV2
[runtime] 2022-05-29 19:29:09 [verbose]: 🔶 Test:  TestSlowLoadingChannel
[runtime] 2022-05-29 19:29:09 [verbose]: Chat is now polling every 60000 ms
[runtime] 2022-05-29 19:29:09 [verbose]: 🔸 Step #1 Setup request handler
[runtime] 2022-05-29 19:29:09 [verbose]: 🔸 Step #2 Add test channels
[runtime] 2022-05-29 19:29:09 [verbose]: 🔸 Step #3 Show overlay (slow-loading)
[runtime] 2022-05-29 19:29:09 [verbose]: 🔸 Step #4 Join channel 1
[runtime] 2022-05-29 19:29:09 [verbose]: 🔸 Step #5 Select channel 1
[runtime] 2022-05-29 19:29:09 [verbose]: 🔸 Step #6 Channel 1 loading
[runtime] 2022-05-29 19:29:09 [verbose]: 🔸 Step #7 Join channel 2
[runtime] 2022-05-29 19:29:09 [verbose]: 🔸 Step #8 Select channel 2
[runtime] 2022-05-29 19:29:09 [verbose]: 🔸 Step #9 Channel 2 loading
[runtime] 2022-05-29 19:29:09 [verbose]: 🔸 Step #10 Finish channel 1 load
[runtime] 2022-05-29 19:29:09 [verbose]: 🔸 Step #11 Channel 1 ready
[runtime] 2022-05-29 19:29:09 [verbose]: 💥 Failed
[runtime] 2022-05-29 19:29:09 [verbose]:  Currently loading components (2)
[runtime] 2022-05-29 19:29:09 [verbose]: TestSceneChatOverlayV2+SlowLoadingDrawableChannel
[runtime] 2022-05-29 19:29:09 [verbose]: - thread: ThreadedTaskScheduler (LoadComponentsAsync (standard))
[runtime] 2022-05-29 19:29:09 [verbose]: - state:  Loading
[runtime] 2022-05-29 19:29:09 [verbose]: TestSceneChatOverlayV2+SlowLoadingDrawableChannel
[runtime] 2022-05-29 19:29:09 [verbose]: - thread: ThreadedTaskScheduler (LoadComponentsAsync (standard))
[runtime] 2022-05-29 19:29:09 [verbose]: - state:  Ready
[runtime] 2022-05-29 19:29:09 [verbose]: 🧵 Task schedulers
[runtime] 2022-05-29 19:29:09 [verbose]: LoadComponentsAsync (standard) concurrency:4 running:1 pending:0
[runtime] 2022-05-29 19:29:09 [verbose]: LoadComponentsAsync (long load) concurrency:4 running:0 pending:0
[runtime] 2022-05-29 19:29:09 [verbose]: 🎱 Thread pool
[runtime] 2022-05-29 19:29:09 [verbose]: worker:          min 32     max 32,767 available 32,765
[runtime] 2022-05-29 19:29:09 [verbose]: completion:      min 32     max 1,000  available 1,000

```
2022-05-30 04:34:10 +09:00
Jai Sharma
8f596520f3 Remove old chat overlay components 2022-05-29 20:08:43 +01:00
Bartłomiej Dach
f9f8a32380
Merge branch 'master' into new-chat-announce-channel 2022-05-29 18:55:43 +02:00
Dean Herbert
caee9e67b6 Centralise DrawableChannel checks and account for async load delays 2022-05-29 23:16:26 +09:00
Dean Herbert
c078c06902 Fix unsafe config fetching 2022-05-29 22:55:53 +09:00
Jai Sharma
320b6ca631 Display Announce type channels separately in new chat overlay 2022-05-27 16:18:22 +01:00
sw1tchbl4d3
e2951d70d1 Address code style issues 2022-05-27 16:38:54 +02:00
Joseph Madamba
125dda716d Add failing scores container visibility test 2022-05-26 19:46:42 -07:00
Joseph Madamba
0cdefbc6df Add failing beatmap info status test 2022-05-26 17:52:17 -07:00
Jai Sharma
f6810d3f59 Add keyboard shortcuts to ChatOverlayV2 with tests 2022-05-24 23:05:25 +01:00
Jai Sharma
60b10fca4e Remove redundant caching of overlays in ChatLink test 2022-05-23 21:02:50 +01:00
Jai Sharma
d2a49ca266 Use ChatOverlayV2 in message notifier and tests 2022-05-23 21:02:50 +01:00
Jai Sharma
58d39734d0 Integrate ChatOverlayV2 into main game 2022-05-23 21:02:47 +01:00
Jai Sharma
efae934e01 Fix slow loading channel test 2022-05-21 17:35:31 +01:00
Jai Sharma
fb06b7658b Merge branch 'master' into new-chat-remove-selector-item 2022-05-21 17:30:06 +01:00
Dean Herbert
136ecb45e2 Rename dummy channel and move to a nested class inside the ChannelListing itself 2022-05-19 19:26:14 +09:00
Dean Herbert
d187ca2d8c
Merge pull request #18246 from jai-x/new-chat-cache-loaded-channels
Add drawable channel caching to new chat overlay
2022-05-19 15:15:47 +09:00
Salman Ahmed
5d3878a737 Add test coverage for slow-loading channels 2022-05-18 22:58:39 +03:00
Jai Sharma
ae5b6c3e10 Use dummy channel to show selector and remove ChannelListSelector
Add dummy channel `DummySelectorChannel` which should be set as the
current channel in the channel manager when the selector in the chat
overlay should be shown.

Refactors the `ChannelListItem` to not show mention pill and close
button when the channel is the dummy selector channel.

Ensure that the `ChannelList` selects the dummy channel on clicking the
selector item.

Removes `ChannelListSelector` as it is no longer needed.

Removes the `setCurrent` parameter from `ChannelManager.JoinChannel`
method as it is no longer needed.
2022-05-15 20:24:49 +01:00
Salman Ahmed
d5027cdfbd Add FeaturedInSpotlight property to API beatmapsets 2022-05-14 19:46:13 +03:00
Jai Sharma
bd68ffa805 Fix textbox focus test in ChatOverlayV2 2022-05-14 12:16:00 +01:00
Jai Sharma
c45e8f619b Update ChannelList test scene 2022-05-11 22:52:25 +01:00
Jai Sharma
ebb64d1f1a Use AddUntilStep to wait for channel to load and become visible 2022-05-09 20:15:43 +01:00
Jai Sharma
9ec8b609a8 Update channel visibility tests to be more correct 2022-05-09 12:11:25 +01:00
Jai Sharma
5f3bea846b Simplify fetching of DrawableChannel 2022-05-09 12:11:25 +01:00
Jai Sharma
7ffe3b132f Use BindableFloat in chat height tests 2022-05-05 23:13:43 +01:00
Jai Sharma
5657e7f11e Fix chat height saving/loading test 2022-05-05 14:52:03 +01:00
Jai Sharma
9cb52f8879 Add tests for chat height saving/loading 2022-05-05 14:21:26 +01:00
Dean Herbert
e7205d8593 Reset all test data before each test method to avoid channels stuck in joined state 2022-05-05 19:09:56 +09:00
Dean Herbert
4efaa41670
Merge branch 'master' into new-chat-overlay 2022-05-05 18:57:00 +09:00
Jai Sharma
1a85e1267b Ensure focus is directed to ChatTextBox from ChatOverlay and add tests 2022-05-04 14:43:40 +01:00
Jai Sharma
bcce807311 Fix chat command test as reference equality checks on PM channels doesn't seem to to work 2022-05-01 12:20:54 +01:00
Jai Sharma
de393f735f Implement basic layout and behaviour of new chat overlay
Provides initial implementation of new chat overlay in component
`ChatOverlayV2`. Contains only the basic functionality required for
a functioning chat overlay according to the new design with the intent
of added the rest of the functionality in subsequent PRs.

Backports existing tests for the current chat overlay except for ones
testing keyboard shortcuts (since they haven't been added) and tab
closing behaviour (since no tabs).
2022-04-30 23:59:47 +01:00
Salman Ahmed
55c03dc04d Fix silly mistake in ordering and update test colour scheme 2022-04-29 12:40:46 +03:00
Salman Ahmed
5e19bdbf43 Refactor beatmap ruleset selector test scene 2022-04-29 12:23:02 +03:00
Salman Ahmed
fae8d86e15 Fix regressed profile ruleset selector test scene
Due to the changes in `APIUser`, which change equality to be based on ID.
2022-04-29 12:20:35 +03:00
Dean Herbert
58399a5113 Add tutorial download support and improve the visuals "slightly" 2022-04-28 19:01:21 +09:00
Dean Herbert
99d2d7b805 Add very basic implementation of bundled beatmap downloader 2022-04-28 19:01:21 +09:00
Dean Herbert
55270df6fc
Merge pull request #17833 from jai-x/new-chat-channel-list
Implement `ChannelList` for new chat design
2022-04-21 16:34:35 +09:00
Dean Herbert
a9163727db Mark selected channel null in test when selector is activated 2022-04-21 13:44:14 +09:00
Jai Sharma
5319bce772 Revert DI usage of ChannelSelectorState in favour of directly binding BindableBool SelectorActive 2022-04-20 21:05:33 +01:00
Jai Sharma
e596c9d171 Use Bindable<ChannelSelectorState> to control selector active visibility 2022-04-20 19:12:43 +01:00
Dan Balasescu
bb8b94f8ad
Merge branch 'master' into i-notification-overlay 2022-04-19 06:03:56 +09:00
Salman Ahmed
3cbc6cd297 Update further tests to cache using IDialogOverlay 2022-04-18 21:04:22 +03:00
Dean Herbert
043599081b Split out INotificationOverlay to allow for easier testing 2022-04-18 20:14:01 +09:00
Jai Sharma
f1dd319fd9 Implement ChannelList for new chat design
Reference design: https://www.figma.com/file/f8b2dHp9LJCMOqYP4mdrPZ/Client%2FChat?node-id=1%3A297

Adds new component `ChannelList` which makes up the sidebar channel
selector of the new chat design. Contains two separate fill flows for
public and private `ChannelItem` child components.

Exposed bindable `SelectorActive` to indicate current state of the "Add
more channels" button. Requires `Bindable<Channel>` from parent
component.

Renames and updates the `TestSceneChannelListItem` to
`TestSceneChannelList` to make use of new component and having both
tests seemed redundant.
2022-04-15 15:44:38 +01:00
Salman Ahmed
34adc1d410 Add quick test coverage 2022-04-08 19:21:37 +03: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
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
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
Jai Sharma
ba5a43b526 Rename ControlItem -> ChannelListItem and associated classes 2022-03-19 21:49:14 +00:00