Commit Graph

939 Commits

Author SHA1 Message Date
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
c892aed797 Merge branch 'master' into fix-dummmy-api-request-firing-2 2022-05-31 12:23:26 +09:00
1d5a156c15 Merge pull request #18427 from sw1tchbl4d3r/currently_playing_search
Add search bar for the `CurrentlyPlayingDisplay`
2022-05-30 23:03:00 +09:00
0981d415a1 Select correct channel regardless of load order 2022-05-30 17:57:48 +09:00
f65d2db77f Remove "V2" suffix from ChatOverlay components 2022-05-30 17:54:09 +09:00
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
5478ac21ea Merge branch 'master' into currently_playing_search 2022-05-30 16:48:53 +09:00
779ec7d9db Merge pull request #18487 from jai-x/remove-old-chat
Remove old chat overlay components
2022-05-30 11:04:05 +09:00
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
8f596520f3 Remove old chat overlay components 2022-05-29 20:08:43 +01:00
f9f8a32380 Merge branch 'master' into new-chat-announce-channel 2022-05-29 18:55:43 +02:00
caee9e67b6 Centralise DrawableChannel checks and account for async load delays 2022-05-29 23:16:26 +09:00
c078c06902 Fix unsafe config fetching 2022-05-29 22:55:53 +09:00
320b6ca631 Display Announce type channels separately in new chat overlay 2022-05-27 16:18:22 +01:00
e2951d70d1 Address code style issues 2022-05-27 16:38:54 +02:00
125dda716d Add failing scores container visibility test 2022-05-26 19:46:42 -07:00
0cdefbc6df Add failing beatmap info status test 2022-05-26 17:52:17 -07:00
f6810d3f59 Add keyboard shortcuts to ChatOverlayV2 with tests 2022-05-24 23:05:25 +01:00
60b10fca4e Remove redundant caching of overlays in ChatLink test 2022-05-23 21:02:50 +01:00
d2a49ca266 Use ChatOverlayV2 in message notifier and tests 2022-05-23 21:02:50 +01:00
58d39734d0 Integrate ChatOverlayV2 into main game 2022-05-23 21:02:47 +01:00
efae934e01 Fix slow loading channel test 2022-05-21 17:35:31 +01:00
fb06b7658b Merge branch 'master' into new-chat-remove-selector-item 2022-05-21 17:30:06 +01:00
136ecb45e2 Rename dummy channel and move to a nested class inside the ChannelListing itself 2022-05-19 19:26:14 +09:00
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
5d3878a737 Add test coverage for slow-loading channels 2022-05-18 22:58:39 +03:00
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
d5027cdfbd Add FeaturedInSpotlight property to API beatmapsets 2022-05-14 19:46:13 +03:00
bd68ffa805 Fix textbox focus test in ChatOverlayV2 2022-05-14 12:16:00 +01:00
c45e8f619b Update ChannelList test scene 2022-05-11 22:52:25 +01:00
ebb64d1f1a Use AddUntilStep to wait for channel to load and become visible 2022-05-09 20:15:43 +01:00
9ec8b609a8 Update channel visibility tests to be more correct 2022-05-09 12:11:25 +01:00
5f3bea846b Simplify fetching of DrawableChannel 2022-05-09 12:11:25 +01:00
7ffe3b132f Use BindableFloat in chat height tests 2022-05-05 23:13:43 +01:00
5657e7f11e Fix chat height saving/loading test 2022-05-05 14:52:03 +01:00
9cb52f8879 Add tests for chat height saving/loading 2022-05-05 14:21:26 +01:00
e7205d8593 Reset all test data before each test method to avoid channels stuck in joined state 2022-05-05 19:09:56 +09:00
4efaa41670 Merge branch 'master' into new-chat-overlay 2022-05-05 18:57:00 +09:00
1a85e1267b Ensure focus is directed to ChatTextBox from ChatOverlay and add tests 2022-05-04 14:43:40 +01:00
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
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
55c03dc04d Fix silly mistake in ordering and update test colour scheme 2022-04-29 12:40:46 +03:00
5e19bdbf43 Refactor beatmap ruleset selector test scene 2022-04-29 12:23:02 +03:00
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
58399a5113 Add tutorial download support and improve the visuals "slightly" 2022-04-28 19:01:21 +09:00
99d2d7b805 Add very basic implementation of bundled beatmap downloader 2022-04-28 19:01:21 +09:00
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
a9163727db Mark selected channel null in test when selector is activated 2022-04-21 13:44:14 +09:00
5319bce772 Revert DI usage of ChannelSelectorState in favour of directly binding BindableBool SelectorActive 2022-04-20 21:05:33 +01:00
e596c9d171 Use Bindable<ChannelSelectorState> to control selector active visibility 2022-04-20 19:12:43 +01:00