mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 18:27:23 +01:00
chore: better info about what blocks the installer
This commit is contained in:
parent
8cb28d0ebe
commit
3ec6d05ec0
3 changed files with 44 additions and 3 deletions
|
|
@ -265,7 +265,45 @@ namespace Dalamud.Interface.Internal.Windows.PluginInstaller
|
|||
ImGuiHelpers.CenteredText("Installing plugin...");
|
||||
break;
|
||||
case LoadingIndicatorKind.Manager:
|
||||
ImGuiHelpers.CenteredText("Loading repositories and plugins...");
|
||||
{
|
||||
if (pluginManager.PluginsReady && !pluginManager.ReposReady)
|
||||
{
|
||||
ImGuiHelpers.CenteredText("Loading repositories...");
|
||||
}
|
||||
else if (!pluginManager.PluginsReady && pluginManager.ReposReady)
|
||||
{
|
||||
ImGuiHelpers.CenteredText("Loading installed plugins...");
|
||||
}
|
||||
else
|
||||
{
|
||||
ImGuiHelpers.CenteredText("Loading repositories and plugins...");
|
||||
}
|
||||
|
||||
var currentProgress = 0;
|
||||
var total = 0;
|
||||
|
||||
var pendingRepos = pluginManager.Repos.ToArray()
|
||||
.Where(x => (x.State != PluginRepositoryState.Success &&
|
||||
x.State != PluginRepositoryState.Fail) &&
|
||||
x.IsEnabled)
|
||||
.ToArray();
|
||||
var allRepoCount =
|
||||
pluginManager.Repos.Count(x => x.State != PluginRepositoryState.Fail && x.IsEnabled);
|
||||
|
||||
foreach (var repo in pendingRepos)
|
||||
{
|
||||
ImGuiHelpers.CenteredText($"{repo.PluginMasterUrl}: {repo.State}");
|
||||
}
|
||||
|
||||
currentProgress += allRepoCount - pendingRepos.Length;
|
||||
total += allRepoCount;
|
||||
|
||||
if (currentProgress != total)
|
||||
{
|
||||
ImGui.ProgressBar(currentProgress / (float)total, new Vector2(windowSize.X / 3, 50));
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException();
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ internal partial class PluginManager : IDisposable, IServiceType
|
|||
/// <summary>
|
||||
/// Gets a value indicating whether all added repos are not in progress.
|
||||
/// </summary>
|
||||
public bool ReposReady => this.Repos.All(repo => repo.State != PluginRepositoryState.InProgress);
|
||||
public bool ReposReady => this.Repos.All(repo => repo.State != PluginRepositoryState.InProgress || repo.State != PluginRepositoryState.Fail);
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the plugin manager started in safe mode.
|
||||
|
|
@ -492,7 +492,9 @@ internal partial class PluginManager : IDisposable, IServiceType
|
|||
/// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns>
|
||||
public async Task ReloadPluginMastersAsync(bool notify = true)
|
||||
{
|
||||
Log.Information("Now reloading all PluginMasters...");
|
||||
await Task.WhenAll(this.Repos.Select(repo => repo.ReloadPluginMasterAsync()));
|
||||
Log.Information("PluginMasters reloaded, now refiltering...");
|
||||
|
||||
this.RefilterPluginMasters(notify);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ internal class PluginRepository
|
|||
|
||||
private static readonly HttpClient HttpClient = new()
|
||||
{
|
||||
Timeout = TimeSpan.FromSeconds(20),
|
||||
DefaultRequestHeaders =
|
||||
{
|
||||
CacheControl = new CacheControlHeaderValue
|
||||
|
|
@ -109,7 +110,7 @@ internal class PluginRepository
|
|||
|
||||
this.PluginMaster = pluginMaster.AsReadOnly();
|
||||
|
||||
Log.Debug($"Successfully fetched repo: {this.PluginMasterUrl}");
|
||||
Log.Information($"Successfully fetched repo: {this.PluginMasterUrl}");
|
||||
this.State = PluginRepositoryState.Success;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue