Commit Graph

12702 Commits

Author SHA1 Message Date
Łukasz Domeradzki
d5df9e0af9 Bump 6.0.8.0 2024-09-30 22:24:04 +02:00
Łukasz Domeradzki
b7a6cc5158 Activate multiple definitions in parallel 2024-09-30 22:15:38 +02:00
Łukasz Domeradzki
55d49f87ff Closes #3299 2024-09-30 22:02:09 +02:00
Łukasz Domeradzki
c2abbf0fc0 Misc optimization 2024-09-30 19:19:26 +02:00
Łukasz Domeradzki
ba11952945 Handle exceptions in ArchiCacheable
While our code does not throw them, this is public helper and we don't need to enforce from other callers exceptions-less flow. We can use it for a failure.
2024-09-30 19:16:52 +02:00
renovate[bot]
a7f2556b48 chore(deps): update github/codeql-action action to v3.26.10 2024-09-30 13:49:28 +00:00
renovate[bot]
b66dd2c01b chore(deps): update swashbuckle-aspnetcore monorepo to 6.8.1 2024-09-30 10:22:56 +00:00
ArchiBot
c6261af03c Automatic translations update 2024-09-30 02:21:42 +00:00
ArchiBot
e44d1ac62e Automatic translations update 2024-09-29 02:21:59 +00:00
renovate[bot]
37afe1959a chore(deps): update asf-ui digest to fa46e12 2024-09-28 10:46:57 +00:00
ArchiBot
da04f6b100 Automatic translations update 2024-09-28 02:19:20 +00:00
renovate[bot]
168dc5cb35 chore(deps): update asf-ui digest to faa5f79 2024-09-27 22:19:00 +00:00
Łukasz Domeradzki
9f4d5df8d2 Bump 2024-09-28 00:18:33 +02:00
Łukasz Domeradzki
0c21c223be Closes #3294 6.0.7.5 2024-09-28 00:03:15 +02:00
Łukasz Domeradzki
1fc4ac8e07 Update GlobalConfig.cs 2024-09-27 23:31:01 +02:00
Łukasz Domeradzki
088161e9ba Experimental update channel rebrand 2024-09-27 23:23:55 +02:00
renovate[bot]
246429f7a1 chore(deps): update docker/build-push-action action to v6.8.0 2024-09-27 12:36:42 +00:00
ArchiBot
2478dd6c10 Automatic translations update 2024-09-27 02:20:15 +00:00
ArchiBot
ee234001f1 Automatic translations update 2024-09-26 02:19:53 +00:00
renovate[bot]
9325959358 chore(deps): update asf-ui digest to 9f5672d 2024-09-25 22:49:39 +00:00
renovate[bot]
aed6784f55 chore(deps): update actions/checkout action to v4.2.0 2024-09-25 19:41:36 +00:00
Łukasz Domeradzki
b5f916dbac Add support for desktop.ini on Windows 2024-09-25 11:59:41 +02:00
renovate[bot]
2555623064 chore(deps): update github/codeql-action action to v3.26.9 2024-09-24 18:08:58 +00:00
renovate[bot]
83aa57a764 chore(deps): update dependency microsoft.identitymodel.jsonwebtokens to 8.1.0 2024-09-24 16:36:14 +00:00
ArchiBot
44ed1b1547 Automatic translations update 2024-09-24 02:20:24 +00:00
renovate[bot]
1b91674f9b chore(deps): update dependency nlog.web.aspnetcore to 5.3.14 2024-09-23 22:05:05 +00:00
renovate[bot]
cc363c2f51 chore(deps): update asf-ui digest to 975f624 2024-09-23 17:01:59 +00:00
renovate[bot]
0982943799 chore(deps): update crowdin/github-action action to v2.2.0 2024-09-23 14:24:50 +00:00
renovate[bot]
c79faf6c0e chore(deps): update swashbuckle-aspnetcore monorepo to 6.8.0 2024-09-23 11:11:54 +00:00
ArchiBot
ea110d5da9 Automatic translations update 2024-09-23 02:19:31 +00:00
Łukasz Domeradzki
40dc70e8c7 Misc 2024-09-22 20:42:44 +02:00
Łukasz Domeradzki
5cc684f4b6 .NET 9 improvements 2024-09-22 20:11:50 +02:00
Łukasz Domeradzki
3f605d59d4 Misc 2024-09-22 19:49:22 +02:00
renovate[bot]
d79af97dfc chore(deps): update asf-ui digest to c79c3a1 2024-09-21 03:25:56 +00:00
Łukasz Domeradzki
a701e14a62 Bump 2024-09-20 21:50:46 +02:00
renovate[bot]
8e30183d7c chore(deps): update dependency steamkit2 to 3.0.0-beta.3 6.0.7.4 2024-09-20 10:54:53 +00:00
renovate[bot]
7d21795c2f chore(deps): update asf-ui digest to 54a84d6 2024-09-20 06:07:16 +00:00
renovate[bot]
26765f31f7 chore(deps): update jetbrains/qodana-action action to v2024.2.3 2024-09-20 02:00:58 +00:00
renovate[bot]
708c523b57 chore(deps): update github/codeql-action action to v3.26.8 2024-09-19 21:58:05 +00:00
renovate[bot]
d05c6b996c chore(deps): update actions/setup-node action to v4.0.4 2024-09-19 18:22:17 +00:00
renovate[bot]
f2f83b0a60 chore(deps): update asf-ui digest to 338bd57 2024-09-19 17:13:20 +00:00
Łukasz Domeradzki
2c0e14fb55 Force github plugins re-update due to compatibility reasons 2024-09-19 16:43:26 +02:00
Łukasz Domeradzki
dca2e6f060 Bump 2024-09-19 14:09:10 +02:00
Łukasz Domeradzki
440e43935a Misc 6.0.7.3 2024-09-19 14:08:45 +02:00
Łukasz Domeradzki
1dff9a48a8 Closes #3291
As presented in the issue, we might end up in situation when parallel-processing and accepting two neutral+ trade offers will result in unwanted inventory state, because while they're both neutral+ and therefore OK to accept standalone, the combination of them both causes active badge progress degradation.

