Commit Graph

12774 Commits

Author SHA1 Message Date
renovate[bot]
22509fed14 chore(deps): update asf-ui digest to 2485e01 2024-10-20 04:25:22 +00:00
ArchiBot
819b5f3dbf Automatic translations update 2024-10-20 02:22:33 +00:00
renovate[bot]
2c1975d203 chore(deps): update asf-ui digest to 2e68b90 2024-10-19 04:59:45 +00:00
ArchiBot
46d6aa44d1 Automatic translations update 2024-10-19 02:19:31 +00:00
renovate[bot]
17130b7215 chore(deps): update wiki digest to bc10b9e 2024-10-18 23:23:50 +00:00
renovate[bot]
3b0d0e033f chore(deps): update asf-ui digest to 499e1c4 2024-10-18 02:27:53 +00:00
renovate[bot]
def6b6751b chore(deps): update asf-ui digest to c289dc1 2024-10-17 09:56:10 +00:00
ArchiBot
90756bde27 Automatic translations update 2024-10-17 02:20:15 +00:00
renovate[bot]
a28c431dcd chore(deps): update swashbuckle-aspnetcore monorepo to 6.9.0 2024-10-15 13:32:00 +00:00
renovate[bot]
50fc619d92 chore(deps): update github/codeql-action action to v3.26.13 2024-10-15 00:19:55 +00:00
renovate[bot]
2475c040b9 chore(deps): update asf-ui digest to 867bd21 2024-10-14 21:12:28 +00:00
ArchiBot
d166e198de Automatic translations update 2024-10-14 12:36:26 +00:00
Łukasz Domeradzki
5a9750a4b6 Workaround stale cache of CM servers 2024-10-14 13:42:29 +02:00
ArchiBot
fc64511268 Automatic translations update 2024-10-14 02:21:05 +00:00
Łukasz Domeradzki
f2b8897ed1 Misc 2024-10-13 18:36:50 +02:00
Łukasz Domeradzki
dae03afc2d Bump 2024-10-13 18:27:20 +02:00
renovate[bot]
5d383dcae6 chore(deps): update dependency steamkit2 to 3.0.0-beta.4 6.0.8.5 2024-10-13 09:54:17 +00:00
ArchiBot
3e4c7ac9f8 Automatic translations update 2024-10-13 02:21:36 +00:00
Łukasz Domeradzki
f48caa08e9 Misc 2024-10-12 21:05:00 +02:00
Łukasz Domeradzki
f32fafdf15 Resolve eternal TODO with ASF API update routine 2024-10-12 21:03:11 +02:00
Łukasz Domeradzki
f427b89617 Bump 2024-10-12 18:55:44 +02:00
Łukasz Domeradzki
b0e36948c5 Misc
Don't force reconnect if we're somehow already connected during Start()
6.0.8.4
2024-10-12 16:11:10 +02:00
Łukasz Domeradzki
b0254aea2d Implement extra bullet-proofing and synchronization over connect/disconnect logic
Address @ezhevita findings in regards to race conditions:

- NRE in this lambda function: 1a9f2a23c4/ArchiSteamFarm/Steam/Bot.cs (L1962)
- NRE in the ArchiSteamFarm.Steam.Bot.StopHandlingCallbacks (probably race condition?)

In general, both are caused by race conditions which can happen if user attempts to start/stop bot while critical section of handling callbacks loop is going. The code is overly complex unfortunately, so debugging it/guarantee of safety is problematic.

This commit therefore attempts to fix the underlying issue by synchronizing the code that starts/stops the underlying callbacks handling loop. While the loop itself is already thread-safe, the code that starts/stops it was not before. Now Start() as well as Stop() can not occur concurrently. On top of that, the only other place which has potential to stop the loop - final disconnect, is also guarded with additional condition that it can fire only if we're NOT set to KeepRunning at the time of calling, which should fix the situation where late disconnected callback could potentially stop already triggered new loop.

