mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-10-07 07:36:37 +00:00
Whole-tree audit. Every symbol was checked against core, the plugin monorepo and all eight third-party plugins in plugins.json first. - Deprecate (removal 3.10.0) plugin-facing methods nothing calls: LogoDownloader bulk download, ConfigManager backup/secret wrappers, APIHelper extras, BackgroundDataService poll API, PluginManager / PluginStateManager info readers, and a few CacheManager, FontManager, BaseOddsManager, DynamicTeamResolver methods and PluginTestCase. plugin_api_usage.py learns their receiver names; DEPRECATIONS doc regenerated. - Remove core-internal dead code: CacheMetrics, Vegas status/stats plumbing, sync "new cycle" message (followers ignore unknown types), unused operation types, test-only PluginCatalog readers, IPC to_dict and ping, _parse_form_value, CacheStrategyProtocol, ErrorAggregator callbacks, duplicate web response helpers. - Web UI: drop never-mounted json-file-manager.js, the example widget, utils/error_handler.js, four uncalled PluginAPI methods, and 29 escapeHtml shims (call window.LEDEscape directly). Public globals, BaseWidget and widget names unchanged. - Remove six one-off scripts (owner decision) and the unused markupsafe and pytest-mock pins. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
/**
|
|
* Frontend plugin state management.
|
|
*
|
|
* Manages local state for installed plugins and provides state synchronization.
|
|
*/
|
|
|
|
const PluginStateManager = {
|
|
/**
|
|
* Installed plugins state.
|
|
*/
|
|
installedPlugins: [],
|
|
|
|
/**
|
|
* Load installed plugins.
|
|
*
|
|
* @returns {Promise<Array>} List of installed plugins
|
|
*/
|
|
async loadInstalledPlugins() {
|
|
try {
|
|
const plugins = await window.PluginAPI.getInstalledPlugins();
|
|
this.installedPlugins = plugins;
|
|
window.installedPlugins = plugins; // For backward compatibility
|
|
return plugins;
|
|
} catch (error) {
|
|
if (typeof window.showNotification === 'function') {
|
|
window.showNotification('Failed to load installed plugins: '
|
|
+ ((error && error.message) || String(error)), 'error');
|
|
}
|
|
throw error;
|
|
}
|
|
}
|
|
};
|
|
|
|
// Export
|
|
if (typeof module !== 'undefined' && module.exports) {
|
|
module.exports = PluginStateManager;
|
|
} else {
|
|
window.PluginStateManager = PluginStateManager;
|
|
}
|
|
|