Considering the requirements we have, e.g. still processing trades in parallel, being performant, low on resources and with limited Steam servers overhead, the solution that I came up with in regards to this issue is quite simple:

- After we determine the trade to be neutral+, but before we tell the parse trade routine to accept it, we check if shared with other parallel processes set of handled sets contains any sets that we're currently processing.
- If no, we update that set to include everything we're dealing with, and tell the caller to accept this trade.
- If yes, we tell the caller to retry this trade after (other) accepted trades are confirmed and handled as usual.

This solves some issues and creates some optimistic assumptions:
- First of all, it solves the original issue, since if trade A and B both touch set S, then only one of them will be accepted. It's not deterministic which one (the one that gets to the check first), and not important anyway.
- We do not "lock" the sets before we determine that trade is neutral+, because otherwise unrelated users could spam us with non-neutral+ trades in order to lock the bot in infinite retry. This way they can't, as if the trade is determined to not be neutral+ then it never checks for concurrent processing.
- We are optimistic about resources usage. This routine could be made much more complicated to be more synchronous in order to avoid unnecessary calls to inventory and matching, however, that'd slow down the whole process only because the next call MAYBE will be determined as unneeded. Due to that, ASF is optimistic that trades will (usually) be unrelated, and can be processed in parallel, and if the conflict happens then simply we end up in a situation where we did some extra work for no reason, which is better than waiting with the work till all previous trades are processed.
- As soon as the conditions are met, the conflicting trades are retried to check if the conditions allow to accept them. If yes, they'll be accepted almost immediately after previous ones, if not, they'll be rejected as non-neutral+ anymore.

This way the additional code does not hurt the performance, parallel processing or anything else in usually expected optimistic scenarios, while adding some additional overhead in pessimistic ones, which is justified considering we don't want to degrade the badge progress.
2024-09-19 13:53:11 +02:00
renovate[bot]
85e90bb8d5 chore(deps): update asf-ui digest to 122393d 2024-09-19 00:13:45 +00:00
renovate[bot]
b62b2382fd chore(deps): update crowdin/github-action action to v2.1.3 2024-09-18 13:51:51 +00:00
renovate[bot]
07f64a0107 chore(deps): update asf-ui digest to 7ae118c 2024-09-18 11:33:46 +00:00
ArchiBot
dcdb2cb175 Automatic translations update 2024-09-18 08:49:16 +00:00
Łukasz Domeradzki
33e7ae83dc Fix wiki push 2024-09-18 10:48:24 +02:00