As usual in such complex situations, time will tell if this fixes all the issues we have.
2024-10-12 16:06:11 +02:00
renovate[bot]
a84b9ca395 chore(deps): update asf-ui digest to 3c6cb34 2024-10-11 15:38:43 +00:00
ArchiBot
1a9f2a23c4 Automatic translations update 2024-10-11 02:19:45 +00:00
renovate[bot]
e6cb7ceb7b chore(deps): update asf-ui digest to 0e3c497 2024-10-10 19:21:22 +00:00
renovate[bot]
ec28ae562b chore(deps): update asf-ui digest to 30aa298 2024-10-10 00:20:42 +00:00
renovate[bot]
74b832ea4e chore(deps): update actions/upload-artifact action to v4.4.3 2024-10-09 18:16:55 +00:00
renovate[bot]
32c107ae53 chore(deps): update dependency microsoft.identitymodel.jsonwebtokens to 8.1.2 2024-10-09 06:24:49 +00:00
renovate[bot]
87d28aea81 chore(deps): update actions/upload-artifact action to v4.4.2 2024-10-09 03:37:16 +00:00
ArchiBot
79b81ac5d1 Automatic translations update 2024-10-09 02:24:33 +00:00
renovate[bot]
57489bc9cb chore(deps): update asf-ui digest to 1d4a3f6 2024-10-08 21:43:48 +00:00
renovate[bot]
e45b09b675 chore(deps): update dependency microsoft.codeanalysis.resxsourcegenerator to 3.11.0-beta1.24454.1 2024-10-08 15:31:53 +00:00
renovate[bot]
c3d579a835 chore(deps): update asf-ui digest to 178501e 2024-10-08 03:58:21 +00:00
ArchiBot
9d2f4fd795 Automatic translations update 2024-10-08 02:21:10 +00:00
renovate[bot]
a173c84ffb chore(deps): update github/codeql-action action to v3.26.12 2024-10-07 22:00:26 +00:00
renovate[bot]
94ed85914a chore(deps): update actions/checkout action to v4.2.1 2024-10-07 19:05:34 +00:00
renovate[bot]
90c2986277 chore(deps): update actions/upload-artifact action to v4.4.1 2024-10-07 16:08:28 +00:00
ArchiBot
3cff63193d Automatic translations update 2024-10-07 02:21:23 +00:00
renovate[bot]
53066b1f14 chore(deps): update wiki digest to 9bef679 2024-10-06 16:49:08 +00:00
Łukasz Domeradzki
c7524af07a Misc 2024-10-06 15:58:38 +02:00
Łukasz Domeradzki
500a148632 Bump 2024-10-06 15:24:57 +02:00
Łukasz Domeradzki
33c9aeda21 Closes #3304 6.0.8.3 2024-10-06 15:14:48 +02:00
ArchiBot
9b40ab3b52 Automatic translations update 2024-10-06 02:21:58 +00:00
Łukasz Domeradzki
5a115f1822 Bump 2024-10-05 13:50:42 +02:00
Sebastian Göls
de9900ad14 Revert JSON serialization to how it was with Newtonsoft (#3302) 6.0.8.2 2024-10-05 13:49:48 +02:00
renovate[bot]
731fbca87c chore(deps): update dependency microsoft.identitymodel.jsonwebtokens to 8.1.1 2024-10-05 03:44:52 +00:00
ArchiBot
8ed27013a4 Automatic translations update 2024-10-05 02:19:08 +00:00
renovate[bot]
9590afa752 chore(deps): update docker/setup-buildx-action action to v3.7.1 2024-10-04 16:27:37 +00:00
Łukasz Domeradzki
f534997e0e Close log endpoints upon graceful shutdown request
Previously we've kept websocket connection open for as long as caller requested it. During graceful shutdown, ASP.NET normally waits for all pending requests to finish, while no longer accepting new ones - this is a very good approach. In our case however, since we didn't do anything with that event before, the graceful shutdown was timing out after 30 seconds before eventually forcefully killing any still-ongoing requests, websocket connection in our case.

Hook into application lifetime in order to be notified when the graceful shutdown happens. This way we can create linked cancellation token for request abort and graceful shutdown and close the websocket connection when any of those two happens.
2024-10-04 17:58:56 +02:00