Commit graph

9600 commits

Author SHA1 Message Date
ArchiBot
d60b932dfa
Automatic translations update 2021-12-13 02:11:22 +00:00
Archi
5229f52f47
Use latest MSTest
Let's see if it finally works properly
2021-12-12 15:34:31 +01:00
ArchiBot
92a946c1cb
Automatic translations update 2021-12-12 02:12:16 +00:00
Archi
03fc35dad0
Another try 2021-12-12 02:15:21 +01:00
Archi
225003c5d1
Try to fix netf, once again into the breach 2021-12-12 01:44:17 +01:00
Archi
4f598d5c8f
Latest Rider cleanups 2021-12-12 01:12:54 +01:00
Archi
944df1cfc8
Decrease PICS refresh timer
We don't need to fetch info that often
2021-12-11 15:35:48 +01:00
Archi
e259f9e32f
STD: Misc 2021-12-11 15:17:28 +01:00
Archi
c2cabfba49
STD: Add additional safeguards against depot keys corruption 2021-12-11 15:11:35 +01:00
Renovate Bot
dee8add183
Update ASF-ui commit hash to 45fe8ff 2021-12-11 02:47:31 +00:00
ArchiBot
06829beda4
Automatic translations update 2021-12-11 02:09:43 +00:00
Renovate Bot
2a35c82e0c
Update ASF-ui commit hash to 28ad0e2 2021-12-10 19:28:45 +00:00
Renovate Bot
dbd8fa9877
Update ASF-ui commit hash to 43b3e47 2021-12-10 15:16:35 +00:00
Archi
d8a0d2f22d
OCD 2021-12-10 15:00:59 +01:00
Archi
88996d1e35
Make ASF helper scripts aware of --service 2021-12-10 14:59:19 +01:00
Archi
78a88979dc
Add service parameter to GET /Api/ASF 2021-12-10 14:22:49 +01:00
ArchiBot
2513bd4163
Automatic translations update 2021-12-10 02:09:39 +00:00
Archi
d9a5c30659
Closes #2472 2021-12-09 18:24:00 +01:00
ArchiBot
c60ea2ba3d
Automatic translations update 2021-12-09 02:11:40 +00:00
Renovate Bot
7a07b6a22b
Update crowdin/github-action action to v1.4.2 2021-12-08 22:08:30 +00:00
Renovate Bot
d89b6112dd
Update ASF-ui commit hash to 3c31ac3 2021-12-08 20:47:55 +00:00
Archi
5d33bca611
Add IUpdateAware plugin interface 2021-12-08 19:48:59 +01:00
Renovate Bot
0f489f55e4
Update wiki commit hash to 9046b44 2021-12-08 16:41:15 +00:00
Archi
bf70f27449
Bump 2021-12-08 17:01:14 +01:00
Archi
0eab358af9
Plugins breaking: Convert all synchronous interface methods to Task
Okay, I wish we had uncovered it earlier as part of V5.2 but it has bitten us in the back just now, so I'm addressing it as part of monthly cycle instead.

Previously used void methods did not allow async operations in plugins in a "nice way". If plugin didn't require synchronization with the ASF and just minded its own business, it wasn't half bad as it could use async void signature. However, if plugin by any chance had to do something BEFORE ASF continued with the rest of the logic, it had to explicitly leave non-async void signature and call its async-capable stuff in synchronous manner (usually with Wait() or .Result), which is vastly suboptimal.

This was visible even in our STD plugin, which previously had (and still has) GlobalCache initialization in OnASFInit(). If that cache initialization took a bit longer time, STD would hit InvalidOperationException() in OnLicenseList() callback as global cache didn't load yet while we were already long past OnASFInit().

Therefore, I've decided to make a breaking change for a very good reason - all previous methods were converted to tasks, which allows from plugin to do one of three things:

- If plugin is async and requires synchronization (like STD), it can declare itself as async await, and do its awaits as-needed, and ASF will wait for those.
- If plugin is truly synchronous (and not just a synchronous signature with awful Wait() or .Result, see above), it can simply return Task.CompletedTask and has exactly the same logic.
- Finally, if plugin calls some async stuff but doesn't need ASF synchronization, it can "offload" itself from it by calling e.g. ASF's Utilities.InBackground() with whole logic, while returning Task.CompletedTask from the main method. This will allow it to effectively do what async void previously did, by just hooking into the process without intention of slowing it down.

