Commit graph

9620 commits

Author SHA1 Message Date
Archi
2a734344bc
Include examples of redacting in bug report 2021-12-16 00:35:36 +01:00
Archi
eb8946e480
Further update issue templates 2021-12-16 00:34:06 +01:00
Archi
55745c8093
Update issue templates 2021-12-16 00:18:03 +01:00
Archi
5a5a573e46
Bump 2021-12-15 20:41:41 +01:00
Archi
dc6968b371
Bump 2021-12-15 20:33:52 +01:00
Archi
692a0e0c9d
Add Winter Sale 2021 to SalesBlacklist 2021-12-15 20:33:06 +01:00
Renovate Bot
c5839d3cbe
Update actions/upload-artifact action to v2.3.1 2021-12-15 16:04:48 +00:00
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
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