-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathTodo.txt
More file actions
97 lines (72 loc) · 4.65 KB
/
Copy pathTodo.txt
File metadata and controls
97 lines (72 loc) · 4.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
TODO and IDEAS (also see roadmap in readme)
===========================================
NOTE: This exists mostly to keep all ideas in one spot, making it easier for someone else to contribute or completely take over development. This is by no means a guaranteed roadmap or something.
* Bugs, priority enhancements and small/fast changes
- Bugs / issues:
* Google Drive quota, resulting in no catalog update on some downloads
* Google Drive blocked in China, resulting in very slow game start (and no catalog update ofc.)
- Changes to CSV actions:
* new: Set_CompatibilityNote to add or replace a(n existing) compatibility note without changing the compatibility
* new: Remove_CompatibilityNote
- Changes to DataDumper:
* new: all with status NoCommentSection
* new: mods that require a broken (or worse) mod and have a stability better than broken themselves
- Other changes:
* detect certain local mods (name and/or mod path) and link them to Workshop mod through Steam ID
- create LocalMods in catalog, with the data for linking
- example: mod name "Update from GitHub", folder UpdateFromGitHub
* sort mods in compatibilities, so first mod is always lowest Steam ID
- including a one time sort of existing catalog data
* Mod Options enhancements
- option to show source URL and download date/time in report (default off)
- debug logging
- button to open the Google Form
- ignore compatibilities between specific mods
- maybe: compact report as option. Skip: retired author, abandoned mod, no source, ws url from "issues with", ...; maybe regular, compact, custom (with all options)
* Report summary
- keep track of some things for a summary warning: disabled mods, local (non built-in) mods, ...
* Steam API instead of crawler; requires Steam Web API user authentication key
- https://partner.steamgames.com/doc/webapi/IPublishedFileService
- https://partner.steamgames.com/doc/api/ISteamUGC#CreateQueryAllUGCRequest
* Other ideas
- Mod linking, for mods that aren't really mods but "settings" for other mods (like building themes)
- Succeeded by is minor issue or major issue category? (or its own?)
- Split minor issues into two categories? minor issues and: trivial issues / warnings / ???; Github #37
- Check Loading Order Mod/Tool for time zone issue fixes
- Put OS and memory info at the bottom of the report?
- Remove old mod change notes from catalog, or keep them all?
- Warnings about conflicting hotkeys that cannot be changed
- Standalone Updater tool; move Change Notes from Catalog to CatalogUpdater or something
- TLS issue, see https://steamcommunity.com/sharedfiles/filedetails/?id=2588499551 (comment 2-2-2022):
"You can't really get around the TLS issues, you have to approach it like a Unity game, e.g. instead of using the .NET WebRequest, WebClient etc you use a UnityWebRequest and use a Coroutine setup on a MonoBehaviour." -> search for StartCoroutine()
- Encapsulate TextReport file/stringbuilder in a class. The class would have a data structure and Generate report method and get report text string method. (suggested by asterisk)
===========================================
RANDOM CODE SNIPPETS / IDEAS
MacOS check
Application.platform == RuntimePlatform.OSXPlayer
Subscription update date:
foreach (var modEntry in PluginManager.instance.GetPluginsInfo().Select(pi => new EntryData(pi))
{ var updated = modEntry.updated; }
Activate TLS 1.2; sadly doesn't work for .Net FW 3.5:
public const SslProtocols _Tls12 = (SslProtocols)0x00000C00;
public const SecurityProtocolType Tls12 = (SecurityProtocolType)_Tls12;
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12; // not recognized
* add this, still doesn't work:
namespace System.Security.Authentication
{
public static class SslProtocolsExtensions
{
public const SslProtocols Tls12 = (SslProtocols)0x00000C00;
public const SslProtocols Tls11 = (SslProtocols)0x00000300;
}
}
namespace System.Net
{
using System.Security.Authentication;
public static class SecurityProtocolTypeExtensions
{
public const SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12;
public const SecurityProtocolType Tls11 = (SecurityProtocolType)SslProtocolsExtensions.Tls11;
public const SecurityProtocolType SystemDefault = (SecurityProtocolType)0;
}
}