Skip to content

Add more information about active plugin changes to the event. - #2941

Open
Ottermandias wants to merge 3 commits into
goatcorp:masterfrom
Ottermandias:ActivePluginsChanged
Open

Add more information about active plugin changes to the event.#2941
Ottermandias wants to merge 3 commits into
goatcorp:masterfrom
Ottermandias:ActivePluginsChanged

Conversation

@Ottermandias

Copy link
Copy Markdown
Contributor
  • I avoided to use IExposedPlugin since this contains data that does not make sense for a now-uninstalled plugin, and also references to objects that should only be available in a live plugin.
  • So this creates most of the possibly relevant data and stores it without references, most importantly the WorkingPluginId, which is the only way to uniquely identify a plugin across its lifetime (due to dev plugins sharing internal names, possibly).

@Ottermandias
Ottermandias requested a review from a team as a code owner September 1, 2026 15:37

@KazWolfe KazWolfe left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple API16 notes, please fix the indentation issues and I'd be happy to merge.

public interface IActivePluginsChangedEventArgs
{
/// <summary> Contains a subset of the data of <see cref="IExposedPlugin"/> that is available even if the plugin has been unloaded. </summary>
public interface IAffectedPlugin

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[API16] we should probably clean up the types to create a clear(er) inheritance path between everything.

public IEnumerable<IActivePluginsChangedEventArgs.IAffectedPlugin> AffectedPlugins { get; }

/// <inheritdoc/>
internal sealed class AffectedPlugin(LocalPlugin plugin, Version? version) : IActivePluginsChangedEventArgs.IAffectedPlugin

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[API16] Ditto; should be in the inheritance tree.

@KazWolfe
KazWolfe enabled auto-merge (squash) September 8, 2026 16:01
@KazWolfe
KazWolfe disabled auto-merge September 8, 2026 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants