Update plugins when opening plugin manager

This commit is contained in:
Stone_Red
2025-12-20 16:08:45 +01:00
parent ac7826898a
commit a8fe2c80f1
+18 -3
View File
@@ -120,10 +120,25 @@ public partial class PluginManager : Window
PluginMetadata? pluginMetadata = JsonSerializer.Deserialize<PluginMetadata>(await File.ReadAllTextAsync(pluginMetadataPath)); PluginMetadata? pluginMetadata = JsonSerializer.Deserialize<PluginMetadata>(await File.ReadAllTextAsync(pluginMetadataPath));
if (pluginMetadata is not null) if (pluginMetadata is null)
{ {
pluginManagerDataContext.InstalledPlugins.Add(new PluginEntryDataContext(pluginMetadata, new CommandHandler(async () => await Remove(pluginPath, pluginMetadata.Id)), PluginEntryDataContext.Mode.Uninstall, pluginPath)); continue;
_ = pluginIds.Add(pluginMetadata.Id); }
pluginManagerDataContext.InstalledPlugins.Add(new PluginEntryDataContext(pluginMetadata, new CommandHandler(async () => await Remove(pluginPath, pluginMetadata.Id)), PluginEntryDataContext.Mode.Uninstall, pluginPath));
_ = pluginIds.Add(pluginMetadata.Id);
if (string.IsNullOrEmpty(pluginMetadata.ProfileUri?.ToString()))
{
continue;
}
Mod mod = await modIoClient.Games[ModIoGameId].Mods[pluginMetadata.Id].Get();
if (DateTimeOffset.FromUnixTimeSeconds(mod.DateUpdated).DateTime > pluginMetadata.Updated && !pluginMetadata.Tags.Contains("Does Not Support Unloading"))
{
await Remove(pluginPath, pluginMetadata.Id);
await Install(mod);
} }
} }