Skip to content

Extensibility

A plugin is a WebAssembly extension package that adds provider behavior to Scryer. Plugins can be built in, installed from the provider catalog, upgraded, disabled, reverted, or removed.

You manage plugins in Settings > Plugins. Provider configuration pages depend on plugins for their available provider types and fields.

For example, installing a notification plugin can make a new notification provider type available.

A provider is a configured instance created from a plugin’s provider type. Indexers, download clients, notification channels, and subtitle providers are all provider instances.

The plugin supplies capability and field metadata; the provider instance stores your local configuration for one use of that capability.

For example, one plugin can support a provider type, and you can configure more than one provider instance from it.

The provider catalog is the metadata Scryer uses to list available plugins, provider types, compatibility, versions, and install/update state.

You browse it in Settings > Plugins, and it indirectly affects Settings > Indexers, Download Clients, Notifications, and Subtitles.

For example, refreshing the plugin catalog can reveal compatible updates for installed plugins.

Built-in, installed, and overridden plugins

Section titled “Built-in, installed, and overridden plugins”

A built-in plugin ships with Scryer. An installed plugin was downloaded through the plugin catalog. An overridden plugin replaces a built-in plugin with an installed version until you revert it.

You can see each plugin’s state in Settings > Plugins.

For example, Revert to bundled returns an overridden built-in plugin to the version included with the Scryer binary.