Commit Graph

9613 Commits

Author SHA1 Message Date
Archi
bc3275fa9d Misc 2021-12-15 12:14:56 +01:00
ArchiBot
4c70a71072 Automatic translations update 2021-12-15 02:11:17 +00:00
Archi
fd2b9ff8d2 Update README.md 2021-12-15 00:00:10 +01:00
Archi
407b77428a Overkill 2021-12-14 23:58:57 +01:00
Archi
494dd69819 Update README.md 2021-12-14 23:58:30 +01:00
Archi
71f4e16603 Misc 2021-12-14 23:10:11 +01:00
Renovate Bot
1c0995426c Update ASF-ui commit hash to dbd7e04 2021-12-14 19:17:48 +00:00
Renovate Bot
82702647b4 Update dotnet monorepo to v3.1.22 2021-12-14 17:49:07 +00:00
Renovate Bot
b826a64f88 Update crowdin/github-action action to v1.4.3 2021-12-14 15:18:42 +00:00
Renovate Bot
d20c3257ed Update wiki commit hash to f2ed435 2021-12-14 13:55:50 +00:00
Renovate Bot
06622263c0 Update ASF-ui commit hash to c18c564 2021-12-14 03:24:07 +00:00
ArchiBot
73b3fe4c8a Automatic translations update 2021-12-14 02:13:18 +00:00
Archi
429b030021 Use alternative logic for public signing 2021-12-13 15:47:13 +01:00
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
5.2.1.1
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.
5.2.1.0
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