diff --git a/Dalamud/Plugin/PluginInstallerWindow.cs b/Dalamud/Plugin/PluginInstallerWindow.cs index 8bb81295e..5bf2ce3fb 100644 --- a/Dalamud/Plugin/PluginInstallerWindow.cs +++ b/Dalamud/Plugin/PluginInstallerWindow.cs @@ -186,6 +186,9 @@ namespace Dalamud.Plugin if (this.installStatus == PluginInstallStatus.Success) { this.updateComplete = true; + } + + if (t.Result.UpdatedPlugins != null) { this.updatePluginCount = t.Result.UpdatedPlugins.Length; this.updatedInternalName = t.Result.UpdatedPlugins; } @@ -207,9 +210,18 @@ namespace Dalamud.Plugin ImGui.Spacing(); - if (ImGui.BeginPopupModal(Loc.Localize("InstallerError","Installer failed"), ref this.errorModalDrawing, ImGuiWindowFlags.AlwaysAutoResize)) - { - ImGui.Text(Loc.Localize("InstallerErrorHint", "The plugin installer ran into an issue or the plugin is incompatible.\nPlease restart the game and report this error on our discord.")); + if (ImGui.BeginPopupModal(Loc.Localize("InstallerError","Installer failed"), ref this.errorModalDrawing, ImGuiWindowFlags.AlwaysAutoResize)) { + var message = Loc.Localize("InstallerErrorHint", + "The plugin installer ran into an issue or the plugin is incompatible.\nPlease restart the game and report this error on our discord."); + + if (this.updatedInternalName != null) { + var extraInfoMessage = Loc.Localize("InstallerErrorPluginInfo", "\n\nThe following plugins caused these issues:\n\n{0}\nYou may try removing these plugins manually and reinstalling them."); + var insert = this.updatedInternalName.Where(x => x.WasUpdated == false).Aggregate(string.Empty, (current, pluginUpdateStatus) => current + $"* {pluginUpdateStatus.InternalName}\n"); + extraInfoMessage = string.Format(extraInfoMessage, insert); + message += extraInfoMessage; + } + + ImGui.Text(message); ImGui.Spacing(); diff --git a/Dalamud/Plugin/PluginRepository.cs b/Dalamud/Plugin/PluginRepository.cs index 875a1a2fd..47507ebad 100644 --- a/Dalamud/Plugin/PluginRepository.cs +++ b/Dalamud/Plugin/PluginRepository.cs @@ -14,7 +14,7 @@ namespace Dalamud.Plugin { internal class PluginRepository { - private const string PluginRepoBaseUrl = "https://raw.githubusercontent.com/goatcorp/DalamudPlugins/"; + private string PluginRepoBaseUrl => "https://raw.githubusercontent.com/goatcorp/DalamudPlugins/" + (this.dalamud.Configuration.DoPluginTest ? "testing/" : "master/"); private readonly Dalamud dalamud; private string pluginDirectory; @@ -47,7 +47,7 @@ namespace Dalamud.Plugin { using var client = new WebClient(); - var data = client.DownloadString(PluginRepoBaseUrl + (this.dalamud.Configuration.DoPluginTest ? "testing/" : "master/") + "pluginmaster.json"); + var data = client.DownloadString(PluginRepoBaseUrl + "pluginmaster.json"); this.PluginMaster = JsonConvert.DeserializeObject>(data);