public async Task UpdateList() {
if (!_locallyLoaded) {
ReloadLocalList();
}
var list = await DownloadAndParseList();
if (list == null) {
Logging.Warning("Plugins list download failed");
return; // TODO: informing
}
foreach (var plugin in list) {
var local = GetById(plugin.Id);
if (plugin.IsHidden && !SettingsHolder.Common.MsMode) continue;
if (local != null) {
List.Remove(local);
plugin.InstalledVersion = local.InstalledVersion;
}
List.Add(plugin);
}
}