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
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
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
Jai Sharma
c2e4779c2e
Remove redundant spacing in ControlItem
test scene
2022-03-16 11:57:11 +00:00
Dean Herbert
2452d84e98
Add missing Schedule
call to allow individual tests from TestSceneMessageNotifier
to pass
2022-03-16 18:44:30 +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
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
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
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
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
Salman Ahmed
7f47be4680
Refactor message highlighting logic to rely on a Channel
data bindable
2022-03-08 03:19:37 +03: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
Salman Ahmed
9bc1f3f014
Further refactor and simplify ChannelScrollContainer
2022-03-06 23:34:12 +03:00
Salman Ahmed
5b3ffb12b7
Refactor channel scrolling container to handle manual scrolls resiliently
2022-03-05 23:27:07 +03:00
Dan Balasescu
e947c97e10
Merge branch 'master' into spectator-reliability
2022-02-25 20:20:30 +09:00
Dean Herbert
14c8ce50a0
Prefix all test send methods in TestSpectatorClient
with Send
2022-02-24 02:23:48 +09:00
Dean Herbert
98aaf83177
Add a centralised constant for the osu URL schema protocol
2022-02-18 15:57:37 +09:00
Dan Balasescu
4f86a2cb61
Merge pull request #16525 from bdach/beatmap-listing-overflow-and-scrolling
...
Improve usability of expanded card content on beatmap listing
2022-01-20 14:14:44 +09:00
Bartłomiej Dach
4cad5890c6
Add test coverage for news sidebar showing wrong headers
2022-01-19 23:12:35 +01:00
Bartłomiej Dach
d925e44b40
Add test coverage for beatmap card expanded content clipping
2022-01-19 22:08:52 +01:00
Dean Herbert
1b62a685f3
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-18 15:07:59 +09:00
Dean Herbert
0ba0b5f11a
Fix test step not being until
when it needs to be
2022-01-17 19:45:32 +09:00
Dean Herbert
a80e461000
Add better test coverage of user top scores
2022-01-17 16:23:58 +09:00
Dean Herbert
6436b6186f
Rewrite TestScenScoresContainer
to work again
2022-01-17 15:15:39 +09:00
Dean Herbert
4f8d29c1c0
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-13 18:25:09 +09:00
Dean Herbert
e1f5acd689
Remove names from user dictionary
2022-01-13 12:40:19 +09:00
Dean Herbert
31a3161189
Make tests compile again
2022-01-12 17:00:16 +09:00
Dan Balasescu
3cb5f43f77
Fix incorrect action returned for wiki links in DEBUG mode
2022-01-11 17:46:49 +09:00
Dan Balasescu
269df08fc9
Make ChatLink tests into proper unit test methods
2022-01-11 17:42:02 +09:00
Bartłomiej Dach
82d6639a3b
Decouple rankings table test from online API
2022-01-09 14:42:19 +01:00
Bartłomiej Dach
881fa2b86b
Add basic test scene for scoreboard time
2022-01-07 19:18:16 +01:00
Bartłomiej Dach
2660f41339
Add failing test case for old cards not expiring correctly
2022-01-03 19:28:14 +01:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
Joseph Madamba
98524d60a4
Fix clear identifier typos
2021-12-27 20:26:28 -08:00
Bartłomiej Dach
27c5cc5bd8
Add testing for beatmap card size switching
2021-12-23 15:55:51 +01:00
Bartłomiej Dach
02fa1c21b7
Adjust existing placeholder test to demonstrate failure case
2021-12-22 15:03:20 +01:00
Dean Herbert
0f8a6a3f64
Fix intermittent failures on TestSceneBeatmapListingOverlay
...
In the specific method, there was no wait step after the initial fetch
(unlike all of the rest), meaning the fetch may not have finished in
time for the follow-up steps.
As seen at
https://github.com/ppy/osu/runs/4588058438?check_suite_focus=true .
2021-12-21 14:12:06 +09:00
Bartłomiej Dach
097402677d
Add test for ranked/unranked user display
2021-12-19 13:40:22 +01:00
Bartłomiej Dach
c112177559
Bring profile header test in line with modern conventions
...
- Removed online code that didn't work anyway after the introduction of
the development web instance.
- Removed some weird test steps.
- Fixed online/offline test steps not working at all due to identical
user ID.
2021-12-19 13:40:21 +01:00
Dan Balasescu
488374b4a2
Don't show multiplayer channels in chat overlay
2021-12-16 16:41:47 +09:00
Dean Herbert
bff02bedbf
Rename APIScoreInfo
to APIScore
2021-12-10 16:11:49 +09:00
Dan Balasescu
a445dcd2c6
Fix incorrect test namespace
2021-12-10 02:09:31 +09:00
Dan Balasescu
1a0945daba
Siplify condition, allow host to always remove items
2021-12-09 14:33:50 +09:00
Dan Balasescu
c34c580ad4
Add client-side + interface implementation
2021-12-09 03:08:59 +09:00
Bartłomiej Dach
38702beabf
Merge branch 'master' into i-ruleset-store
2021-12-04 15:05:39 +01:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +09:00
Dean Herbert
e75e209053
Cache and consume IRulesetStore
where feasible
2021-12-03 18:16:01 +09:00
Bartłomiej Dach
05f7ea6b6d
Remove mentions of "panel" and "direct" from names of old download buttons
2021-11-27 15:08:03 +01:00
Bartłomiej Dach
a043d1e427
Move old beatmap download button to more general namespace
2021-11-27 15:06:57 +01:00
Bartłomiej Dach
567c985da0
Remove beatmap panel test scene
2021-11-27 14:56:27 +01:00
Dean Herbert
183b95cbc2
Rename BeatmapSetOnlineStatus
to BeatmapOnlineStatus
...
This variable is used at more than just a set level.
2021-11-24 18:42:49 +09:00
Dean Herbert
f283770f34
Update mock RulesetInfo
usage to set OnlineID
instead of ID
2021-11-24 15:50:26 +09:00