Fix PluginWatcherService triggering every frame

This commit is contained in:
Loporrit
2025-06-26 06:12:06 +00:00
parent 6076deb2b5
commit b2829fc903

View File

@@ -39,7 +39,6 @@ public class PluginWatcherService : MediatorSubscriberBase
{ {
private readonly ConcurrentDictionary<UserData, OptionalPluginWarning> _cachedOptionalPluginWarnings = new(UserDataComparer.Instance); private readonly ConcurrentDictionary<UserData, OptionalPluginWarning> _cachedOptionalPluginWarnings = new(UserDataComparer.Instance);
private readonly IDalamudPluginInterface _pluginInterface; private readonly IDalamudPluginInterface _pluginInterface;
private readonly MareConfigService _mareConfigService;
private CapturedPluginState[] _prevInstalledPluginState = []; private CapturedPluginState[] _prevInstalledPluginState = [];
@@ -62,10 +61,8 @@ public class PluginWatcherService : MediatorSubscriberBase
} }
} }
public PluginWatcherService(ILogger<PluginWatcherService> logger, MareConfigService mareConfigService, public PluginWatcherService(ILogger<PluginWatcherService> logger, IDalamudPluginInterface pluginInterface, MareMediator mediator) : base(logger, mediator)
IDalamudPluginInterface pluginInterface, MareMediator mediator) : base(logger, mediator)
{ {
_mareConfigService = mareConfigService;
_pluginInterface = pluginInterface; _pluginInterface = pluginInterface;
Mediator.Subscribe<PriorityFrameworkUpdateMessage>(this, (_) => { Mediator.Subscribe<PriorityFrameworkUpdateMessage>(this, (_) => {
@@ -84,7 +81,7 @@ public class PluginWatcherService : MediatorSubscriberBase
{ {
if (!ExposedPluginsEqual(_pluginInterface.InstalledPlugins, _prevInstalledPluginState)) if (!ExposedPluginsEqual(_pluginInterface.InstalledPlugins, _prevInstalledPluginState))
{ {
var state = _pluginInterface.InstalledPlugins.Select(x => new CapturedPluginState(x.InternalName, x.Version ?? VersionZero, x.IsLoaded)).ToArray(); var state = _pluginInterface.InstalledPlugins.Select(x => new CapturedPluginState(x.InternalName, x.Version, x.IsLoaded)).ToArray();
// The same plugin can be installed multiple times -- InternalName is not unique // The same plugin can be installed multiple times -- InternalName is not unique