Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement difficulty tooltips for multiplayer lobbies #26531

Merged
merged 23 commits into from
Feb 22, 2024

Swap AR and OD on tooltips

7861125
Select commit
Failed to load commit list.
Sign in for the full log view
Merged

Implement difficulty tooltips for multiplayer lobbies #26531

Swap AR and OD on tooltips
7861125
Select commit
Failed to load commit list.
GitHub Actions / Test Results (Linux, SingleThread) failed Feb 22, 2024 in 0s

Test Results (Linux, SingleThread) ❌

Tests failed

❌ TestResults-Linux-SingleThread.trx

5618 tests were completed in 1071s with 5564 passed, 2 failed and 52 skipped.

Test suite Passed Failed Skipped Time
osu.Game.Tests.Visual.Multiplayer.TestSceneMultiplayerMatchSubScreen 7✔️ 2❌ 706ms

❌ osu.Game.Tests.Visual.Multiplayer.TestSceneMultiplayerMatchSubScreen

✔️ TestConstructor
✔️ TestCreatedRoom
✔️ TestFreeModSelectionHasAllowedMods
✔️ TestModSelectKeyWithAllowedMods
✔️ TestModSelectKeyWithNoAllowedMods
✔️ TestNextPlaylistItemSelectedAfterCompletion
✔️ TestSettingValidity
❌ TestStartMatchWhileSpectating
	TearDown : System.AggregateException : One or more errors occurred. (Object reference not set to an instance of an object.)
	  ----> System.NullReferenceException : Object reference not set to an instance of an object.
❌ TestTaikoOnlyMod
	TearDown : System.AggregateException : One or more errors occurred. (Object reference not set to an instance of an object.)
	  ----> System.NullReferenceException : Object reference not set to an instance of an object.

Annotations

Check failure on line 29 in osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs

See this annotation in the file changed.

@github-actions github-actions / Test Results (Linux, SingleThread)

osu.Game.Tests.Visual.Multiplayer.TestSceneMultiplayerMatchSubScreen ► TestStartMatchWhileSpectating

Failed test found in:
  TestResults-Linux-SingleThread.trx
Error:
  TearDown : System.AggregateException : One or more errors occurred. (Object reference not set to an instance of an object.)
    ----> System.NullReferenceException : Object reference not set to an instance of an object.
Raw output
TearDown : System.AggregateException : One or more errors occurred. (Object reference not set to an instance of an object.)
  ----> System.NullReferenceException : Object reference not set to an instance of an object.
--TearDown
   at osu.Framework.Testing.TestScene.checkForErrors()
   at osu.Framework.Testing.TestScene.RunTestsFromNUnit()
   at InvokeStub_TestScene.RunTestsFromNUnit(Object, Object, IntPtr*)
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
--NullReferenceException
   at osu.Game.Screens.OnlinePlay.Lounge.Components.PlaylistCountPill.<>c.<updateCount>b__1_0(PlaylistItem i) in /home/runner/work/osu/osu/osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs:line 29
   at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source, Func`2 predicate)
   at osu.Game.Screens.OnlinePlay.Lounge.Components.PlaylistCountPill.updateCount() in /home/runner/work/osu/osu/osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs:line 26
   at osu.Game.Screens.OnlinePlay.Lounge.Components.PlaylistCountPill.<LoadComplete>b__0_1(Object _, NotifyCollectionChangedEventArgs _) in /home/runner/work/osu/osu/osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs:line 21
   at osu.Game.Screens.OnlinePlay.Lounge.Components.PlaylistCountPill.LoadComplete() in /home/runner/work/osu/osu/osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs:line 21
   at osu.Framework.Graphics.Drawable.loadComplete()
   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.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.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.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()
--- End of stack trace from previous location ---
   at osu.Framework.Platform.GameHost.<>c__DisplayClass141_0.<abortExecutionFromException>b__0()
   at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
   at osu.Framework.Threading.Scheduler.Update()
   at osu.Framework.Threading.GameThread.processFrame()
   at osu.Framework.Platform.ThreadRunner.RunMainLoop()
   at osu.Framework.Platform.GameHost.windowUpdate()
   at osu.Framework.Platform.GameHost.Run(Game game)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)

Check failure on line 29 in osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs

See this annotation in the file changed.

@github-actions github-actions / Test Results (Linux, SingleThread)

osu.Game.Tests.Visual.Multiplayer.TestSceneMultiplayerMatchSubScreen ► TestTaikoOnlyMod

Failed test found in:
  TestResults-Linux-SingleThread.trx
Error:
  TearDown : System.AggregateException : One or more errors occurred. (Object reference not set to an instance of an object.)
    ----> System.NullReferenceException : Object reference not set to an instance of an object.
Raw output
TearDown : System.AggregateException : One or more errors occurred. (Object reference not set to an instance of an object.)
  ----> System.NullReferenceException : Object reference not set to an instance of an object.
--TearDown
   at osu.Framework.Testing.TestScene.RunTestsFromNUnit()
   at InvokeStub_TestScene.RunTestsFromNUnit(Object, Object, IntPtr*)
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
--NullReferenceException
   at osu.Game.Screens.OnlinePlay.Lounge.Components.PlaylistCountPill.<>c.<updateCount>b__1_0(PlaylistItem i) in /home/runner/work/osu/osu/osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs:line 29
   at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source, Func`2 predicate)
   at osu.Game.Screens.OnlinePlay.Lounge.Components.PlaylistCountPill.updateCount() in /home/runner/work/osu/osu/osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs:line 26
   at osu.Game.Screens.OnlinePlay.Lounge.Components.PlaylistCountPill.<LoadComplete>b__0_1(Object _, NotifyCollectionChangedEventArgs _) in /home/runner/work/osu/osu/osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs:line 21
   at osu.Game.Screens.OnlinePlay.Lounge.Components.PlaylistCountPill.LoadComplete() in /home/runner/work/osu/osu/osu.Game/Screens/OnlinePlay/Lounge/Components/PlaylistCountPill.cs:line 21
   at osu.Framework.Graphics.Drawable.loadComplete()
   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.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.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.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()
--- End of stack trace from previous location ---
   at osu.Framework.Platform.GameHost.<>c__DisplayClass141_0.<abortExecutionFromException>b__0()
   at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
   at osu.Framework.Threading.Scheduler.Update()
   at osu.Framework.Threading.GameThread.processFrame()
   at osu.Framework.Platform.ThreadRunner.RunMainLoop()
   at osu.Framework.Platform.GameHost.windowUpdate()
   at osu.Framework.Platform.GameHost.Run(Game game)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)