All in all I'm confident this approach, while a bit counter-intuitive at first, will result in better compatibility between ASF and the plugins, as if I wanted to fix my STD issue right now without that breaking change, I'd have to actually call .Result on my async global cache loader function, which is utterly stupid if we can fix ASF to do the right thing instead.

This "approach" can be commonly found in some other libs with similar to ASF's event-hook behaviour, e.g. Discord.Net.

You'll sadly need to do some method signature changes in all of your plugins, as the core OnLoaded() was also changed. See the ones I did in SteamTokenDumperPlugin.cs if you need a practical example, and see ExamplePlugin.cs if you need further explanation.
2021-12-08 16:52:27 +01:00
Renovate Bot
3eae143c55
Update ASF-ui commit hash to aa650c8 2021-12-08 03:32:40 +00:00
ArchiBot
a33d46c85b
Automatic translations update 2021-12-08 02:12:18 +00:00
Renovate Bot
4aa524f03e
Update actions/upload-artifact action to v2.3.0 2021-12-08 00:01:56 +00:00
Renovate Bot
861e7ded16
Update actions/download-artifact action to v2.1.0 2021-12-07 21:18:02 +00:00
Archi
581d5167b9
Closes #2465 2021-12-07 21:34:46 +01:00
Archi
b9108742d4
Bump 2021-12-07 21:27:30 +01:00
Renovate Bot
86c19a2dce
Update wiki commit hash to c8647e6 2021-12-07 13:54:40 +00:00
Renovate Bot
f64abc02ab
Update ASF-ui commit hash to 9c9c415 2021-12-07 09:02:01 +00:00
Renovate Bot
d6e569c970
Update dependency System.Linq.Async to v5.1.0 2021-12-06 18:25:27 +00:00
Renovate Bot
a75d63cd7f
Update ASF-ui commit hash to 09ad8a5 2021-12-06 17:01:23 +00:00
Renovate Bot
8bfc48d8dc
Update ASF-ui commit hash to 468291f 2021-12-06 05:54:48 +00:00
ArchiBot
3de4069e3f
Automatic translations update 2021-12-06 02:11:52 +00:00
Renovate Bot
874eb2d1c6
Update ASF-ui commit hash to 9a44864 2021-12-05 03:11:55 +00:00
ArchiBot
803d4554aa
Automatic translations update 2021-12-05 02:14:37 +00:00
Renovate Bot
549ddb4271
Update dependency SteamKit2 to v2.4.0 2021-12-04 18:52:13 +00:00
renovate[bot]
9017c3970d
Update dependency JustArchiNET.Madness to v3 (#2468)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-04 19:51:45 +01:00
Renovate Bot
1eecd8ace0
Update wiki commit hash to 758a267 2021-12-04 15:30:14 +00:00
Archi
31da584f75
Relax root warning
Even though the case is justified, we shouldn't render whole setups unsupported because of that, as running as root, while discouraged, does not directly affect the program stability.

This is especially true on Windows boxes where there is a lot of setups running with administrators by default and users are not even aware of that, I don't have a good fix for them (apart from reinstallation), and because I do not, I should not expect from them to supply cmd-line arg they don't even understand why.
2021-12-04 13:38:00 +01:00
Renovate Bot
1b1cdb8c3e
Update ASF-ui commit hash to cff26d6 2021-12-04 10:33:11 +00:00
Renovate Bot
37e7f9f51c
Update wiki commit hash to 835074b 2021-12-04 02:55:11 +00:00
ArchiBot
fc9dda13a0
Automatic translations update 2021-12-04 02:09:09 +00:00
Archi
94c214af96
Init emergency loggers to notify user about very early failures
"Very early failures" include exclusively lack of being able to navigate to given --path, as everything else is postponed until we get core loggers up and running. We should print the information to the user and abort the program at the minimum in this case.

Until now ASF silently ignored those errors and proceeded like usual, this is unwanted, if --path is wrong then it's on user to fix it.
2021-12-04 02:33:23 +01:00
Renovate Bot
a184fc555b
Update wiki commit hash to 17b4272 2021-12-03 22:53:24 +00:00
Łukasz Domeradzki
ad2dae4faf
Update RELEASE_TEMPLATE.md 2021-12-03 18:51:08 +01:00
Archi
aaf9cc67b3
Misc
60 days for lock-threads to ensure that issues and PRs get more or less a full month in stable release in case somebody would like to add something to them
2021-12-03 10:51:48 +01:00