bfb939cbd0
Expand on why call needs to be made every 10 minutes
2022-11-12 22:24:27 +09:00
ace4099079
Update ack code after incorrect merge
2022-11-12 21:41:10 +09:00
dde09d409b
Merge branch 'master' into chat-silences
2022-11-12 21:00:56 +09:00
67e99b5344
Lookup channels before calling HandleJoinedChannel()
2022-11-07 14:34:55 +09:00
f931bdc5ff
Fix channel lookup not considering missing ids
2022-11-07 12:25:23 +09:00
cf03001c83
Better handling for joining channels with only ID
2022-11-07 11:52:07 +09:00
e3adf5a985
Handle channel parts
2022-11-07 11:36:55 +09:00
f12ada9d92
Fix chat connecting too early
2022-11-04 19:36:24 +09:00
1d2818dc70
Reschedule ack request on completion
2022-11-04 19:02:26 +09:00
fa18b5f701
Construct notifications client inside ChannelManager
2022-11-04 18:51:00 +09:00
72745656e7
Remove StartChat()/chat enablement
2022-11-04 18:48:34 +09:00
58396d49dc
Fix handling of local echo deduplication
2022-11-04 18:44:22 +09:00
063a8bdf9e
Remove messages from silenced users
2022-11-02 17:13:14 +09:00
ab78cde2d4
Fix crossthread mutations
2022-10-28 18:37:43 +09:00
169bcc2654
Use polling connector in tests
2022-10-28 18:08:08 +09:00
2f731f86ba
Adjust ChannelManager to use notifications client
2022-10-28 16:28:58 +09:00
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
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
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
8f596520f3
Remove old chat overlay components
2022-05-29 20:08:43 +01:00
136ecb45e2
Rename dummy channel and move to a nested class inside the ChannelListing
itself
2022-05-19 19:26:14 +09:00
dd4b11c593
Re-add exception handling on PM message request failure
2022-05-18 01:47:23 +01: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
cced8609f6
Add setCurrent
param to ChannelManager.JoinChannel
2022-05-11 22:51:15 +01:00
b4a54b38e7
Remove redundant parameter specification
2022-02-24 16:02:16 +09:00
3f6bdc5585
Don't expose "mark as read" errors to the user via notifications
...
This can happen if the user leaves the channel before the request is
fired. You can't mark a channel as read when you're not in the channel.
Addresses https://github.com/ppy/osu/discussions/16973 .
2022-02-24 15:40:07 +09:00
4012ef7e7b
Reduce polling rate when idle even if HighPollRate
is requested
2022-01-13 17:33:55 +09:00
46d2f305b5
Log chat polling rate changes
2022-01-13 17:31:59 +09:00
00177a3ae1
Update usages to new naming
2022-01-06 22:54:43 +09:00
3ea7588a91
Update continuation usages to use GetCompletedResult
2022-01-06 22:53:07 +09:00
73b40e6833
Replace usage of .Result
with .WaitSafelyForResult
2022-01-04 11:51:41 +09:00
e7d7587ea5
Merge branch 'master' into reduce-chat-overhead
2022-01-01 15:02:55 +01:00
1262e76a58
Fix test failure due to missing DI cached IdleTracker
2021-12-31 23:18:03 +09:00
98524d60a4
Fix clear identifier typos
2021-12-27 20:26:28 -08:00
7c25ce81e1
Further reduce chat poll rate when idle or not visible
2021-12-26 16:26:47 +09:00
0ecf5f201c
Rename User
to APIUser
and move to correct namespace
2021-11-07 11:26:01 +09:00
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
c4627bed6d
Print username in case of generic network failure too
2021-09-12 12:56:36 +02:00
e511c2ef2b
add comment
2021-09-12 08:50:53 +01:00
c166f1a06a
change error message based on exception message
2021-09-11 14:18:09 +01:00
acb181ff2b
rename alreadyJoinedChannel
-> privateChannel
2021-09-10 08:15:43 +01:00
5ec615c783
display user in error message
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com >
2021-09-10 08:02:15 +01:00
84c152e7b6
break when already found user
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com >
2021-09-10 08:01:38 +01:00
255f8a9769
add alias "/msg" (also a command in stable)
2021-09-07 17:25:47 +01:00
b1c89f7618
ignore case when search for already joined channel
2021-09-07 17:22:59 +01:00
f54d5675db
check if user joined requested channel already
2021-09-07 17:06:12 +01:00
5c385e84ea
wrong command name in query message
2021-09-05 21:20:19 +01:00
cb6cee9aea
add /query as alias of /chat
2021-09-05 21:10:08 +01:00
59ca69e41f
add /chat command
2021-09-05 18:16:57 +01:00