Commit Graph

11 Commits

Author SHA1 Message Date
Dean Herbert 8a1651e830 Reorganise methods in `PollingComponent` 2021-08-17 17:04:32 +09:00
Dean Herbert 80c2b1449b Fix API request potentially firing failed events after completion
Specifically, `Cancel()` calls were not thread safe. Due to a series of
events, `ListPollingComponent` could call `Cancel` from a non-update
thread, leading to a race condition where both a `Success` and `Fail`
event can be fired.

This is intended to be the simplest fix possible, locking and guarding
specifically on the callbacks. Further work could be done in the future
to improve the flow surrounding `pendingFailure`, potentially reducing
redundant work and cleaning up the code, but that's not happening here.

Closes https://github.com/ppy/osu/issues/13632.
2021-07-19 20:27:01 +09:00
smoogipoo 45107280a0 Make TimeBetweenPolls into a bindable 2020-12-20 18:34:54 +09:00
Dean Herbert 1dd471dfcc Add /np (now playing) command support in chat 2020-04-19 15:13:25 +09:00
Dean Herbert 8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Lanyun Hou f2f1ba8cbe
Fix typo in line 42 2018-12-28 00:43:20 +08:00
Dean Herbert c5764ded1c Fix infinite polling rate in certain scenarios 2018-12-27 20:03:32 +09:00
smoogipoo 5d59a1ffca Merge remote-tracking branch 'origin/master' into timeshift-wip
# Conflicts:
#	osu.Game.Tests/Visual/TestCasePollingComponent.cs
#	osu.Game/Online/API/APIRequest.cs
#	osu.Game/osu.Game.csproj
2018-12-21 12:51:31 +09:00
smoogipoo c86d9533bd Add PollImmediately() 2018-12-19 18:01:21 +09:00
Dean Herbert 38fd35a0cf Add polling time to ctor 2018-12-14 19:17:21 +09:00
Dean Herbert ea4dce8454 Add a polling component model 2018-12-10 21:08:14 +09:00