From 39ccdcf00dd68a66f3fc4cf7771335b0c2e04293 Mon Sep 17 00:00:00 2001 From: Chuck <33324927+ChuckBuilds@users.noreply.github.com> Date: Wed, 8 Apr 2026 12:33:54 -0400 Subject: [PATCH 1/8] fix(plugins): stop reconciliation install loop, slow plugin list, uninstall resurrection (#309) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(plugins): stop reconciliation install loop, slow plugin list, and uninstall resurrection Three interacting bugs reported by a user (Discord/ericepe) on a fresh install: 1. The state reconciler retried failed auto-repairs on every HTTP request, pegging CPU and flooding logs with "Plugin not found in registry: github / youtube". Root cause: ``_run_startup_reconciliation`` reset ``_reconciliation_started`` to False on any unresolved inconsistency, so ``@app.before_request`` re-fired the entire pass on the next request. Fix: run reconciliation exactly once per process; cache per-plugin unrecoverable failures inside the reconciler so even an explicit re-trigger stays cheap; add a registry pre-check to skip the expensive GitHub fetch when we already know the plugin is missing; expose ``force=True`` on ``/plugins/state/reconcile`` so users can retry after fixing the underlying issue. 2. Uninstalling a plugin via the UI succeeded but the plugin reappeared. Root cause: a race between ``store_manager.uninstall_plugin`` (removes files) and ``cleanup_plugin_config`` (removes config entry) — if reconciliation fired in the gap it saw "config entry with no files" and reinstalled. Fix: reorder uninstall to clean config FIRST, drop a short-lived "recently uninstalled" tombstone on the store manager that the reconciler honors, and pass ``store_manager`` to the manual ``/plugins/state/reconcile`` endpoint (it was previously omitted, which silently disabled auto-repair entirely). 3. ``GET /plugins/installed`` was very slow on a Pi4 (UI hung on "connecting to display" for minutes, ~98% CPU). Root causes: per-request ``discover_plugins()`` + manifest re-read + four ``git`` subprocesses per plugin (``rev-parse``, ``--abbrev-ref``, ``config``, ``log``). Fix: mtime-gate ``discover_plugins()`` and drop the per-plugin manifest re-read in the endpoint; cache ``_get_local_git_info`` keyed on ``.git/HEAD`` mtime so subprocesses only run when the working copy actually moved; bump registry cache TTL from 5 to 15 minutes and fall back to stale cache on transient network failure. Tests: 16 reconciliation cases (including 5 new ones covering the unrecoverable cache, force-reconcile path, transient-failure handling, and recently-uninstalled tombstone) and 8 new store_manager cache tests covering tombstone TTL, git-info mtime cache hit/miss, and the registry stale-cache fallback. All 24 pass; the broader 288-test suite continues to pass with no new failures. Co-Authored-By: Claude Opus 4.6 (1M context) * perf(plugins): parallelize Plugin Store browse and extend metadata cache TTLs Follow-up to the previous commit addressing the Plugin Store browse path specifically. Most users install plugins via the store (ZIP extraction, no .git directory) so the git-info mtime cache from the previous commit was a no-op for them; their pain was coming from /plugins/store/list. Root cause. search_plugins() enriched each returned plugin with three serial GitHub fetches: _get_github_repo_info (repo API), _get_latest_commit_info (commits API), _fetch_manifest_from_github (raw.githubusercontent.com). Fifteen plugins × three requests × serial HTTP = 30–45 sequential round trips on every cold browse. On a Pi4 over WiFi that translated directly into the "connecting to display" hang users reported. The commit and manifest caches had a 5-minute TTL, so even a brief absence re-paid the full cost. Changes. - ``search_plugins``: fan out per-plugin enrichment through a ``ThreadPoolExecutor`` (max 10 workers, stays well under unauthenticated GitHub rate limits). Apply category/tag/query filters before enrichment so we never waste requests on plugins that will be filtered out. ``executor.map`` preserves input order, which the UI depends on. - ``commit_cache_timeout`` and ``manifest_cache_timeout``: 5 min → 30 min. Keeps the cache warm across a realistic session while still picking up upstream updates in a reasonable window. - ``_get_github_repo_info`` and ``_get_latest_commit_info``: stale-on-error fallback. On a network failure or a 403 we now prefer a previously- cached value over the zero-default, matching the pattern already in ``fetch_registry``. Flaky Pi WiFi no longer causes star counts to flip to 0 and commit info to disappear. Tests (5 new in test_store_manager_caches.py). - ``test_results_preserve_registry_order`` — the parallel map must still return plugins in input order. - ``test_filters_applied_before_enrichment`` — category/tag/query filters run first so we don't waste HTTP calls. - ``test_enrichment_runs_concurrently`` — peak-concurrency check plus a wall-time bound that would fail if the code regressed to serial. - ``test_repo_info_stale_on_network_error`` — repo info falls back to stale cache on RequestException. - ``test_commit_info_stale_on_network_error`` — commit info falls back to stale cache on RequestException. All 29 tests (16 reconciliation, 13 store_manager caches) pass. Co-Authored-By: Claude Opus 4.6 (1M context) * perf(plugins): drop redundant per-plugin manifest.json fetch in search_plugins Benchmarking the previous parallelization commit on a real Pi4 revealed that the 10x speedup I expected was only ~1.1x. Profiling showed two plugins (football-scoreboard, ledmatrix-flights) each spent 5 seconds inside _fetch_manifest_from_github — not on the initial HTTP call, but on the three retries in _http_get_with_retries with exponential backoff after transient DNS failures. Even with the thread pool, those 5-second tail latencies stayed in the wave and dominated wall time. The per-plugin manifest fetch in search_plugins is redundant anyway. The registry's plugins.json already carries ``description`` (it is generated from each plugin's manifest by update_registry.py at release time), and ``last_updated`` is filled in from the commit info that we already fetch in the same loop. Dropping the manifest fetch eliminates one of the three per-plugin HTTPS round trips entirely, which also eliminates the DNS-retry tail. The _fetch_manifest_from_github helper itself is preserved — it is still used by the install path. Tests unchanged (the search_plugins tests mock all three helpers and still pass); this drop only affects the hot-path call sequence. Co-Authored-By: Claude Opus 4.6 (1M context) * test: lock down install/update/uninstall invariants Regression guard for the caching and tombstone changes in this PR: - ``install_plugin`` must not be gated by the uninstall tombstone. The tombstone only exists to keep the state reconciler from resurrecting a freshly-uninstalled plugin; explicit user-initiated installs via the store UI go straight to ``install_plugin()`` and must never be blocked. Test: mark a plugin recently uninstalled, stub out the download, call ``install_plugin``, and assert the download step was reached. - ``get_plugin_info(force_refresh=True)`` must forward force_refresh through to both ``_get_latest_commit_info`` and ``_fetch_manifest_from_github``, so that install_plugin and update_plugin (both of which call get_plugin_info with force_refresh=True) continue to bypass the 30-min cache TTLs introduced in c03eb8db. Without this, bumping the commit cache TTL could cause users to install or update to a commit older than what GitHub actually has. Co-Authored-By: Claude Opus 4.6 (1M context) * fix(plugins): address review findings — transactional uninstall, registry error propagation, payload hardening Three real bugs surfaced by review, plus one nitpick. Each was verified against the current code before fixing. 1. fetch_registry silently swallowed network errors, breaking the reconciler (CONFIRMED BUG). The stale-cache fallback I added in c03eb8db made fetch_registry return {"plugins": []} on network failure when no cache existed — which is exactly the state on a fresh boot with flaky WiFi. The reconciler's _auto_repair_missing_plugin code assumed an exception meant "transient, don't mark unrecoverable" and expected to never see a silent empty-dict result. With the silent fallback in place on a fresh boot, it would see "no candidates in registry" and mark every config-referenced plugin permanently unrecoverable. Fix: add ``raise_on_failure: bool = False`` to fetch_registry. UI callers keep the stale-cache-fallback default. The reconciler's _auto_repair_missing_plugin now calls it with raise_on_failure=True so it can distinguish a genuine registry miss from a network error. 2. Uninstall was not transactional (CONFIRMED BUG). Two distinct failure modes silently left the system in an inconsistent state: (a) If ``cleanup_plugin_config`` raised, the code logged a warning and proceeded to delete files anyway, leaving an orphan install with no config entry. (b) If ``uninstall_plugin`` returned False or raised AFTER cleanup had already succeeded, the config was gone but the files were still on disk — another orphan state. Fix: introduce ``_do_transactional_uninstall`` shared by both the queue and direct paths. Flow: - snapshot plugin's entries in main config + secrets - cleanup_plugin_config; on failure, ABORT before touching files - uninstall_plugin; on failure, RESTORE the snapshot, then raise Both queue and direct endpoints now delegate to this helper and surface clean errors to the user instead of proceeding past failure. 3. /plugins/state/reconcile crashed on non-object JSON bodies (CONFIRMED BUG). The previous code did ``payload.get('force', False)`` after ``request.get_json(silent=True) or {}``. If a client sent a bare string or array as the JSON body, payload would be that string or list and .get() would raise AttributeError. Separately, ``bool("false")`` is True, so string-encoded booleans were mis-handled. Fix: guard ``isinstance(payload, dict)`` and route the value through the existing ``_coerce_to_bool`` helper. 4. Nitpick: use ``assert_called_once_with`` in test_force_reconcile_clears_unrecoverable_cache. The existing test worked in practice (we call reset_mock right before) but the stricter assertion catches any future regression where force=True might double-fire the install. Tests added (19 new, 48 total passing): - TestFetchRegistryRaiseOnFailure (4): flag propagates both RequestException and JSONDecodeError, wins over stale cache, and the default behavior is unchanged for existing callers. - test_real_store_manager_empty_registry_on_network_failure (1): the key regression test — uses the REAL PluginStoreManager (not a Mock) with ConnectionError at the HTTP helper layer, and verifies the reconciler does NOT poison _unrecoverable_missing_on_disk. - TestTransactionalUninstall (4): cleanup failure aborts before file removal; file removal failure (both False return and raise) restores the config snapshot; happy path still succeeds. - TestReconcileEndpointPayload (8): bare string / array / null JSON bodies, missing force key, boolean true/false, and string-encoded "true"/"false" all handled correctly. All 342 tests in the broader sweep still pass (2 pre-existing TestDottedKeyNormalization failures reproduce on main and are unrelated). Co-Authored-By: Claude Opus 4.6 (1M context) * style: address review nitpicks in store_manager + test Four small cleanups, each verified against current code: 1. ``_git_info_cache`` type annotation was ``Dict[str, tuple]`` — too loose. Tightened to ``Dict[str, Tuple[float, Dict[str, str]]]`` to match what ``_get_local_git_info`` actually stores (mtime + the sha/short_sha/branch/... dict it returns). Added ``Tuple`` to the typing imports. 2. The ``search_plugins`` early-return condition ``if len(filtered) == 1 or not fetch_commit_info and len(filtered) < 4`` parses correctly under Python's precedence (``and`` > ``or``) but is visually ambiguous. Added explicit parentheses to make the intent — "single plugin, OR small batch that doesn't need commit info" — obvious at a glance. Semantics unchanged. 3. Replaced a Unicode multiplication sign (×) with ASCII 'x' in the commit_cache_timeout comment. 4. Removed a dead ``concurrent_workers = []`` declaration from ``test_enrichment_runs_concurrently``. It was left over from an earlier sketch of the concurrency check — the final test uses only ``peak_lock`` and ``peak``. All 48 tests still pass. Co-Authored-By: Claude Opus 4.6 (1M context) * fix(plugins): address second review pass — cache correctness and rollback Verified each finding against the current code. All four inline issues were real bugs; nitpicks 5-7 were valid improvements. 1. _get_latest_commit_info overwrote a good cached value with None on all-branches-404 (CONFIRMED BUG). The final line of the branch loop unconditionally wrote ``self.commit_info_cache[cache_key] = (time.time(), None)``, which clobbered any previously-good entry on a single transient failure (e.g. an odd 5xx, a temporary DNS hiccup during the branches_to_try loop). Fix: if there's already a good prior value, bump its timestamp into the backoff window and return it instead. Only cache None when we never had a good value. 2. _get_local_git_info cache did not invalidate on fast-forward (CONFIRMED BUG). Caching on ``.git/HEAD`` mtime alone is wrong: a ``git pull`` that fast-forwards the current branch updates ``.git/refs/heads/`` (or packed-refs) but leaves HEAD's contents and mtime untouched. The cache would then serve a stale SHA indefinitely. Fix: introduce ``_git_cache_signature`` which reads HEAD contents, resolves ``ref: refs/heads/`` to the corresponding loose ref file, and builds a signature tuple of (head_contents, head_mtime, resolved_ref_mtime, packed_refs_mtime). A fast-forward bumps the ref file's mtime, which invalidates the signature and re-runs git. 3. test_install_plugin_is_not_blocked_by_tombstone swallowed all exceptions (CONFIRMED BUG in test). ``try: self.sm.install_plugin("bar") except Exception: pass`` could hide a real regression in install_plugin that happens to raise. Fix: the test now writes a COMPLETE valid manifest stub (id, name, class_name, display_modes, entry_point) and stubs _install_dependencies, so install_plugin runs all the way through and returns True. The assertion is now ``assertTrue(result)`` with no exception handling. 4. Uninstall rollback missed unload/reload (CONFIRMED BUG). Previous flow: cleanup → unload (outside try/except) → uninstall → rollback config on failure. Problem: if ``unload_plugin`` raised, the exception propagated without restoring config. And if ``uninstall_plugin`` failed after a successful unload, the rollback restored config but left the plugin unloaded at runtime — inconsistent. Fix: record ``was_loaded`` before touching runtime state, wrap ``unload_plugin`` in the same try/except that covers ``uninstall_plugin``, and on any failure call a ``_rollback`` local that (a) restores the config snapshot and (b) calls ``load_plugin`` to reload the plugin if it was loaded before we touched it. 5. Nitpick: ``_unrecoverable_missing_on_disk: set`` → ``Set[str]``. Matches the existing ``Dict``/``List`` style in state_reconciliation.py. 6. Nitpick: stale-cache fallbacks in _get_github_repo_info and _get_latest_commit_info now bump the cached entry's timestamp by a 60s failure backoff. Without this, a cache entry whose TTL just expired would cause every subsequent request to re-hit the network until it came back, amplifying the failure. Introduced ``_record_cache_backoff`` helper and applied it consistently. 7. Nitpick: replaced the flaky wall-time assertion in test_enrichment_runs_concurrently with just the deterministic ``peak["count"] >= 2`` signal. ``peak["count"]`` can only exceed 1 if two workers were inside the critical section simultaneously, which is definitive proof of parallelism. The wall-time check was tight enough (<200ms) to occasionally fail on CI / low-power boxes. Tests (6 new, 54 total passing): - test_cache_invalidates_on_fast_forward_of_current_branch: builds a loose-ref layout under a temp .git/, verifies a first call populates the cache, a second call with unchanged state hits the cache, and a simulated fast-forward (overwriting ``.git/refs/heads/main`` with a new SHA and mtime) correctly re-runs git. - test_commit_info_preserves_good_cache_on_all_branches_404: seeds a good cached entry, mocks requests.get to always return 404, and verifies the cache still contains the good value afterwards. - test_repo_info_stale_bumps_timestamp_into_backoff: seeds an expired cache, triggers a ConnectionError, then verifies a second lookup does NOT re-hit the network (proves the timestamp bump happened). - test_repo_info_stale_on_403_also_backs_off: same for the 403 path. - test_file_removal_failure_reloads_previously_loaded_plugin: plugin starts loaded, uninstall_plugin returns False, asserts load_plugin was called during rollback. - test_unload_failure_restores_config_and_does_not_call_uninstall: unload_plugin raises, asserts uninstall_plugin was never called AND config was restored AND load_plugin was NOT called (runtime state never changed, so no reload needed). Broader test sweep: 348/348 pass (2 pre-existing TestDottedKeyNormalization failures reproduce on main, unrelated). Co-Authored-By: Claude Opus 4.6 (1M context) * fix(plugins): address third review pass — cache signatures, backoff, isolation All four findings verified as real issues against the current code. 1. _git_cache_signature was missing .git/config (CONFIRMED GAP). The cached ``result`` dict from _get_local_git_info includes ``remote_url``, which is read from ``.git/config``. But the cache signature only tracked HEAD + refs — so a config-only change (e.g. ``git remote set-url origin https://...``) would leave the stale URL cached indefinitely. This matters for the monorepo-migration detection in update_plugin. Fix: add ``config_contents`` and ``config_mtime`` to the signature tuple. Config reads use the same OSError-guarded pattern as the HEAD read. 2. fetch_registry stale fallback didn't bump registry_cache_time (CONFIRMED BUG). The other caches already had the failure-backoff pattern added in the previous review pass (via ``_record_cache_backoff``), but the registry cache's stale-fallback branches silently returned the cached payload without updating ``registry_cache_time``. Next request saw the same expired TTL, re-hit the network, failed again — amplifying the original transient failure. Fix: bump ``self.registry_cache_time`` forward by the existing ``self._failure_backoff_seconds`` (reused — no new constant needed) in both the RequestException and JSONDecodeError stale branches. Kept the ``raise_on_failure=True`` path untouched so the reconciler still gets the exception. 3. _make_client() in the uninstall/reconcile test helper leaked MagicMocks into the api_v3 singleton (CONFIRMED RISK). Every test call replaced api_v3.config_manager, .plugin_manager, .plugin_store_manager, etc. with MagicMocks and never restored them. If any later test in the same pytest run imported api_v3 expecting original state (or None), it would see the leftover mocks. Fix: _make_client now snapshots the original attributes (with a sentinel to distinguish "didn't exist" from "was None") and returns a cleanup callable. Both setUp methods call self.addCleanup(cleanup) so state is restored even if the test raises. On cleanup, sentinel entries trigger delattr rather than setattr to preserve the "attribute was never set" case. 4. Snapshot helpers used broad ``except Exception`` (CONFIRMED). _snapshot_plugin_config caught any exception from get_raw_file_content, which could hide programmer errors (TypeError, AttributeError) behind the "best-effort snapshot" fallback. The legitimate failure modes are filesystem errors (covered by OSError; FileNotFoundError is a subclass, IOError is an alias in Python 3) and ConfigError (what config_manager wraps all load failures in). Fix: narrow to ``(OSError, ConfigError)`` in both snapshot blocks. ConfigError was already imported at line 20 of api_v3.py. Tests added (4 new, 58 total passing): - test_cache_invalidates_on_git_config_change: builds a realistic loose-ref layout, writes .git/config with an "old" remote URL, exercises _get_local_git_info, then rewrites .git/config with a "new" remote URL + new mtime, calls again, and asserts the cache invalidated and returned the new URL. - test_stale_fallback_bumps_timestamp_into_backoff: seeds an expired registry cache, triggers ConnectionError, verifies first call serves stale, then asserts a second call makes ZERO new HTTP requests (proves registry_cache_time was bumped forward). - test_snapshot_survives_config_read_error: raises ConfigError from get_raw_file_content and asserts the uninstall still completes successfully — the narrow exception list still catches this case. - test_snapshot_does_not_swallow_programmer_errors: raises a TypeError from get_raw_file_content (not in the narrow list) and asserts it propagates up to a 500, AND that uninstall_plugin was never called (proves the exception was caught at the right level). Broader test sweep: 352/352 pass (2 pre-existing TestDottedKeyNormalization failures reproduce on main, unrelated). Co-Authored-By: Claude Opus 4.6 (1M context) --------- Co-authored-by: Chuck Co-authored-by: Claude Opus 4.6 (1M context) --- src/plugin_system/state_reconciliation.py | 103 ++- src/plugin_system/store_manager.py | 397 ++++++++-- test/test_store_manager_caches.py | 747 ++++++++++++++++++ test/test_uninstall_and_reconcile_endpoint.py | 395 +++++++++ .../test_state_reconciliation.py | 161 ++++ web_interface/app.py | 40 +- web_interface/blueprints/api_v3.py | 324 ++++++-- 7 files changed, 2007 insertions(+), 160 deletions(-) create mode 100644 test/test_store_manager_caches.py create mode 100644 test/test_uninstall_and_reconcile_endpoint.py diff --git a/src/plugin_system/state_reconciliation.py b/src/plugin_system/state_reconciliation.py index ca381cfd..af804ec9 100644 --- a/src/plugin_system/state_reconciliation.py +++ b/src/plugin_system/state_reconciliation.py @@ -8,7 +8,7 @@ Detects and fixes inconsistencies between: - State manager state """ -from typing import Dict, Any, List, Optional +from typing import Dict, Any, List, Optional, Set from dataclasses import dataclass from enum import Enum from pathlib import Path @@ -86,16 +86,38 @@ class StateReconciliation: self.plugins_dir = Path(plugins_dir) self.store_manager = store_manager self.logger = get_logger(__name__) + + # Plugin IDs that failed auto-repair and should NOT be retried this + # process lifetime. Prevents the infinite "attempt to reinstall missing + # plugin" loop when a config entry references a plugin that isn't in + # the registry (e.g. legacy 'github', 'youtube' entries). A process + # restart — or an explicit user-initiated reconcile with force=True — + # clears this so recovery is possible after the underlying issue is + # fixed. + self._unrecoverable_missing_on_disk: Set[str] = set() - def reconcile_state(self) -> ReconciliationResult: + def reconcile_state(self, force: bool = False) -> ReconciliationResult: """ Perform state reconciliation. - + Compares state from all sources and fixes safe inconsistencies. - + + Args: + force: If True, clear the unrecoverable-plugin cache before + reconciling so previously-failed auto-repairs are retried. + Intended for user-initiated reconcile requests after the + underlying issue (e.g. registry update) has been fixed. + Returns: ReconciliationResult with findings and fixes """ + if force and self._unrecoverable_missing_on_disk: + self.logger.info( + "Force reconcile requested; clearing %d cached unrecoverable plugin(s)", + len(self._unrecoverable_missing_on_disk), + ) + self._unrecoverable_missing_on_disk.clear() + self.logger.info("Starting state reconciliation") inconsistencies = [] @@ -280,7 +302,26 @@ class StateReconciliation: # Check: Plugin in config but not on disk if config.get('exists_in_config') and not disk.get('exists_on_disk'): - can_repair = self.store_manager is not None + # Skip plugins that previously failed auto-repair in this process. + # Re-attempting wastes CPU (network + git clone each request) and + # spams the logs with the same "Plugin not found in registry" + # error. The entry is still surfaced as MANUAL_FIX_REQUIRED so the + # UI can show it, but no auto-repair will run. + previously_unrecoverable = plugin_id in self._unrecoverable_missing_on_disk + # Also refuse to re-install a plugin that the user just uninstalled + # through the UI — prevents a race where the reconciler fires + # between file removal and config cleanup and resurrects the + # plugin the user just deleted. + recently_uninstalled = ( + self.store_manager is not None + and hasattr(self.store_manager, 'was_recently_uninstalled') + and self.store_manager.was_recently_uninstalled(plugin_id) + ) + can_repair = ( + self.store_manager is not None + and not previously_unrecoverable + and not recently_uninstalled + ) inconsistencies.append(Inconsistency( plugin_id=plugin_id, inconsistency_type=InconsistencyType.PLUGIN_MISSING_ON_DISK, @@ -342,7 +383,13 @@ class StateReconciliation: return False def _auto_repair_missing_plugin(self, plugin_id: str) -> bool: - """Attempt to reinstall a missing plugin from the store.""" + """Attempt to reinstall a missing plugin from the store. + + On failure, records plugin_id in ``_unrecoverable_missing_on_disk`` so + subsequent reconciliation passes within this process do not retry and + spam the log / CPU. A process restart (or an explicit ``force=True`` + reconcile) is required to clear the cache. + """ if not self.store_manager: return False @@ -351,6 +398,43 @@ class StateReconciliation: if plugin_id.startswith('ledmatrix-'): candidates.append(plugin_id[len('ledmatrix-'):]) + # Cheap pre-check: is any candidate actually present in the registry + # at all? If not, we know up-front this is unrecoverable and can skip + # the expensive install_plugin path (which does a forced GitHub fetch + # before failing). + # + # IMPORTANT: we must pass raise_on_failure=True here. The default + # fetch_registry() silently falls back to a stale cache or an empty + # dict on network failure, which would make it impossible to tell + # "plugin genuinely not in registry" from "I can't reach the + # registry right now" — in the second case we'd end up poisoning + # _unrecoverable_missing_on_disk with every config entry on a fresh + # boot with no cache. + registry_has_candidate = False + try: + registry = self.store_manager.fetch_registry(raise_on_failure=True) + registry_ids = { + p.get('id') for p in (registry.get('plugins', []) or []) if p.get('id') + } + registry_has_candidate = any(c in registry_ids for c in candidates) + except Exception as e: + # If we can't reach the registry, treat this as transient — don't + # mark unrecoverable, let the next pass try again. + self.logger.warning( + "[AutoRepair] Could not read registry to check %s: %s", plugin_id, e + ) + return False + + if not registry_has_candidate: + self.logger.warning( + "[AutoRepair] %s not present in registry; marking unrecoverable " + "(will not retry this session). Reinstall from the Plugin Store " + "or remove the stale config entry to clear this warning.", + plugin_id, + ) + self._unrecoverable_missing_on_disk.add(plugin_id) + return False + for candidate_id in candidates: try: self.logger.info("[AutoRepair] Attempting to reinstall missing plugin: %s", candidate_id) @@ -366,6 +450,11 @@ class StateReconciliation: except Exception as e: self.logger.error("[AutoRepair] Error reinstalling %s: %s", candidate_id, e, exc_info=True) - self.logger.warning("[AutoRepair] Could not reinstall %s from store", plugin_id) + self.logger.warning( + "[AutoRepair] Could not reinstall %s from store; marking unrecoverable " + "(will not retry this session).", + plugin_id, + ) + self._unrecoverable_missing_on_disk.add(plugin_id) return False diff --git a/src/plugin_system/store_manager.py b/src/plugin_system/store_manager.py index fba7dc36..d495463a 100644 --- a/src/plugin_system/store_manager.py +++ b/src/plugin_system/store_manager.py @@ -14,9 +14,10 @@ import zipfile import tempfile import requests import time +from concurrent.futures import ThreadPoolExecutor from datetime import datetime from pathlib import Path -from typing import List, Dict, Optional, Any +from typing import List, Dict, Optional, Any, Tuple import logging from src.common.permission_utils import sudo_remove_directory @@ -52,19 +53,89 @@ class PluginStoreManager: self.registry_cache = None self.registry_cache_time = None # Timestamp of when registry was cached self.github_cache = {} # Cache for GitHub API responses - self.cache_timeout = 3600 # 1 hour cache timeout - self.registry_cache_timeout = 300 # 5 minutes for registry cache + self.cache_timeout = 3600 # 1 hour cache timeout (repo info: stars, default_branch) + # 15 minutes for registry cache. Long enough that the plugin list + # endpoint on a warm cache never hits the network, short enough that + # new plugins show up within a reasonable window. See also the + # stale-cache fallback in fetch_registry for transient network + # failures. + self.registry_cache_timeout = 900 self.commit_info_cache = {} # Cache for latest commit info: {key: (timestamp, data)} - self.commit_cache_timeout = 300 # 5 minutes (same as registry) + # 30 minutes for commit/manifest caches. Plugin Store users browse + # the catalog via /plugins/store/list which fetches commit info and + # manifest data per plugin. 5-min TTLs meant every fresh browse on + # a Pi4 paid for ~3 HTTP requests x N plugins (30-60s serial). 30 + # minutes keeps the cache warm across a realistic session while + # still picking up upstream updates within a reasonable window. + self.commit_cache_timeout = 1800 self.manifest_cache = {} # Cache for GitHub manifest fetches: {key: (timestamp, data)} - self.manifest_cache_timeout = 300 # 5 minutes + self.manifest_cache_timeout = 1800 self.github_token = self._load_github_token() self._token_validation_cache = {} # Cache for token validation results: {token: (is_valid, timestamp, error_message)} self._token_validation_cache_timeout = 300 # 5 minutes cache for token validation + # Per-plugin tombstone timestamps for plugins that were uninstalled + # recently via the UI. Used by the state reconciler to avoid + # resurrecting a plugin the user just deleted when reconciliation + # races against the uninstall operation. Cleared after ``_uninstall_tombstone_ttl``. + self._uninstall_tombstones: Dict[str, float] = {} + self._uninstall_tombstone_ttl = 300 # 5 minutes + + # Cache for _get_local_git_info: {plugin_path_str: (signature, data)} + # where ``signature`` is a tuple of (head_mtime, resolved_ref_mtime, + # head_contents) so a fast-forward update to the current branch + # (which touches .git/refs/heads/ but NOT .git/HEAD) still + # invalidates the cache. Before this cache, every + # /plugins/installed request fired 4 git subprocesses per plugin, + # which pegged the CPU on a Pi4 with a dozen plugins. The cached + # ``data`` dict is the same shape returned by ``_get_local_git_info`` + # itself (sha / short_sha / branch / optional remote_url, date_iso, + # date) — all string-keyed strings. + self._git_info_cache: Dict[str, Tuple[Tuple, Dict[str, str]]] = {} + + # How long to wait before re-attempting a failed GitHub metadata + # fetch after we've already served a stale cache hit. Without this, + # a single expired-TTL + network-error would cause every subsequent + # request to re-hit the network (and fail again) until the network + # actually came back — amplifying the failure and blocking request + # handlers. Bumping the cached-entry timestamp on failure serves + # the stale payload cheaply until the backoff expires. + self._failure_backoff_seconds = 60 + # Ensure plugins directory exists self.plugins_dir.mkdir(exist_ok=True) + def _record_cache_backoff(self, cache_dict: Dict, cache_key: str, + cache_timeout: int, payload: Any) -> None: + """Bump a cache entry's timestamp so subsequent lookups hit the + cache rather than re-failing over the network. + + Used by the stale-on-error fallbacks in the GitHub metadata fetch + paths. Without this, a cache entry whose TTL just expired would + cause every subsequent request to re-hit the network and fail + again until the network actually came back. We write a synthetic + timestamp ``(now + backoff - cache_timeout)`` so the cache-valid + check ``(now - ts) < cache_timeout`` succeeds for another + ``backoff`` seconds. + """ + synthetic_ts = time.time() + self._failure_backoff_seconds - cache_timeout + cache_dict[cache_key] = (synthetic_ts, payload) + + def mark_recently_uninstalled(self, plugin_id: str) -> None: + """Record that ``plugin_id`` was just uninstalled by the user.""" + self._uninstall_tombstones[plugin_id] = time.time() + + def was_recently_uninstalled(self, plugin_id: str) -> bool: + """Return True if ``plugin_id`` has an active uninstall tombstone.""" + ts = self._uninstall_tombstones.get(plugin_id) + if ts is None: + return False + if time.time() - ts > self._uninstall_tombstone_ttl: + # Expired — clean up so the dict doesn't grow unbounded. + self._uninstall_tombstones.pop(plugin_id, None) + return False + return True + def _load_github_token(self) -> Optional[str]: """ Load GitHub API token from config_secrets.json if available. @@ -308,7 +379,25 @@ class PluginStoreManager: if self.github_token: headers['Authorization'] = f'token {self.github_token}' - response = requests.get(api_url, headers=headers, timeout=10) + try: + response = requests.get(api_url, headers=headers, timeout=10) + except requests.RequestException as req_err: + # Network error: prefer a stale cache hit over an + # empty default so the UI keeps working on a flaky + # Pi WiFi link. Bump the cached entry's timestamp + # into a short backoff window so subsequent + # requests serve the stale payload cheaply instead + # of re-hitting the network on every request. + if cache_key in self.github_cache: + _, stale = self.github_cache[cache_key] + self._record_cache_backoff(self.github_cache, cache_key, self.cache_timeout, stale) + self.logger.warning( + "GitHub repo info fetch failed for %s (%s); serving stale cache.", + cache_key, req_err, + ) + return stale + raise + if response.status_code == 200: data = response.json() pushed_at = data.get('pushed_at', '') or data.get('updated_at', '') @@ -328,7 +417,20 @@ class PluginStoreManager: self.github_cache[cache_key] = (time.time(), repo_info) return repo_info elif response.status_code == 403: - # Rate limit or authentication issue + # Rate limit or authentication issue. If we have a + # previously-cached value, serve it rather than + # returning empty defaults — a stale star count is + # better than a reset to zero. Apply the same + # failure-backoff bump as the network-error path + # so we don't hammer the API with repeat requests + # while rate-limited. + if cache_key in self.github_cache: + _, stale = self.github_cache[cache_key] + self._record_cache_backoff(self.github_cache, cache_key, self.cache_timeout, stale) + self.logger.warning( + "GitHub API 403 for %s; serving stale cache.", cache_key, + ) + return stale if not self.github_token: self.logger.warning( f"GitHub API rate limit likely exceeded (403). " @@ -342,6 +444,10 @@ class PluginStoreManager: ) else: self.logger.warning(f"GitHub API request failed: {response.status_code} for {api_url}") + if cache_key in self.github_cache: + _, stale = self.github_cache[cache_key] + self._record_cache_backoff(self.github_cache, cache_key, self.cache_timeout, stale) + return stale return { 'stars': 0, @@ -442,23 +548,34 @@ class PluginStoreManager: self.logger.error(f"Error fetching registry from URL: {e}", exc_info=True) return None - def fetch_registry(self, force_refresh: bool = False) -> Dict: + def fetch_registry(self, force_refresh: bool = False, raise_on_failure: bool = False) -> Dict: """ Fetch the plugin registry from GitHub. - + Args: force_refresh: Force refresh even if cached - + raise_on_failure: If True, re-raise network / JSON errors instead + of silently falling back to stale cache / empty dict. UI + callers prefer the stale-fallback default so the plugin + list keeps working on flaky WiFi; the state reconciler + needs the explicit failure signal so it can distinguish + "plugin genuinely not in registry" from "I couldn't reach + the registry at all" and not mark everything unrecoverable. + Returns: Registry data with list of available plugins + + Raises: + requests.RequestException / json.JSONDecodeError when + ``raise_on_failure`` is True and the fetch fails. """ # Check if cache is still valid (within timeout) current_time = time.time() - if (self.registry_cache and self.registry_cache_time and - not force_refresh and + if (self.registry_cache and self.registry_cache_time and + not force_refresh and (current_time - self.registry_cache_time) < self.registry_cache_timeout): return self.registry_cache - + try: self.logger.info(f"Fetching plugin registry from {self.REGISTRY_URL}") response = self._http_get_with_retries(self.REGISTRY_URL, timeout=10) @@ -469,9 +586,30 @@ class PluginStoreManager: return self.registry_cache except requests.RequestException as e: self.logger.error(f"Error fetching registry: {e}") + if raise_on_failure: + raise + # Prefer stale cache over an empty list so the plugin list UI + # keeps working on a flaky connection (e.g. Pi on WiFi). Bump + # registry_cache_time into a short backoff window so the next + # request serves the stale payload cheaply instead of + # re-hitting the network on every request (matches the + # pattern used by github_cache / commit_info_cache). + if self.registry_cache: + self.logger.warning("Falling back to stale registry cache") + self.registry_cache_time = ( + time.time() + self._failure_backoff_seconds - self.registry_cache_timeout + ) + return self.registry_cache return {"plugins": []} except json.JSONDecodeError as e: self.logger.error(f"Error parsing registry JSON: {e}") + if raise_on_failure: + raise + if self.registry_cache: + self.registry_cache_time = ( + time.time() + self._failure_backoff_seconds - self.registry_cache_timeout + ) + return self.registry_cache return {"plugins": []} def search_plugins(self, query: str = "", category: str = "", tags: List[str] = None, fetch_commit_info: bool = True, include_saved_repos: bool = True, saved_repositories_manager = None) -> List[Dict]: @@ -517,68 +655,95 @@ class PluginStoreManager: except Exception as e: self.logger.warning(f"Failed to fetch plugins from saved repository {repo_url}: {e}") - results = [] + # First pass: apply cheap filters (category/tags/query) so we only + # fetch GitHub metadata for plugins that will actually be returned. + filtered: List[Dict] = [] for plugin in plugins: - # Category filter if category and plugin.get('category') != category: continue - - # Tags filter (match any tag) if tags and not any(tag in plugin.get('tags', []) for tag in tags): continue - - # Query search (case-insensitive) if query: query_lower = query.lower() searchable_text = ' '.join([ plugin.get('name', ''), plugin.get('description', ''), plugin.get('id', ''), - plugin.get('author', '') + plugin.get('author', ''), ]).lower() - if query_lower not in searchable_text: continue + filtered.append(plugin) - # Enhance plugin data with GitHub metadata + def _enrich(plugin: Dict) -> Dict: + """Enrich a single plugin with GitHub metadata. + + Called concurrently from a ThreadPoolExecutor. Each underlying + HTTP helper (``_get_github_repo_info`` / ``_get_latest_commit_info`` + / ``_fetch_manifest_from_github``) is thread-safe — they use + ``requests`` and write their own cache keys on Python dicts, + which is atomic under the GIL for single-key assignments. + """ enhanced_plugin = plugin.copy() - - # Get real GitHub stars repo_url = plugin.get('repo', '') - if repo_url: - github_info = self._get_github_repo_info(repo_url) - enhanced_plugin['stars'] = github_info.get('stars', plugin.get('stars', 0)) - enhanced_plugin['default_branch'] = github_info.get('default_branch', plugin.get('branch', 'main')) - enhanced_plugin['last_updated_iso'] = github_info.get('last_commit_iso') - enhanced_plugin['last_updated'] = github_info.get('last_commit_date') + if not repo_url: + return enhanced_plugin - if fetch_commit_info: - branch = plugin.get('branch') or github_info.get('default_branch', 'main') + github_info = self._get_github_repo_info(repo_url) + enhanced_plugin['stars'] = github_info.get('stars', plugin.get('stars', 0)) + enhanced_plugin['default_branch'] = github_info.get('default_branch', plugin.get('branch', 'main')) + enhanced_plugin['last_updated_iso'] = github_info.get('last_commit_iso') + enhanced_plugin['last_updated'] = github_info.get('last_commit_date') - commit_info = self._get_latest_commit_info(repo_url, branch) - if commit_info: - enhanced_plugin['last_commit'] = commit_info.get('short_sha') - enhanced_plugin['last_commit_sha'] = commit_info.get('sha') - enhanced_plugin['last_updated'] = commit_info.get('date') or enhanced_plugin.get('last_updated') - enhanced_plugin['last_updated_iso'] = commit_info.get('date_iso') or enhanced_plugin.get('last_updated_iso') - enhanced_plugin['last_commit_message'] = commit_info.get('message') - enhanced_plugin['last_commit_author'] = commit_info.get('author') - enhanced_plugin['branch'] = commit_info.get('branch', branch) - enhanced_plugin['last_commit_branch'] = commit_info.get('branch') + if fetch_commit_info: + branch = plugin.get('branch') or github_info.get('default_branch', 'main') - # Fetch manifest from GitHub for additional metadata (description, etc.) - plugin_subpath = plugin.get('plugin_path', '') - manifest_rel = f"{plugin_subpath}/manifest.json" if plugin_subpath else "manifest.json" - github_manifest = self._fetch_manifest_from_github(repo_url, branch, manifest_rel) - if github_manifest: - if 'last_updated' in github_manifest and not enhanced_plugin.get('last_updated'): - enhanced_plugin['last_updated'] = github_manifest['last_updated'] - if 'description' in github_manifest: - enhanced_plugin['description'] = github_manifest['description'] + commit_info = self._get_latest_commit_info(repo_url, branch) + if commit_info: + enhanced_plugin['last_commit'] = commit_info.get('short_sha') + enhanced_plugin['last_commit_sha'] = commit_info.get('sha') + enhanced_plugin['last_updated'] = commit_info.get('date') or enhanced_plugin.get('last_updated') + enhanced_plugin['last_updated_iso'] = commit_info.get('date_iso') or enhanced_plugin.get('last_updated_iso') + enhanced_plugin['last_commit_message'] = commit_info.get('message') + enhanced_plugin['last_commit_author'] = commit_info.get('author') + enhanced_plugin['branch'] = commit_info.get('branch', branch) + enhanced_plugin['last_commit_branch'] = commit_info.get('branch') - results.append(enhanced_plugin) + # Intentionally NO per-plugin manifest.json fetch here. + # The registry's plugins.json already carries ``description`` + # (it is generated from each plugin's manifest by + # ``update_registry.py``), and ``last_updated`` is filled in + # from the commit info above. An earlier implementation + # fetched manifest.json per plugin anyway, which meant one + # extra HTTPS round trip per result; on a Pi4 with a flaky + # WiFi link the tail retries of that one extra call + # (_http_get_with_retries does 3 attempts with exponential + # backoff) dominated wall time even after parallelization. - return results + return enhanced_plugin + + # Fan out the per-plugin GitHub enrichment. The previous + # implementation did this serially, which on a Pi4 with ~15 plugins + # and a fresh cache meant 30+ HTTP requests in strict sequence (the + # "connecting to display" hang reported by users). With a thread + # pool, latency is dominated by the slowest request rather than + # their sum. Workers capped at 10 to stay well under the + # unauthenticated GitHub rate limit burst and avoid overwhelming a + # Pi's WiFi link. For a small number of plugins the pool is + # essentially free. + if not filtered: + return [] + + # Not worth the pool overhead for tiny workloads. Parenthesized to + # make Python's default ``and`` > ``or`` precedence explicit: a + # single plugin, OR a small batch where we don't need commit info. + if (len(filtered) == 1) or ((not fetch_commit_info) and (len(filtered) < 4)): + return [_enrich(p) for p in filtered] + + max_workers = min(10, len(filtered)) + with ThreadPoolExecutor(max_workers=max_workers, thread_name_prefix='plugin-search') as executor: + # executor.map preserves input order, which the UI relies on. + return list(executor.map(_enrich, filtered)) def _fetch_manifest_from_github(self, repo_url: str, branch: str = "master", manifest_path: str = "manifest.json", force_refresh: bool = False) -> Optional[Dict]: """ @@ -676,7 +841,28 @@ class PluginStoreManager: last_error = None for branch_name in branches_to_try: api_url = f"https://api.github.com/repos/{owner}/{repo}/commits/{branch_name}" - response = requests.get(api_url, headers=headers, timeout=10) + try: + response = requests.get(api_url, headers=headers, timeout=10) + except requests.RequestException as req_err: + # Network failure: fall back to a stale cache hit if + # available so the plugin store UI keeps populating + # commit info on a flaky WiFi link. Bump the cached + # timestamp into the backoff window so we don't + # re-retry on every request. + if cache_key in self.commit_info_cache: + _, stale = self.commit_info_cache[cache_key] + if stale is not None: + self._record_cache_backoff( + self.commit_info_cache, cache_key, + self.commit_cache_timeout, stale, + ) + self.logger.warning( + "GitHub commit fetch failed for %s (%s); serving stale cache.", + cache_key, req_err, + ) + return stale + last_error = str(req_err) + continue if response.status_code == 200: commit_data = response.json() commit_sha_full = commit_data.get('sha', '') @@ -706,7 +892,23 @@ class PluginStoreManager: if last_error: self.logger.debug(f"Unable to fetch commit info for {repo_url}: {last_error}") - # Cache negative result to avoid repeated failing calls + # All branches returned a non-200 response (e.g. 404 on every + # candidate, or a transient 5xx). If we already had a good + # cached value, prefer serving that — overwriting it with + # None here would wipe out commit info the UI just showed + # on the previous request. Bump the timestamp into the + # backoff window so subsequent lookups hit the cache. + if cache_key in self.commit_info_cache: + _, prior = self.commit_info_cache[cache_key] + if prior is not None: + self._record_cache_backoff( + self.commit_info_cache, cache_key, + self.commit_cache_timeout, prior, + ) + return prior + + # No prior good value — cache the negative result so we don't + # hammer a plugin that genuinely has no reachable commits. self.commit_info_cache[cache_key] = (time.time(), None) except Exception as e: @@ -1560,12 +1762,93 @@ class PluginStoreManager: self.logger.error(f"Unexpected error installing dependencies for {plugin_path.name}: {e}", exc_info=True) return False + def _git_cache_signature(self, git_dir: Path) -> Optional[Tuple]: + """Build a cache signature that invalidates on the kind of updates + a plugin user actually cares about. + + Caching on ``.git/HEAD`` mtime alone is not enough: a ``git pull`` + that fast-forwards the current branch updates + ``.git/refs/heads/`` (or ``.git/packed-refs``) but leaves + HEAD's contents and mtime untouched. And the cached ``result`` + dict includes ``remote_url`` — a value read from ``.git/config`` — + so a config-only change (e.g. a monorepo-migration re-pointing + ``remote.origin.url``) must also invalidate the cache. + + Signature components: + - HEAD contents (catches detach / branch switch) + - HEAD mtime + - if HEAD points at a ref, that ref file's mtime (catches + fast-forward / reset on the current branch) + - packed-refs mtime as a coarse fallback for repos using packed refs + - .git/config contents + mtime (catches remote URL changes and + any other config-only edit that affects what the cached + ``remote_url`` field should contain) + + Returns ``None`` if HEAD cannot be read at all (caller will skip + the cache and take the slow path). + """ + head_file = git_dir / 'HEAD' + try: + head_mtime = head_file.stat().st_mtime + head_contents = head_file.read_text(encoding='utf-8', errors='replace').strip() + except OSError: + return None + + ref_mtime = None + if head_contents.startswith('ref: '): + ref_path = head_contents[len('ref: '):].strip() + # ``ref_path`` looks like ``refs/heads/main``. It lives either + # as a loose file under .git/ or inside .git/packed-refs. + loose_ref = git_dir / ref_path + try: + ref_mtime = loose_ref.stat().st_mtime + except OSError: + ref_mtime = None + + packed_refs_mtime = None + if ref_mtime is None: + try: + packed_refs_mtime = (git_dir / 'packed-refs').stat().st_mtime + except OSError: + packed_refs_mtime = None + + config_mtime = None + config_contents = None + config_file = git_dir / 'config' + try: + config_mtime = config_file.stat().st_mtime + config_contents = config_file.read_text(encoding='utf-8', errors='replace').strip() + except OSError: + config_mtime = None + config_contents = None + + return ( + head_contents, head_mtime, + ref_mtime, packed_refs_mtime, + config_contents, config_mtime, + ) + def _get_local_git_info(self, plugin_path: Path) -> Optional[Dict[str, str]]: - """Return local git branch, commit hash, and commit date if the plugin is a git checkout.""" + """Return local git branch, commit hash, and commit date if the plugin is a git checkout. + + Results are cached keyed on a signature that includes HEAD + contents plus the mtime of HEAD AND the resolved ref (or + packed-refs). Repeated calls skip the four ``git`` subprocesses + when nothing has changed, and a ``git pull`` that fast-forwards + the branch correctly invalidates the cache. + """ git_dir = plugin_path / '.git' if not git_dir.exists(): return None + cache_key = str(plugin_path) + signature = self._git_cache_signature(git_dir) + + if signature is not None: + cached = self._git_info_cache.get(cache_key) + if cached is not None and cached[0] == signature: + return cached[1] + try: sha_result = subprocess.run( ['git', '-C', str(plugin_path), 'rev-parse', 'HEAD'], @@ -1623,6 +1906,8 @@ class PluginStoreManager: result['date_iso'] = commit_date_iso result['date'] = self._iso_to_date(commit_date_iso) + if signature is not None: + self._git_info_cache[cache_key] = (signature, result) return result except subprocess.CalledProcessError as err: self.logger.debug(f"Failed to read git info for {plugin_path.name}: {err}") diff --git a/test/test_store_manager_caches.py b/test/test_store_manager_caches.py new file mode 100644 index 00000000..450d9fd5 --- /dev/null +++ b/test/test_store_manager_caches.py @@ -0,0 +1,747 @@ +""" +Tests for the caching and tombstone behaviors added to PluginStoreManager +to fix the plugin-list slowness and the uninstall-resurrection bugs. + +Coverage targets: +- ``mark_recently_uninstalled`` / ``was_recently_uninstalled`` lifecycle and + TTL expiry. +- ``_get_local_git_info`` mtime-gated cache: ``git`` subprocesses only run + when ``.git/HEAD`` mtime changes. +- ``fetch_registry`` stale-cache fallback on network failure. +""" + +import os +import time +import unittest +from pathlib import Path +from tempfile import TemporaryDirectory +from unittest.mock import patch, MagicMock + +from src.plugin_system.store_manager import PluginStoreManager + + +class TestUninstallTombstone(unittest.TestCase): + def setUp(self): + self._tmp = TemporaryDirectory() + self.addCleanup(self._tmp.cleanup) + self.sm = PluginStoreManager(plugins_dir=self._tmp.name) + + def test_unmarked_plugin_is_not_recent(self): + self.assertFalse(self.sm.was_recently_uninstalled("foo")) + + def test_marking_makes_it_recent(self): + self.sm.mark_recently_uninstalled("foo") + self.assertTrue(self.sm.was_recently_uninstalled("foo")) + + def test_tombstone_expires_after_ttl(self): + self.sm._uninstall_tombstone_ttl = 0.05 + self.sm.mark_recently_uninstalled("foo") + self.assertTrue(self.sm.was_recently_uninstalled("foo")) + time.sleep(0.1) + self.assertFalse(self.sm.was_recently_uninstalled("foo")) + # Expired entry should also be pruned from the dict. + self.assertNotIn("foo", self.sm._uninstall_tombstones) + + +class TestGitInfoCache(unittest.TestCase): + def setUp(self): + self._tmp = TemporaryDirectory() + self.addCleanup(self._tmp.cleanup) + self.plugins_dir = Path(self._tmp.name) + self.sm = PluginStoreManager(plugins_dir=str(self.plugins_dir)) + + # Minimal fake git checkout: .git/HEAD needs to exist so the cache + # key (its mtime) is stable, but we mock subprocess so no actual git + # is required. + self.plugin_path = self.plugins_dir / "plg" + (self.plugin_path / ".git").mkdir(parents=True) + (self.plugin_path / ".git" / "HEAD").write_text("ref: refs/heads/main\n") + + def _fake_subprocess_run(self, *args, **kwargs): + # Return different dummy values depending on which git subcommand + # was invoked so the code paths that parse output all succeed. + cmd = args[0] + result = MagicMock() + result.returncode = 0 + if "rev-parse" in cmd and "HEAD" in cmd and "--abbrev-ref" not in cmd: + result.stdout = "abcdef1234567890\n" + elif "--abbrev-ref" in cmd: + result.stdout = "main\n" + elif "config" in cmd: + result.stdout = "https://example.com/repo.git\n" + elif "log" in cmd: + result.stdout = "2026-04-08T12:00:00+00:00\n" + else: + result.stdout = "" + return result + + def test_cache_hits_avoid_subprocess_calls(self): + with patch( + "src.plugin_system.store_manager.subprocess.run", + side_effect=self._fake_subprocess_run, + ) as mock_run: + first = self.sm._get_local_git_info(self.plugin_path) + self.assertIsNotNone(first) + self.assertEqual(first["short_sha"], "abcdef1") + calls_after_first = mock_run.call_count + self.assertEqual(calls_after_first, 4) + + # Second call with unchanged HEAD: zero new subprocess calls. + second = self.sm._get_local_git_info(self.plugin_path) + self.assertEqual(second, first) + self.assertEqual(mock_run.call_count, calls_after_first) + + def test_cache_invalidates_on_head_mtime_change(self): + with patch( + "src.plugin_system.store_manager.subprocess.run", + side_effect=self._fake_subprocess_run, + ) as mock_run: + self.sm._get_local_git_info(self.plugin_path) + calls_after_first = mock_run.call_count + + # Bump mtime on .git/HEAD to simulate a new commit being checked out. + head = self.plugin_path / ".git" / "HEAD" + new_time = head.stat().st_mtime + 10 + os.utime(head, (new_time, new_time)) + + self.sm._get_local_git_info(self.plugin_path) + self.assertEqual(mock_run.call_count, calls_after_first + 4) + + def test_no_git_directory_returns_none(self): + non_git = self.plugins_dir / "no_git" + non_git.mkdir() + self.assertIsNone(self.sm._get_local_git_info(non_git)) + + def test_cache_invalidates_on_git_config_change(self): + """A config-only change (e.g. ``git remote set-url``) must invalidate + the cache, because the cached ``result`` dict includes ``remote_url`` + which is read from ``.git/config``. Without config in the signature, + a stale remote URL would be served indefinitely. + """ + head_file = self.plugin_path / ".git" / "HEAD" + head_file.write_text("ref: refs/heads/main\n") + refs_heads = self.plugin_path / ".git" / "refs" / "heads" + refs_heads.mkdir(parents=True, exist_ok=True) + (refs_heads / "main").write_text("a" * 40 + "\n") + config_file = self.plugin_path / ".git" / "config" + config_file.write_text( + '[remote "origin"]\n\turl = https://old.example.com/repo.git\n' + ) + + remote_url = {"current": "https://old.example.com/repo.git"} + + def fake_subprocess_run(*args, **kwargs): + cmd = args[0] + result = MagicMock() + result.returncode = 0 + if "rev-parse" in cmd and "--abbrev-ref" not in cmd: + result.stdout = "a" * 40 + "\n" + elif "--abbrev-ref" in cmd: + result.stdout = "main\n" + elif "config" in cmd: + result.stdout = remote_url["current"] + "\n" + elif "log" in cmd: + result.stdout = "2026-04-08T12:00:00+00:00\n" + else: + result.stdout = "" + return result + + with patch( + "src.plugin_system.store_manager.subprocess.run", + side_effect=fake_subprocess_run, + ): + first = self.sm._get_local_git_info(self.plugin_path) + self.assertEqual(first["remote_url"], "https://old.example.com/repo.git") + + # Simulate ``git remote set-url origin https://new.example.com/repo.git``: + # ``.git/config`` contents AND mtime change. HEAD is untouched. + time.sleep(0.01) # ensure a detectable mtime delta + config_file.write_text( + '[remote "origin"]\n\turl = https://new.example.com/repo.git\n' + ) + new_time = config_file.stat().st_mtime + 10 + os.utime(config_file, (new_time, new_time)) + remote_url["current"] = "https://new.example.com/repo.git" + + second = self.sm._get_local_git_info(self.plugin_path) + self.assertEqual( + second["remote_url"], "https://new.example.com/repo.git", + "config-only change did not invalidate the cache — " + ".git/config mtime/contents must be part of the signature", + ) + + def test_cache_invalidates_on_fast_forward_of_current_branch(self): + """Regression: .git/HEAD mtime alone is not enough. + + ``git pull`` that fast-forwards the current branch touches + ``.git/refs/heads/`` (or packed-refs) but NOT HEAD. If + we cache on HEAD mtime alone, we serve a stale SHA indefinitely. + """ + # Build a realistic loose-ref layout. + refs_heads = self.plugin_path / ".git" / "refs" / "heads" + refs_heads.mkdir(parents=True) + branch_file = refs_heads / "main" + branch_file.write_text("a" * 40 + "\n") + # Overwrite HEAD to point at refs/heads/main. + (self.plugin_path / ".git" / "HEAD").write_text("ref: refs/heads/main\n") + + call_log = [] + + def fake_subprocess_run(*args, **kwargs): + call_log.append(args[0]) + result = MagicMock() + result.returncode = 0 + cmd = args[0] + if "rev-parse" in cmd and "--abbrev-ref" not in cmd: + result.stdout = branch_file.read_text().strip() + "\n" + elif "--abbrev-ref" in cmd: + result.stdout = "main\n" + elif "config" in cmd: + result.stdout = "https://example.com/repo.git\n" + elif "log" in cmd: + result.stdout = "2026-04-08T12:00:00+00:00\n" + else: + result.stdout = "" + return result + + with patch( + "src.plugin_system.store_manager.subprocess.run", + side_effect=fake_subprocess_run, + ): + first = self.sm._get_local_git_info(self.plugin_path) + calls_after_first = len(call_log) + self.assertIsNotNone(first) + self.assertTrue(first["sha"].startswith("a")) + + # Second call: unchanged. Cache hit → no new subprocess calls. + self.sm._get_local_git_info(self.plugin_path) + self.assertEqual(len(call_log), calls_after_first, + "cache should hit on unchanged state") + + # Simulate a fast-forward: the branch ref file gets a new SHA + # and a new mtime, but .git/HEAD is untouched. + branch_file.write_text("b" * 40 + "\n") + new_time = branch_file.stat().st_mtime + 10 + os.utime(branch_file, (new_time, new_time)) + + second = self.sm._get_local_git_info(self.plugin_path) + # Cache MUST have been invalidated — we should have re-run git. + self.assertGreater( + len(call_log), calls_after_first, + "cache should have invalidated on branch ref update", + ) + self.assertTrue(second["sha"].startswith("b")) + + +class TestSearchPluginsParallel(unittest.TestCase): + """Plugin Store browse path — the per-plugin GitHub enrichment used to + run serially, turning a browse of 15 plugins into 30–45 sequential HTTP + requests on a cold cache. This batch of tests locks in the parallel + fan-out and verifies output shape/ordering haven't regressed. + """ + + def setUp(self): + self._tmp = TemporaryDirectory() + self.addCleanup(self._tmp.cleanup) + self.sm = PluginStoreManager(plugins_dir=self._tmp.name) + + # Fake registry with 5 plugins. + self.registry = { + "plugins": [ + {"id": f"plg{i}", "name": f"Plugin {i}", + "repo": f"https://github.com/owner/plg{i}", "category": "util"} + for i in range(5) + ] + } + self.sm.registry_cache = self.registry + self.sm.registry_cache_time = time.time() + + self._enrich_calls = [] + + def fake_repo(repo_url): + self._enrich_calls.append(("repo", repo_url)) + return {"stars": 1, "default_branch": "main", + "last_commit_iso": "2026-04-08T00:00:00Z", + "last_commit_date": "2026-04-08"} + + def fake_commit(repo_url, branch): + self._enrich_calls.append(("commit", repo_url, branch)) + return {"short_sha": "abc1234", "sha": "abc1234" + "0" * 33, + "date_iso": "2026-04-08T00:00:00Z", "date": "2026-04-08", + "message": "m", "author": "a", "branch": branch} + + def fake_manifest(repo_url, branch, manifest_path): + self._enrich_calls.append(("manifest", repo_url, branch)) + return {"description": "desc"} + + self.sm._get_github_repo_info = fake_repo + self.sm._get_latest_commit_info = fake_commit + self.sm._fetch_manifest_from_github = fake_manifest + + def test_results_preserve_registry_order(self): + results = self.sm.search_plugins(include_saved_repos=False) + self.assertEqual([p["id"] for p in results], + [f"plg{i}" for i in range(5)]) + + def test_filters_applied_before_enrichment(self): + # Filter down to a single plugin via category — ensures we don't + # waste GitHub calls enriching plugins that won't be returned. + self.registry["plugins"][2]["category"] = "special" + self.sm.registry_cache = self.registry + self._enrich_calls.clear() + results = self.sm.search_plugins(category="special", include_saved_repos=False) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]["id"], "plg2") + # Only one plugin should have been enriched. + repo_calls = [c for c in self._enrich_calls if c[0] == "repo"] + self.assertEqual(len(repo_calls), 1) + + def test_enrichment_runs_concurrently(self): + """Verify the thread pool actually runs fetches in parallel. + + Deterministic check: each stub repo fetch holds a lock while it + increments a "currently running" counter, then sleeps briefly, + then decrements. If execution is serial, the peak counter can + never exceed 1. If the thread pool is engaged, we see at least + 2 concurrent workers. + + We deliberately do NOT assert on elapsed wall time — that check + was flaky on low-power / CI boxes where scheduler noise dwarfed + the 50ms-per-worker budget. ``peak["count"] >= 2`` is the signal + we actually care about. + """ + import threading + peak_lock = threading.Lock() + peak = {"count": 0, "current": 0} + + def slow_repo(repo_url): + with peak_lock: + peak["current"] += 1 + if peak["current"] > peak["count"]: + peak["count"] = peak["current"] + # Small sleep gives other workers a chance to enter the + # critical section before we leave it. 50ms is large enough + # to dominate any scheduling jitter without slowing the test + # suite meaningfully. + time.sleep(0.05) + with peak_lock: + peak["current"] -= 1 + return {"stars": 0, "default_branch": "main", + "last_commit_iso": "", "last_commit_date": ""} + + self.sm._get_github_repo_info = slow_repo + self.sm._get_latest_commit_info = lambda *a, **k: None + self.sm._fetch_manifest_from_github = lambda *a, **k: None + + results = self.sm.search_plugins(fetch_commit_info=False, include_saved_repos=False) + + self.assertEqual(len(results), 5) + self.assertGreaterEqual( + peak["count"], 2, + "no concurrent fetches observed — thread pool not engaging", + ) + + +class TestStaleOnErrorFallbacks(unittest.TestCase): + """When GitHub is unreachable, previously-cached values should still be + returned rather than zero/None. Important on Pi's WiFi links. + """ + + def setUp(self): + self._tmp = TemporaryDirectory() + self.addCleanup(self._tmp.cleanup) + self.sm = PluginStoreManager(plugins_dir=self._tmp.name) + + def test_repo_info_stale_on_network_error(self): + cache_key = "owner/repo" + good = {"stars": 42, "default_branch": "main", + "last_commit_iso": "", "last_commit_date": "", + "forks": 0, "open_issues": 0, "updated_at_iso": "", + "language": "", "license": ""} + # Seed the cache with a known-good value, then force expiry. + self.sm.github_cache[cache_key] = (time.time() - 10_000, good) + self.sm.cache_timeout = 1 # force re-fetch + + import requests as real_requests + with patch("src.plugin_system.store_manager.requests.get", + side_effect=real_requests.ConnectionError("boom")): + result = self.sm._get_github_repo_info("https://github.com/owner/repo") + self.assertEqual(result["stars"], 42) + + def test_repo_info_stale_bumps_timestamp_into_backoff(self): + """Regression: after serving stale, next lookup must hit cache. + + Without the failure-backoff timestamp bump, a repeat request + would see the cache as still expired and re-hit the network, + amplifying the original failure. The fix is to update the + cached entry's timestamp so ``(now - ts) < cache_timeout`` holds + for the backoff window. + """ + cache_key = "owner/repo" + good = {"stars": 99, "default_branch": "main", + "last_commit_iso": "", "last_commit_date": "", + "forks": 0, "open_issues": 0, "updated_at_iso": "", + "language": "", "license": ""} + self.sm.github_cache[cache_key] = (time.time() - 10_000, good) + self.sm.cache_timeout = 1 + self.sm._failure_backoff_seconds = 60 + + import requests as real_requests + call_count = {"n": 0} + + def counting_get(*args, **kwargs): + call_count["n"] += 1 + raise real_requests.ConnectionError("boom") + + with patch("src.plugin_system.store_manager.requests.get", side_effect=counting_get): + first = self.sm._get_github_repo_info("https://github.com/owner/repo") + self.assertEqual(first["stars"], 99) + self.assertEqual(call_count["n"], 1) + + # Second call must hit the bumped cache and NOT make another request. + second = self.sm._get_github_repo_info("https://github.com/owner/repo") + self.assertEqual(second["stars"], 99) + self.assertEqual( + call_count["n"], 1, + "stale-cache fallback must bump the timestamp to avoid " + "re-retrying on every request during the backoff window", + ) + + def test_repo_info_stale_on_403_also_backs_off(self): + """Same backoff requirement for 403 rate-limit responses.""" + cache_key = "owner/repo" + good = {"stars": 7, "default_branch": "main", + "last_commit_iso": "", "last_commit_date": "", + "forks": 0, "open_issues": 0, "updated_at_iso": "", + "language": "", "license": ""} + self.sm.github_cache[cache_key] = (time.time() - 10_000, good) + self.sm.cache_timeout = 1 + + rate_limited = MagicMock() + rate_limited.status_code = 403 + rate_limited.text = "rate limited" + call_count = {"n": 0} + + def counting_get(*args, **kwargs): + call_count["n"] += 1 + return rate_limited + + with patch("src.plugin_system.store_manager.requests.get", side_effect=counting_get): + self.sm._get_github_repo_info("https://github.com/owner/repo") + self.assertEqual(call_count["n"], 1) + self.sm._get_github_repo_info("https://github.com/owner/repo") + self.assertEqual( + call_count["n"], 1, + "403 stale fallback must also bump the timestamp", + ) + + def test_commit_info_stale_on_network_error(self): + cache_key = "owner/repo:main" + good = {"branch": "main", "sha": "a" * 40, "short_sha": "aaaaaaa", + "date_iso": "2026-04-08T00:00:00Z", "date": "2026-04-08", + "author": "x", "message": "y"} + self.sm.commit_info_cache[cache_key] = (time.time() - 10_000, good) + self.sm.commit_cache_timeout = 1 # force re-fetch + + import requests as real_requests + with patch("src.plugin_system.store_manager.requests.get", + side_effect=real_requests.ConnectionError("boom")): + result = self.sm._get_latest_commit_info( + "https://github.com/owner/repo", branch="main" + ) + self.assertIsNotNone(result) + self.assertEqual(result["short_sha"], "aaaaaaa") + + def test_commit_info_preserves_good_cache_on_all_branches_404(self): + """Regression: all-branches-404 used to overwrite good cache with None. + + The previous implementation unconditionally wrote + ``self.commit_info_cache[cache_key] = (time.time(), None)`` after + the branch loop, which meant a single transient failure (e.g. an + odd 5xx or an ls-refs hiccup) wiped out the commit info we had + just served to the UI the previous minute. + """ + cache_key = "owner/repo:main" + good = {"branch": "main", "sha": "a" * 40, "short_sha": "aaaaaaa", + "date_iso": "2026-04-08T00:00:00Z", "date": "2026-04-08", + "author": "x", "message": "y"} + self.sm.commit_info_cache[cache_key] = (time.time() - 10_000, good) + self.sm.commit_cache_timeout = 1 + + # Each branches_to_try attempt returns a 404. No network error + # exception — just a non-200 response. This is the code path + # that used to overwrite the cache with None. + not_found = MagicMock() + not_found.status_code = 404 + not_found.text = "Not Found" + with patch("src.plugin_system.store_manager.requests.get", return_value=not_found): + result = self.sm._get_latest_commit_info( + "https://github.com/owner/repo", branch="main" + ) + + self.assertIsNotNone(result, "good cache was wiped out by transient 404s") + self.assertEqual(result["short_sha"], "aaaaaaa") + # The cache entry must still be the good value, not None. + self.assertIsNotNone(self.sm.commit_info_cache[cache_key][1]) + + +class TestInstallUpdateUninstallInvariants(unittest.TestCase): + """Regression guard: the caching and tombstone work added in this PR + must not break the install / update / uninstall code paths. + + Specifically: + - ``install_plugin`` bypasses commit/manifest caches via force_refresh, + so the 5→30 min TTL bump cannot cause users to install a stale commit. + - ``update_plugin`` does the same. + - The uninstall tombstone is only honored by the state reconciler, not + by explicit ``install_plugin`` calls — so a user can uninstall and + immediately reinstall from the store UI without the tombstone getting + in the way. + - ``was_recently_uninstalled`` is not touched by ``install_plugin``. + """ + + def setUp(self): + self._tmp = TemporaryDirectory() + self.addCleanup(self._tmp.cleanup) + self.sm = PluginStoreManager(plugins_dir=self._tmp.name) + + def test_get_plugin_info_with_force_refresh_forwards_to_commit_fetch(self): + """install_plugin's code path must reach the network bypass.""" + self.sm.registry_cache = { + "plugins": [{"id": "foo", "repo": "https://github.com/o/r"}] + } + self.sm.registry_cache_time = time.time() + + repo_calls = [] + commit_calls = [] + manifest_calls = [] + + def fake_repo(url): + repo_calls.append(url) + return {"default_branch": "main", "stars": 0, + "last_commit_iso": "", "last_commit_date": ""} + + def fake_commit(url, branch, force_refresh=False): + commit_calls.append((url, branch, force_refresh)) + return {"short_sha": "deadbee", "sha": "d" * 40, + "message": "m", "author": "a", "branch": branch, + "date": "2026-04-08", "date_iso": "2026-04-08T00:00:00Z"} + + def fake_manifest(url, branch, manifest_path, force_refresh=False): + manifest_calls.append((url, branch, manifest_path, force_refresh)) + return None + + self.sm._get_github_repo_info = fake_repo + self.sm._get_latest_commit_info = fake_commit + self.sm._fetch_manifest_from_github = fake_manifest + + info = self.sm.get_plugin_info("foo", fetch_latest_from_github=True, force_refresh=True) + + self.assertIsNotNone(info) + self.assertEqual(info["last_commit_sha"], "d" * 40) + # force_refresh must have propagated through to the fetch helpers. + self.assertTrue(commit_calls, "commit fetch was not called") + self.assertTrue(commit_calls[0][2], "force_refresh=True did not reach _get_latest_commit_info") + self.assertTrue(manifest_calls, "manifest fetch was not called") + self.assertTrue(manifest_calls[0][3], "force_refresh=True did not reach _fetch_manifest_from_github") + + def test_install_plugin_is_not_blocked_by_tombstone(self): + """A tombstone must only gate the reconciler, not explicit installs. + + Uses a complete, valid manifest stub and a no-op dependency + installer so ``install_plugin`` runs all the way through to a + True return. Anything less (e.g. swallowing exceptions) would + hide real regressions in the install path. + """ + import json as _json + self.sm.registry_cache = { + "plugins": [{"id": "bar", "repo": "https://github.com/o/bar", + "plugin_path": ""}] + } + self.sm.registry_cache_time = time.time() + + # Mark it recently uninstalled (simulates a user who just clicked + # uninstall and then immediately clicked install again). + self.sm.mark_recently_uninstalled("bar") + self.assertTrue(self.sm.was_recently_uninstalled("bar")) + + # Stub the heavy bits so install_plugin can run without network. + self.sm._get_github_repo_info = lambda url: { + "default_branch": "main", "stars": 0, + "last_commit_iso": "", "last_commit_date": "" + } + self.sm._get_latest_commit_info = lambda *a, **k: { + "short_sha": "abc1234", "sha": "a" * 40, "branch": "main", + "message": "m", "author": "a", + "date": "2026-04-08", "date_iso": "2026-04-08T00:00:00Z", + } + self.sm._fetch_manifest_from_github = lambda *a, **k: None + # Skip dependency install entirely (real install calls pip). + self.sm._install_dependencies = lambda *a, **k: True + + def fake_install_via_git(repo_url, plugin_path, branches): + # Write a COMPLETE valid manifest so install_plugin's + # post-download validation succeeds. Required fields come + # from install_plugin itself: id, name, class_name, display_modes. + plugin_path.mkdir(parents=True, exist_ok=True) + manifest = { + "id": "bar", + "name": "Bar Plugin", + "version": "1.0.0", + "class_name": "BarPlugin", + "entry_point": "manager.py", + "display_modes": ["bar_mode"], + } + (plugin_path / "manifest.json").write_text(_json.dumps(manifest)) + return branches[0] + + self.sm._install_via_git = fake_install_via_git + + # No exception-swallowing: if install_plugin fails for ANY reason + # unrelated to the tombstone, the test fails loudly. + result = self.sm.install_plugin("bar") + + self.assertTrue( + result, + "install_plugin returned False — the tombstone should not gate " + "explicit installs and all other stubs should allow success.", + ) + # Tombstone survives install (harmless — nothing reads it for installed plugins). + self.assertTrue(self.sm.was_recently_uninstalled("bar")) + + +class TestRegistryStaleCacheFallback(unittest.TestCase): + def setUp(self): + self._tmp = TemporaryDirectory() + self.addCleanup(self._tmp.cleanup) + self.sm = PluginStoreManager(plugins_dir=self._tmp.name) + + def test_network_failure_returns_stale_cache(self): + # Prime the cache with a known-good registry. + self.sm.registry_cache = {"plugins": [{"id": "cached"}]} + self.sm.registry_cache_time = time.time() - 10_000 # very old + self.sm.registry_cache_timeout = 1 # force re-fetch attempt + + import requests as real_requests + with patch.object( + self.sm, + "_http_get_with_retries", + side_effect=real_requests.RequestException("boom"), + ): + result = self.sm.fetch_registry() + + self.assertEqual(result, {"plugins": [{"id": "cached"}]}) + + def test_network_failure_with_no_cache_returns_empty(self): + self.sm.registry_cache = None + import requests as real_requests + with patch.object( + self.sm, + "_http_get_with_retries", + side_effect=real_requests.RequestException("boom"), + ): + result = self.sm.fetch_registry() + self.assertEqual(result, {"plugins": []}) + + def test_stale_fallback_bumps_timestamp_into_backoff(self): + """Regression: after the stale-cache fallback fires, the next + fetch_registry call must NOT re-hit the network. Without the + timestamp bump, a flaky connection causes every request to pay + the network timeout before falling back to stale. + """ + self.sm.registry_cache = {"plugins": [{"id": "cached"}]} + self.sm.registry_cache_time = time.time() - 10_000 # expired + self.sm.registry_cache_timeout = 1 + self.sm._failure_backoff_seconds = 60 + + import requests as real_requests + call_count = {"n": 0} + + def counting_get(*args, **kwargs): + call_count["n"] += 1 + raise real_requests.ConnectionError("boom") + + with patch.object(self.sm, "_http_get_with_retries", side_effect=counting_get): + first = self.sm.fetch_registry() + self.assertEqual(first, {"plugins": [{"id": "cached"}]}) + self.assertEqual(call_count["n"], 1) + + second = self.sm.fetch_registry() + self.assertEqual(second, {"plugins": [{"id": "cached"}]}) + self.assertEqual( + call_count["n"], 1, + "stale registry fallback must bump registry_cache_time so " + "subsequent requests hit the cache instead of re-retrying", + ) + + +class TestFetchRegistryRaiseOnFailure(unittest.TestCase): + """``fetch_registry(raise_on_failure=True)`` must propagate errors + instead of silently falling back to the stale cache / empty dict. + + Regression guard: the state reconciler relies on this to distinguish + "plugin genuinely not in registry" from "I can't reach the registry + right now". Without it, a fresh boot with flaky WiFi would poison + ``_unrecoverable_missing_on_disk`` with every config entry. + """ + + def setUp(self): + self._tmp = TemporaryDirectory() + self.addCleanup(self._tmp.cleanup) + self.sm = PluginStoreManager(plugins_dir=self._tmp.name) + + def test_request_exception_propagates_when_flag_set(self): + import requests as real_requests + self.sm.registry_cache = None # no stale cache + with patch.object( + self.sm, + "_http_get_with_retries", + side_effect=real_requests.RequestException("boom"), + ): + with self.assertRaises(real_requests.RequestException): + self.sm.fetch_registry(raise_on_failure=True) + + def test_request_exception_propagates_even_with_stale_cache(self): + """Explicit caller opt-in beats the stale-cache convenience.""" + import requests as real_requests + self.sm.registry_cache = {"plugins": [{"id": "stale"}]} + self.sm.registry_cache_time = time.time() - 10_000 + self.sm.registry_cache_timeout = 1 + with patch.object( + self.sm, + "_http_get_with_retries", + side_effect=real_requests.RequestException("boom"), + ): + with self.assertRaises(real_requests.RequestException): + self.sm.fetch_registry(raise_on_failure=True) + + def test_json_decode_error_propagates_when_flag_set(self): + import json as _json + self.sm.registry_cache = None + bad_response = MagicMock() + bad_response.status_code = 200 + bad_response.raise_for_status = MagicMock() + bad_response.json = MagicMock( + side_effect=_json.JSONDecodeError("bad", "", 0) + ) + with patch.object(self.sm, "_http_get_with_retries", return_value=bad_response): + with self.assertRaises(_json.JSONDecodeError): + self.sm.fetch_registry(raise_on_failure=True) + + def test_default_behavior_unchanged_by_new_parameter(self): + """UI callers that don't pass the flag still get stale-cache fallback.""" + import requests as real_requests + self.sm.registry_cache = {"plugins": [{"id": "cached"}]} + self.sm.registry_cache_time = time.time() - 10_000 + self.sm.registry_cache_timeout = 1 + with patch.object( + self.sm, + "_http_get_with_retries", + side_effect=real_requests.RequestException("boom"), + ): + result = self.sm.fetch_registry() # default raise_on_failure=False + self.assertEqual(result, {"plugins": [{"id": "cached"}]}) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_uninstall_and_reconcile_endpoint.py b/test/test_uninstall_and_reconcile_endpoint.py new file mode 100644 index 00000000..34d2021b --- /dev/null +++ b/test/test_uninstall_and_reconcile_endpoint.py @@ -0,0 +1,395 @@ +"""Regression tests for the transactional uninstall helper and the +``/plugins/state/reconcile`` endpoint's payload handling. + +Bug 1: the original uninstall flow caught +``cleanup_plugin_config`` exceptions and only logged a warning before +proceeding to file deletion. A failure there would leave the plugin +files on disk with no config entry (orphan). The fix is a +``_do_transactional_uninstall`` helper that (a) aborts before touching +the filesystem if cleanup fails, and (b) restores the config+secrets +snapshot if file removal fails after cleanup succeeded. + +Bug 2: the reconcile endpoint did ``payload.get('force', False)`` after +``request.get_json(silent=True) or {}``, which raises AttributeError if +the client sent a non-object JSON body (e.g. a bare string or array). +Additionally, ``bool("false")`` is ``True``, so string-encoded booleans +were mis-handled. The fix is an ``isinstance(payload, dict)`` guard plus +routing the value through ``_coerce_to_bool``. +""" + +import json +import sys +import unittest +from pathlib import Path +from unittest.mock import MagicMock, patch + +project_root = Path(__file__).parent.parent +sys.path.insert(0, str(project_root)) + +from flask import Flask + + +_API_V3_MOCKED_ATTRS = ( + 'config_manager', 'plugin_manager', 'plugin_store_manager', + 'plugin_state_manager', 'saved_repositories_manager', 'schema_manager', + 'operation_queue', 'operation_history', 'cache_manager', +) + + +def _make_client(): + """Minimal Flask app + mocked deps that exercises the api_v3 blueprint. + + Returns ``(client, module, cleanup_fn)``. Callers (test ``setUp`` + methods) must register ``cleanup_fn`` with ``self.addCleanup(...)`` + so the original api_v3 singleton attributes are restored at the end + of the test — otherwise the MagicMocks leak into later tests that + import api_v3 expecting fresh state. + """ + from web_interface.blueprints import api_v3 as api_v3_module + from web_interface.blueprints.api_v3 import api_v3 + + # Snapshot the originals so we can restore them. + _SENTINEL = object() + originals = { + name: getattr(api_v3, name, _SENTINEL) for name in _API_V3_MOCKED_ATTRS + } + + # Mocks for all the bits the reconcile / uninstall endpoints touch. + api_v3.config_manager = MagicMock() + api_v3.config_manager.get_raw_file_content.return_value = {} + api_v3.config_manager.secrets_path = "/tmp/nonexistent_secrets.json" + api_v3.plugin_manager = MagicMock() + api_v3.plugin_manager.plugins = {} + api_v3.plugin_manager.plugins_dir = "/tmp" + api_v3.plugin_store_manager = MagicMock() + api_v3.plugin_state_manager = MagicMock() + api_v3.plugin_state_manager.get_all_states.return_value = {} + api_v3.saved_repositories_manager = MagicMock() + api_v3.schema_manager = MagicMock() + api_v3.operation_queue = None # force the direct (non-queue) path + api_v3.operation_history = MagicMock() + api_v3.cache_manager = MagicMock() + + def _cleanup(): + for name, original in originals.items(): + if original is _SENTINEL: + # Attribute didn't exist before — remove it to match. + if hasattr(api_v3, name): + try: + delattr(api_v3, name) + except AttributeError: + pass + else: + setattr(api_v3, name, original) + + app = Flask(__name__) + app.config['TESTING'] = True + app.config['SECRET_KEY'] = 'test' + app.register_blueprint(api_v3, url_prefix='/api/v3') + return app.test_client(), api_v3_module, _cleanup + + +class TestTransactionalUninstall(unittest.TestCase): + """Exercises ``_do_transactional_uninstall`` directly. + + Using the direct (non-queue) code path via the Flask client gives us + the full uninstall endpoint behavior end-to-end, including the + rollback on mid-flight failures. + """ + + def setUp(self): + self.client, self.mod, _cleanup = _make_client() + self.addCleanup(_cleanup) + self.api_v3 = self.mod.api_v3 + + def test_cleanup_failure_aborts_before_file_removal(self): + """If cleanup_plugin_config raises, uninstall_plugin must NOT run.""" + self.api_v3.config_manager.cleanup_plugin_config.side_effect = RuntimeError("disk full") + + response = self.client.post( + '/api/v3/plugins/uninstall', + data=json.dumps({'plugin_id': 'thing'}), + content_type='application/json', + ) + + self.assertEqual(response.status_code, 500) + # File removal must NOT have been attempted — otherwise we'd have + # deleted the plugin after failing to clean its config, leaving + # the reconciler to potentially resurrect it later. + self.api_v3.plugin_store_manager.uninstall_plugin.assert_not_called() + + def test_file_removal_failure_restores_snapshot(self): + """If uninstall_plugin returns False after cleanup, snapshot must be restored.""" + # Start with the plugin in main config and in secrets. + stored_main = {'thing': {'enabled': True, 'custom': 'stuff'}} + stored_secrets = {'thing': {'api_key': 'secret'}} + + # get_raw_file_content is called twice during snapshot (main + + # secrets) and then again during restore. We track writes through + # save_raw_file_content so we can assert the restore happened. + def raw_get(file_type): + if file_type == 'main': + return dict(stored_main) + if file_type == 'secrets': + return dict(stored_secrets) + return {} + + self.api_v3.config_manager.get_raw_file_content.side_effect = raw_get + self.api_v3.config_manager.secrets_path = __file__ # any existing file + self.api_v3.config_manager.cleanup_plugin_config.return_value = None + self.api_v3.plugin_store_manager.uninstall_plugin.return_value = False + + response = self.client.post( + '/api/v3/plugins/uninstall', + data=json.dumps({'plugin_id': 'thing'}), + content_type='application/json', + ) + + self.assertEqual(response.status_code, 500) + # After the file removal returned False, the helper must have + # written the snapshot back. Inspect save_raw_file_content calls. + calls = self.api_v3.config_manager.save_raw_file_content.call_args_list + file_types_written = [c.args[0] for c in calls] + self.assertIn('main', file_types_written, + f"main config was not restored after uninstall failure; calls={calls}") + # Find the main restore call and confirm our snapshot entry is present. + for c in calls: + if c.args[0] == 'main': + written = c.args[1] + self.assertIn('thing', written, + "main config was written without the restored snapshot entry") + self.assertEqual(written['thing'], stored_main['thing']) + break + + def test_file_removal_raising_also_restores_snapshot(self): + """Same restore path, but triggered by an exception instead of False.""" + stored_main = {'thing': {'enabled': False}} + + def raw_get(file_type): + if file_type == 'main': + return dict(stored_main) + return {} + + self.api_v3.config_manager.get_raw_file_content.side_effect = raw_get + self.api_v3.config_manager.cleanup_plugin_config.return_value = None + self.api_v3.plugin_store_manager.uninstall_plugin.side_effect = OSError("rm failed") + + response = self.client.post( + '/api/v3/plugins/uninstall', + data=json.dumps({'plugin_id': 'thing'}), + content_type='application/json', + ) + + self.assertEqual(response.status_code, 500) + calls = self.api_v3.config_manager.save_raw_file_content.call_args_list + self.assertTrue( + any(c.args[0] == 'main' for c in calls), + "main config was not restored after uninstall raised", + ) + + def test_happy_path_succeeds(self): + """Sanity: the transactional rework did not break the happy path.""" + self.api_v3.config_manager.get_raw_file_content.return_value = {} + self.api_v3.config_manager.cleanup_plugin_config.return_value = None + self.api_v3.plugin_store_manager.uninstall_plugin.return_value = True + + response = self.client.post( + '/api/v3/plugins/uninstall', + data=json.dumps({'plugin_id': 'thing'}), + content_type='application/json', + ) + + self.assertEqual(response.status_code, 200) + self.api_v3.plugin_store_manager.uninstall_plugin.assert_called_once_with('thing') + + def test_file_removal_failure_reloads_previously_loaded_plugin(self): + """Regression: rollback must restore BOTH config AND runtime state. + + If the plugin was loaded at runtime before the uninstall + request, and file removal fails after unload has already + succeeded, the rollback must call ``load_plugin`` so the user + doesn't end up in a state where the files exist and the config + exists but the plugin is no longer loaded. + """ + # Plugin is currently loaded. + self.api_v3.plugin_manager.plugins = {'thing': MagicMock()} + self.api_v3.config_manager.get_raw_file_content.return_value = { + 'thing': {'enabled': True} + } + self.api_v3.config_manager.cleanup_plugin_config.return_value = None + self.api_v3.plugin_manager.unload_plugin.return_value = None + self.api_v3.plugin_store_manager.uninstall_plugin.return_value = False + + response = self.client.post( + '/api/v3/plugins/uninstall', + data=json.dumps({'plugin_id': 'thing'}), + content_type='application/json', + ) + + self.assertEqual(response.status_code, 500) + # Unload did happen (it's part of the uninstall sequence)... + self.api_v3.plugin_manager.unload_plugin.assert_called_once_with('thing') + # ...and because file removal failed, the rollback must have + # called load_plugin to restore runtime state. + self.api_v3.plugin_manager.load_plugin.assert_called_once_with('thing') + + def test_snapshot_survives_config_read_error(self): + """Regression: if get_raw_file_content raises an expected error + (OSError / ConfigError) during snapshot, the uninstall should + still proceed — we just won't have a rollback snapshot. Narrow + exception list must still cover the realistic failure modes. + """ + from src.exceptions import ConfigError + self.api_v3.config_manager.get_raw_file_content.side_effect = ConfigError( + "file missing", config_path="/tmp/missing" + ) + self.api_v3.config_manager.cleanup_plugin_config.return_value = None + self.api_v3.plugin_store_manager.uninstall_plugin.return_value = True + + response = self.client.post( + '/api/v3/plugins/uninstall', + data=json.dumps({'plugin_id': 'thing'}), + content_type='application/json', + ) + + # Uninstall should still succeed — snapshot failure is logged + # but doesn't block the uninstall. + self.assertEqual(response.status_code, 200) + self.api_v3.plugin_store_manager.uninstall_plugin.assert_called_once_with('thing') + + def test_snapshot_does_not_swallow_programmer_errors(self): + """Regression: unexpected exceptions (TypeError, AttributeError) + must propagate out of the snapshot helper so bugs surface + during development instead of being silently logged and + ignored. Narrowing from ``except Exception`` to + ``(OSError, ConfigError)`` is what makes this work. + """ + # Raise an exception that is NOT in the narrow catch list. + self.api_v3.config_manager.get_raw_file_content.side_effect = TypeError( + "unexpected kwarg" + ) + + response = self.client.post( + '/api/v3/plugins/uninstall', + data=json.dumps({'plugin_id': 'thing'}), + content_type='application/json', + ) + + # The TypeError should propagate up to the endpoint's outer + # try/except and produce a 500, NOT be silently swallowed like + # the previous ``except Exception`` did. + self.assertEqual(response.status_code, 500) + # uninstall_plugin must NOT have been called — the snapshot + # exception bubbled up before we got that far. + self.api_v3.plugin_store_manager.uninstall_plugin.assert_not_called() + + def test_unload_failure_restores_config_and_does_not_call_uninstall(self): + """If unload_plugin itself raises, config must be restored and + uninstall_plugin must NOT be called.""" + self.api_v3.plugin_manager.plugins = {'thing': MagicMock()} + self.api_v3.config_manager.get_raw_file_content.return_value = { + 'thing': {'enabled': True} + } + self.api_v3.config_manager.cleanup_plugin_config.return_value = None + self.api_v3.plugin_manager.unload_plugin.side_effect = RuntimeError("unload boom") + + response = self.client.post( + '/api/v3/plugins/uninstall', + data=json.dumps({'plugin_id': 'thing'}), + content_type='application/json', + ) + + self.assertEqual(response.status_code, 500) + self.api_v3.plugin_store_manager.uninstall_plugin.assert_not_called() + # Config should have been restored. + calls = self.api_v3.config_manager.save_raw_file_content.call_args_list + self.assertTrue( + any(c.args[0] == 'main' for c in calls), + "main config was not restored after unload_plugin raised", + ) + # load_plugin must NOT have been called — unload didn't succeed, + # so runtime state is still what it was. + self.api_v3.plugin_manager.load_plugin.assert_not_called() + + +class TestReconcileEndpointPayload(unittest.TestCase): + """``/plugins/state/reconcile`` must handle weird JSON payloads without + crashing, and must accept string booleans for ``force``. + """ + + def setUp(self): + self.client, self.mod, _cleanup = _make_client() + self.addCleanup(_cleanup) + self.api_v3 = self.mod.api_v3 + # Stub the reconciler so we only test the payload plumbing, not + # the full reconciliation. We patch StateReconciliation at the + # module level where the endpoint imports it lazily. + self._reconciler_instance = MagicMock() + self._reconciler_instance.reconcile_state.return_value = MagicMock( + inconsistencies_found=[], + inconsistencies_fixed=[], + inconsistencies_manual=[], + message="ok", + ) + # Patch the StateReconciliation class where it's imported inside + # the reconcile endpoint. + self._patcher = patch( + 'src.plugin_system.state_reconciliation.StateReconciliation', + return_value=self._reconciler_instance, + ) + self._patcher.start() + self.addCleanup(self._patcher.stop) + + def _post(self, body, content_type='application/json'): + return self.client.post( + '/api/v3/plugins/state/reconcile', + data=body, + content_type=content_type, + ) + + def test_non_object_json_body_does_not_crash(self): + """A bare string JSON body must not raise AttributeError.""" + response = self._post('"just a string"') + self.assertEqual(response.status_code, 200) + # force must default to False. + self._reconciler_instance.reconcile_state.assert_called_once_with(force=False) + + def test_array_json_body_does_not_crash(self): + response = self._post('[1, 2, 3]') + self.assertEqual(response.status_code, 200) + self._reconciler_instance.reconcile_state.assert_called_once_with(force=False) + + def test_null_json_body_does_not_crash(self): + response = self._post('null') + self.assertEqual(response.status_code, 200) + self._reconciler_instance.reconcile_state.assert_called_once_with(force=False) + + def test_missing_force_key_defaults_to_false(self): + response = self._post('{}') + self.assertEqual(response.status_code, 200) + self._reconciler_instance.reconcile_state.assert_called_once_with(force=False) + + def test_force_true_boolean(self): + response = self._post(json.dumps({'force': True})) + self.assertEqual(response.status_code, 200) + self._reconciler_instance.reconcile_state.assert_called_once_with(force=True) + + def test_force_false_boolean(self): + response = self._post(json.dumps({'force': False})) + self.assertEqual(response.status_code, 200) + self._reconciler_instance.reconcile_state.assert_called_once_with(force=False) + + def test_force_string_false_coerced_correctly(self): + """``bool("false")`` is ``True`` — _coerce_to_bool must fix that.""" + response = self._post(json.dumps({'force': 'false'})) + self.assertEqual(response.status_code, 200) + self._reconciler_instance.reconcile_state.assert_called_once_with(force=False) + + def test_force_string_true_coerced_correctly(self): + response = self._post(json.dumps({'force': 'true'})) + self.assertEqual(response.status_code, 200) + self._reconciler_instance.reconcile_state.assert_called_once_with(force=True) + + +if __name__ == '__main__': + unittest.main() diff --git a/test/web_interface/test_state_reconciliation.py b/test/web_interface/test_state_reconciliation.py index 538c252f..1fa0de22 100644 --- a/test/web_interface/test_state_reconciliation.py +++ b/test/web_interface/test_state_reconciliation.py @@ -342,6 +342,167 @@ class TestStateReconciliation(unittest.TestCase): self.assertEqual(state, {}) +class TestStateReconciliationUnrecoverable(unittest.TestCase): + """Tests for the unrecoverable-plugin cache and force reconcile. + + Regression coverage for the infinite reinstall loop where a config + entry referenced a plugin not present in the registry (e.g. legacy + 'github' / 'youtube' entries). The reconciler used to retry the + install on every HTTP request; it now caches the failure for the + process lifetime and only retries on an explicit ``force=True`` + reconcile call. + """ + + def setUp(self): + self.temp_dir = Path(tempfile.mkdtemp()) + self.plugins_dir = self.temp_dir / "plugins" + self.plugins_dir.mkdir() + + self.state_manager = Mock(spec=PluginStateManager) + self.state_manager.get_all_states.return_value = {} + self.config_manager = Mock() + self.config_manager.load_config.return_value = { + "ghost": {"enabled": True} + } + self.plugin_manager = Mock() + self.plugin_manager.plugin_manifests = {} + self.plugin_manager.plugins = {} + + # Store manager with an empty registry — install_plugin always fails + self.store_manager = Mock() + self.store_manager.fetch_registry.return_value = {"plugins": []} + self.store_manager.install_plugin.return_value = False + self.store_manager.was_recently_uninstalled.return_value = False + + self.reconciler = StateReconciliation( + state_manager=self.state_manager, + config_manager=self.config_manager, + plugin_manager=self.plugin_manager, + plugins_dir=self.plugins_dir, + store_manager=self.store_manager, + ) + + def tearDown(self): + shutil.rmtree(self.temp_dir) + + def test_not_in_registry_marks_unrecoverable_without_install(self): + """If the plugin isn't in the registry at all, skip install_plugin.""" + result = self.reconciler.reconcile_state() + + # One inconsistency, unfixable, no install attempt made. + self.assertEqual(len(result.inconsistencies_found), 1) + self.assertEqual(len(result.inconsistencies_fixed), 0) + self.store_manager.install_plugin.assert_not_called() + self.assertIn("ghost", self.reconciler._unrecoverable_missing_on_disk) + + def test_subsequent_reconcile_does_not_retry(self): + """Second reconcile pass must not touch install_plugin or fetch_registry again.""" + self.reconciler.reconcile_state() + self.store_manager.fetch_registry.reset_mock() + self.store_manager.install_plugin.reset_mock() + + result = self.reconciler.reconcile_state() + + # Still one inconsistency, still no install attempt, no new registry fetch + self.assertEqual(len(result.inconsistencies_found), 1) + inc = result.inconsistencies_found[0] + self.assertFalse(inc.can_auto_fix) + self.assertEqual(inc.fix_action, FixAction.MANUAL_FIX_REQUIRED) + self.store_manager.install_plugin.assert_not_called() + self.store_manager.fetch_registry.assert_not_called() + + def test_force_reconcile_clears_unrecoverable_cache(self): + """force=True must re-attempt previously-failed plugins.""" + self.reconciler.reconcile_state() + self.assertIn("ghost", self.reconciler._unrecoverable_missing_on_disk) + + # Now pretend the registry gained the plugin so the pre-check passes + # and install_plugin is actually invoked. + self.store_manager.fetch_registry.return_value = { + "plugins": [{"id": "ghost"}] + } + self.store_manager.install_plugin.return_value = True + self.store_manager.install_plugin.reset_mock() + + # Config still references ghost; disk still missing it — the + # reconciler should re-attempt install now that force=True cleared + # the cache. Use assert_called_once_with so a future regression + # that accidentally triggers a second install attempt on force=True + # is caught. + result = self.reconciler.reconcile_state(force=True) + + self.store_manager.install_plugin.assert_called_once_with("ghost") + + def test_registry_unreachable_does_not_mark_unrecoverable(self): + """Transient registry failures should not poison the cache.""" + self.store_manager.fetch_registry.side_effect = Exception("network down") + + result = self.reconciler.reconcile_state() + + self.assertEqual(len(result.inconsistencies_found), 1) + self.assertNotIn("ghost", self.reconciler._unrecoverable_missing_on_disk) + self.store_manager.install_plugin.assert_not_called() + + def test_recently_uninstalled_skips_auto_repair(self): + """A freshly-uninstalled plugin must not be resurrected by the reconciler.""" + self.store_manager.was_recently_uninstalled.return_value = True + self.store_manager.fetch_registry.return_value = { + "plugins": [{"id": "ghost"}] + } + + result = self.reconciler.reconcile_state() + + self.assertEqual(len(result.inconsistencies_found), 1) + inc = result.inconsistencies_found[0] + self.assertFalse(inc.can_auto_fix) + self.assertEqual(inc.fix_action, FixAction.MANUAL_FIX_REQUIRED) + self.store_manager.install_plugin.assert_not_called() + + def test_real_store_manager_empty_registry_on_network_failure(self): + """Regression: using the REAL PluginStoreManager (not a Mock), verify + the reconciler does NOT poison the unrecoverable cache when + ``fetch_registry`` fails with no stale cache available. + + Previously, the default stale-cache fallback in ``fetch_registry`` + silently returned ``{"plugins": []}`` on network failure with no + cache. The reconciler's ``_auto_repair_missing_plugin`` saw "no + candidates in registry" and marked everything unrecoverable — a + regression that would bite every user doing a fresh boot on flaky + WiFi. The fix is ``fetch_registry(raise_on_failure=True)`` in + ``_auto_repair_missing_plugin`` so the reconciler can tell a real + registry miss from a network error. + """ + from src.plugin_system.store_manager import PluginStoreManager + import requests as real_requests + + real_store = PluginStoreManager(plugins_dir=str(self.plugins_dir)) + real_store.registry_cache = None # fresh boot, no cache + real_store.registry_cache_time = None + + # Stub the underlying HTTP so no real network call is made but the + # real fetch_registry code path runs. + real_store._http_get_with_retries = Mock( + side_effect=real_requests.ConnectionError("wifi down") + ) + + reconciler = StateReconciliation( + state_manager=self.state_manager, + config_manager=self.config_manager, + plugin_manager=self.plugin_manager, + plugins_dir=self.plugins_dir, + store_manager=real_store, + ) + + result = reconciler.reconcile_state() + + # One inconsistency (ghost is in config, not on disk), but + # because the registry lookup failed transiently, we must NOT + # have marked it unrecoverable — a later reconcile (after the + # network comes back) can still auto-repair. + self.assertEqual(len(result.inconsistencies_found), 1) + self.assertNotIn("ghost", reconciler._unrecoverable_missing_on_disk) + + if __name__ == '__main__': unittest.main() diff --git a/web_interface/app.py b/web_interface/app.py index 66684f86..42568ce0 100644 --- a/web_interface/app.py +++ b/web_interface/app.py @@ -667,8 +667,20 @@ import threading as _threading _reconciliation_lock = _threading.Lock() def _run_startup_reconciliation() -> None: - """Run state reconciliation in background to auto-repair missing plugins.""" - global _reconciliation_done, _reconciliation_started + """Run state reconciliation in background to auto-repair missing plugins. + + Reconciliation runs exactly once per process lifetime, regardless of + whether every inconsistency could be auto-fixed. Previously, a failed + auto-repair (e.g. a config entry referencing a plugin that no longer + exists in the registry) would reset ``_reconciliation_started`` to False, + causing the ``@app.before_request`` hook to re-trigger reconciliation on + every single HTTP request — an infinite install-retry loop that pegged + the CPU and flooded the log. Unresolved issues are now left in place for + the user to address via the UI; the reconciler itself also caches + per-plugin unrecoverable failures internally so repeated reconcile calls + stay cheap. + """ + global _reconciliation_done from src.logging_config import get_logger _logger = get_logger('reconciliation') @@ -684,18 +696,22 @@ def _run_startup_reconciliation() -> None: result = reconciler.reconcile_state() if result.inconsistencies_found: _logger.info("[Reconciliation] %s", result.message) - if result.reconciliation_successful: - if result.inconsistencies_fixed: - plugin_manager.discover_plugins() - _reconciliation_done = True - else: - _logger.warning("[Reconciliation] Finished with unresolved issues, will retry") - with _reconciliation_lock: - _reconciliation_started = False + if result.inconsistencies_fixed: + plugin_manager.discover_plugins() + if not result.reconciliation_successful: + _logger.warning( + "[Reconciliation] Finished with %d unresolved issue(s); " + "will not retry automatically. Use the Plugin Store or the " + "manual 'Reconcile' action to resolve.", + len(result.inconsistencies_manual), + ) except Exception as e: _logger.error("[Reconciliation] Error: %s", e, exc_info=True) - with _reconciliation_lock: - _reconciliation_started = False + finally: + # Always mark done — we do not want an unhandled exception (or an + # unresolved inconsistency) to cause the @before_request hook to + # retrigger reconciliation on every subsequent request. + _reconciliation_done = True # Initialize health monitor and run reconciliation on first request @app.before_request diff --git a/web_interface/blueprints/api_v3.py b/web_interface/blueprints/api_v3.py index 7fe9c7b3..9a752076 100644 --- a/web_interface/blueprints/api_v3.py +++ b/web_interface/blueprints/api_v3.py @@ -1714,9 +1714,23 @@ def get_installed_plugins(): import json from pathlib import Path - # Re-discover plugins to ensure we have the latest list - # This handles cases where plugins are added/removed after app startup - api_v3.plugin_manager.discover_plugins() + # Re-discover plugins only if the plugins directory has actually + # changed since our last scan, or if the caller explicitly asked + # for a refresh. The previous unconditional ``discover_plugins()`` + # call (plus a per-plugin manifest re-read) made this endpoint + # O(plugins) in disk I/O on every page refresh, which on an SD-card + # Pi4 with ~15 plugins was pegging the CPU and blocking the UI + # "connecting to display" spinner for minutes. + force_refresh = request.args.get('refresh', '').lower() in ('1', 'true', 'yes') + plugins_dir_path = Path(api_v3.plugin_manager.plugins_dir) + try: + current_mtime = plugins_dir_path.stat().st_mtime if plugins_dir_path.exists() else 0 + except OSError: + current_mtime = 0 + last_mtime = getattr(api_v3, '_installed_plugins_dir_mtime', None) + if force_refresh or last_mtime != current_mtime: + api_v3.plugin_manager.discover_plugins() + api_v3._installed_plugins_dir_mtime = current_mtime # Get all installed plugin info from the plugin manager all_plugin_info = api_v3.plugin_manager.get_all_plugin_info() @@ -1729,17 +1743,10 @@ def get_installed_plugins(): for plugin_info in all_plugin_info: plugin_id = plugin_info.get('id') - # Re-read manifest from disk to ensure we have the latest metadata - manifest_path = Path(api_v3.plugin_manager.plugins_dir) / plugin_id / "manifest.json" - if manifest_path.exists(): - try: - with open(manifest_path, 'r', encoding='utf-8') as f: - fresh_manifest = json.load(f) - # Update plugin_info with fresh manifest data - plugin_info.update(fresh_manifest) - except Exception as e: - # If we can't read the fresh manifest, use the cached one - logger.warning("[PluginStore] Could not read fresh manifest for %s: %s", plugin_id, e) + # Note: we intentionally do NOT re-read manifest.json here. + # discover_plugins() above already reparses manifests on change; + # re-reading on every request added ~1 syscall+json.loads per + # plugin per request for no benefit. # Get enabled status from config (source of truth) # Read from config file first, fall back to plugin instance if config doesn't have the key @@ -2369,14 +2376,30 @@ def reconcile_plugin_state(): from src.plugin_system.state_reconciliation import StateReconciliation + # Pass the store manager so auto-repair of missing-on-disk plugins + # can actually run. Previously this endpoint silently degraded to + # MANUAL_FIX_REQUIRED because store_manager was omitted. reconciler = StateReconciliation( state_manager=api_v3.plugin_state_manager, config_manager=api_v3.config_manager, plugin_manager=api_v3.plugin_manager, - plugins_dir=Path(api_v3.plugin_manager.plugins_dir) + plugins_dir=Path(api_v3.plugin_manager.plugins_dir), + store_manager=api_v3.plugin_store_manager, ) - result = reconciler.reconcile_state() + # Allow the caller to force a retry of previously-unrecoverable + # plugins (e.g. after the registry has been updated or a typo fixed). + # Non-object JSON bodies (e.g. a bare string or array) must fall + # through to the default False instead of raising AttributeError, + # and string booleans like "false" must coerce correctly — hence + # the isinstance guard plus _coerce_to_bool. + force = False + if request.is_json: + payload = request.get_json(silent=True) + if isinstance(payload, dict): + force = _coerce_to_bool(payload.get('force', False)) + + result = reconciler.reconcile_state(force=force) return success_response( data={ @@ -2799,6 +2822,181 @@ def update_plugin(): status_code=500 ) +def _snapshot_plugin_config(plugin_id: str): + """Capture the plugin's current config and secrets entries for rollback. + + Returns a tuple ``(main_entry, secrets_entry)`` where each element is + the plugin's dict from the respective file, or ``None`` if the plugin + was not present there. Used by the transactional uninstall path so we + can restore state if file removal fails after config cleanup has + already succeeded. + """ + main_entry = None + secrets_entry = None + # Narrow exception list: filesystem errors (FileNotFoundError is a + # subclass of OSError, IOError is an alias for OSError in Python 3) + # and ConfigError, which is what ``get_raw_file_content`` wraps all + # load failures in. Programmer errors (TypeError, AttributeError, + # etc.) are intentionally NOT caught — they should surface loudly. + try: + main_config = api_v3.config_manager.get_raw_file_content('main') + if plugin_id in main_config: + import copy as _copy + main_entry = _copy.deepcopy(main_config[plugin_id]) + except (OSError, ConfigError) as e: + logger.warning("[PluginUninstall] Could not snapshot main config for %s: %s", plugin_id, e) + try: + import os as _os + if _os.path.exists(api_v3.config_manager.secrets_path): + secrets_config = api_v3.config_manager.get_raw_file_content('secrets') + if plugin_id in secrets_config: + import copy as _copy + secrets_entry = _copy.deepcopy(secrets_config[plugin_id]) + except (OSError, ConfigError) as e: + logger.warning("[PluginUninstall] Could not snapshot secrets for %s: %s", plugin_id, e) + return (main_entry, secrets_entry) + + +def _restore_plugin_config(plugin_id: str, snapshot) -> None: + """Best-effort restoration of a snapshot taken by ``_snapshot_plugin_config``. + + Called on the unhappy path when ``cleanup_plugin_config`` already + succeeded but the subsequent file removal failed. If the restore + itself fails, we log loudly — the caller still sees the original + uninstall error and the user can reconcile manually. + """ + main_entry, secrets_entry = snapshot + if main_entry is not None: + try: + main_config = api_v3.config_manager.get_raw_file_content('main') + main_config[plugin_id] = main_entry + api_v3.config_manager.save_raw_file_content('main', main_config) + logger.warning("[PluginUninstall] Restored main config entry for %s after uninstall failure", plugin_id) + except Exception as e: + logger.error( + "[PluginUninstall] FAILED to restore main config entry for %s after uninstall failure: %s", + plugin_id, e, exc_info=True, + ) + if secrets_entry is not None: + try: + import os as _os + if _os.path.exists(api_v3.config_manager.secrets_path): + secrets_config = api_v3.config_manager.get_raw_file_content('secrets') + else: + secrets_config = {} + secrets_config[plugin_id] = secrets_entry + api_v3.config_manager.save_raw_file_content('secrets', secrets_config) + logger.warning("[PluginUninstall] Restored secrets entry for %s after uninstall failure", plugin_id) + except Exception as e: + logger.error( + "[PluginUninstall] FAILED to restore secrets entry for %s after uninstall failure: %s", + plugin_id, e, exc_info=True, + ) + + +def _do_transactional_uninstall(plugin_id: str, preserve_config: bool) -> None: + """Run the full uninstall as a best-effort transaction. + + Order: + 1. Mark tombstone (so any reconciler racing with us cannot resurrect + the plugin mid-flight). + 2. Snapshot existing config + secrets entries (for rollback). + 3. Run ``cleanup_plugin_config``. If this raises, re-raise — files + have NOT been touched, so aborting here leaves a fully consistent + state: plugin is still installed and still in config. + 4. Unload the plugin from the running plugin manager. + 5. Call ``store_manager.uninstall_plugin``. If it returns False or + raises, RESTORE the snapshot (so config matches disk) and then + propagate the failure. + 6. Invalidate schema cache and remove from the state manager only + after the file removal succeeds. + + Raises on any failure so the caller can return an error to the user. + """ + if hasattr(api_v3.plugin_store_manager, 'mark_recently_uninstalled'): + api_v3.plugin_store_manager.mark_recently_uninstalled(plugin_id) + + snapshot = _snapshot_plugin_config(plugin_id) if not preserve_config else (None, None) + + # Step 1: config cleanup. If this fails, bail out early — the plugin + # files on disk are still intact and the caller will get a clear + # error. + if not preserve_config: + try: + api_v3.config_manager.cleanup_plugin_config(plugin_id, remove_secrets=True) + except Exception as cleanup_err: + logger.error( + "[PluginUninstall] Config cleanup failed for %s; aborting uninstall (files untouched): %s", + plugin_id, cleanup_err, exc_info=True, + ) + raise + + # Remember whether the plugin was loaded *before* we touched runtime + # state — we need this so we can reload it on rollback if file + # removal fails after we've already unloaded it. + was_loaded = bool( + api_v3.plugin_manager and plugin_id in api_v3.plugin_manager.plugins + ) + + def _rollback(reason_err): + """Undo both the config cleanup AND the unload.""" + if not preserve_config: + _restore_plugin_config(plugin_id, snapshot) + if was_loaded and api_v3.plugin_manager: + try: + api_v3.plugin_manager.load_plugin(plugin_id) + except Exception as reload_err: + logger.error( + "[PluginUninstall] FAILED to reload %s after uninstall rollback: %s", + plugin_id, reload_err, exc_info=True, + ) + + # Step 2: unload if loaded. Also part of the rollback boundary — if + # unload itself raises, restore config and surface the error. + if was_loaded: + try: + api_v3.plugin_manager.unload_plugin(plugin_id) + except Exception as unload_err: + logger.error( + "[PluginUninstall] unload_plugin raised for %s; restoring config snapshot: %s", + plugin_id, unload_err, exc_info=True, + ) + if not preserve_config: + _restore_plugin_config(plugin_id, snapshot) + # Plugin was never successfully unloaded, so no reload is + # needed here — runtime state is still what it was before. + raise + + # Step 3: remove files. If this fails, roll back the config cleanup + # AND reload the plugin so the user doesn't end up with an orphaned + # install (files on disk + no config entry + plugin no longer + # loaded at runtime). + try: + success = api_v3.plugin_store_manager.uninstall_plugin(plugin_id) + except Exception as uninstall_err: + logger.error( + "[PluginUninstall] uninstall_plugin raised for %s; rolling back: %s", + plugin_id, uninstall_err, exc_info=True, + ) + _rollback(uninstall_err) + raise + + if not success: + logger.error( + "[PluginUninstall] uninstall_plugin returned False for %s; rolling back", + plugin_id, + ) + _rollback(None) + raise RuntimeError(f"Failed to uninstall plugin {plugin_id}") + + # Past this point the filesystem and config are both in the + # "uninstalled" state. Clean up the cheap in-memory bookkeeping. + if api_v3.schema_manager: + api_v3.schema_manager.invalidate_cache(plugin_id) + if api_v3.plugin_state_manager: + api_v3.plugin_state_manager.remove_plugin_state(plugin_id) + + @api_v3.route('/plugins/uninstall', methods=['POST']) def uninstall_plugin(): """Uninstall plugin""" @@ -2821,49 +3019,28 @@ def uninstall_plugin(): # Use operation queue if available if api_v3.operation_queue: def uninstall_callback(operation): - """Callback to execute plugin uninstallation.""" - # Unload the plugin first if it's loaded - if api_v3.plugin_manager and plugin_id in api_v3.plugin_manager.plugins: - api_v3.plugin_manager.unload_plugin(plugin_id) - - # Uninstall the plugin - success = api_v3.plugin_store_manager.uninstall_plugin(plugin_id) - - if not success: - error_msg = f'Failed to uninstall plugin {plugin_id}' + """Callback to execute plugin uninstallation transactionally.""" + try: + _do_transactional_uninstall(plugin_id, preserve_config) + except Exception as err: + error_msg = f'Failed to uninstall plugin {plugin_id}: {err}' if api_v3.operation_history: api_v3.operation_history.record_operation( "uninstall", plugin_id=plugin_id, status="failed", - error=error_msg + error=error_msg, ) - raise Exception(error_msg) + # Re-raise so the operation_queue marks this op as failed. + raise - # Invalidate schema cache - if api_v3.schema_manager: - api_v3.schema_manager.invalidate_cache(plugin_id) - - # Clean up plugin configuration if not preserving - if not preserve_config: - try: - api_v3.config_manager.cleanup_plugin_config(plugin_id, remove_secrets=True) - except Exception as cleanup_err: - logger.warning("[PluginUninstall] Failed to cleanup config for %s: %s", plugin_id, cleanup_err) - - # Remove from state manager - if api_v3.plugin_state_manager: - api_v3.plugin_state_manager.remove_plugin_state(plugin_id) - - # Record in history if api_v3.operation_history: api_v3.operation_history.record_operation( "uninstall", plugin_id=plugin_id, status="success", - details={"preserve_config": preserve_config} + details={"preserve_config": preserve_config}, ) - return {'success': True, 'message': f'Plugin {plugin_id} uninstalled successfully'} # Enqueue operation @@ -2878,55 +3055,32 @@ def uninstall_plugin(): message=f'Plugin {plugin_id} uninstallation queued' ) else: - # Fallback to direct uninstall - # Unload the plugin first if it's loaded - if api_v3.plugin_manager and plugin_id in api_v3.plugin_manager.plugins: - api_v3.plugin_manager.unload_plugin(plugin_id) - - # Uninstall the plugin - success = api_v3.plugin_store_manager.uninstall_plugin(plugin_id) - - if success: - # Invalidate schema cache - if api_v3.schema_manager: - api_v3.schema_manager.invalidate_cache(plugin_id) - - # Clean up plugin configuration if not preserving - if not preserve_config: - try: - api_v3.config_manager.cleanup_plugin_config(plugin_id, remove_secrets=True) - except Exception as cleanup_err: - logger.warning("[PluginUninstall] Failed to cleanup config for %s: %s", plugin_id, cleanup_err) - - # Remove from state manager - if api_v3.plugin_state_manager: - api_v3.plugin_state_manager.remove_plugin_state(plugin_id) - - # Record in history - if api_v3.operation_history: - api_v3.operation_history.record_operation( - "uninstall", - plugin_id=plugin_id, - status="success", - details={"preserve_config": preserve_config} - ) - - return success_response(message=f'Plugin {plugin_id} uninstalled successfully') - else: + # Fallback to direct uninstall — same transactional helper. + try: + _do_transactional_uninstall(plugin_id, preserve_config) + except Exception as err: if api_v3.operation_history: api_v3.operation_history.record_operation( "uninstall", plugin_id=plugin_id, status="failed", - error=f'Failed to uninstall plugin {plugin_id}' + error=f'Failed to uninstall plugin {plugin_id}: {err}', ) - return error_response( ErrorCode.PLUGIN_UNINSTALL_FAILED, - f'Failed to uninstall plugin {plugin_id}', - status_code=500 + f'Failed to uninstall plugin {plugin_id}: {err}', + status_code=500, ) + if api_v3.operation_history: + api_v3.operation_history.record_operation( + "uninstall", + plugin_id=plugin_id, + status="success", + details={"preserve_config": preserve_config}, + ) + return success_response(message=f'Plugin {plugin_id} uninstalled successfully') + except Exception as e: logger.exception("[PluginUninstall] Unhandled exception") from src.web_interface.errors import WebInterfaceError From 941291561aeed343ea91079f324e977526c7b415 Mon Sep 17 00:00:00 2001 From: Chuck <33324927+ChuckBuilds@users.noreply.github.com> Date: Wed, 8 Apr 2026 13:17:03 -0400 Subject: [PATCH 2/8] fix(web): expose GitHub install handlers, simplify Alpine loader, explicit Flask threading (#305) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A user reported that buttons in the v3 web UI were unresponsive in Safari after a fresh install. The screenshots showed Alpine.js actually running fine end-to-end — the real issues are a narrow handler-exposure bug and some latent brittleness worth cleaning up at the same time. plugins_manager.js: attachInstallButtonHandler and setupGitHubInstallHandlers were declared inside the main IIFE, but the typeof guards that tried to expose them on window ran *outside* the IIFE, so typeof always evaluated to 'undefined' and the assignments were silently skipped. The GitHub "Install from URL" button therefore had no click handler and the console printed [FALLBACK] attachInstallButtonHandler not available on window on every load. Fixed by assigning window.attachInstallButtonHandler and window.setupGitHubInstallHandlers *inside* the IIFE just before it closes, and removing the dead outside-the-IIFE guards. base.html: the Alpine.js loader was a 50-line dynamic-script + deferLoadingAlpine + isAPMode branching block. script.defer = true on a dynamically-inserted - - + + From 68a38c39f7d620ff6e02e0ac08bd17faae095a82 Mon Sep 17 00:00:00 2001 From: Chuck <33324927+ChuckBuilds@users.noreply.github.com> Date: Sun, 19 Apr 2026 11:56:05 -0400 Subject: [PATCH 3/8] fix(web-ui-info): syntax error and init order crash on fresh install (#312) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two bugs that prevented the web-ui-info default plugin from loading: 1. Orphaned `except Exception` at line 203 with no matching `try` — caused a SyntaxError preventing the module from importing at all. Removed the orphan; the outer try/except already covers the block. 2. `_get_local_ip()` called in __init__ before `_ap_mode_cache_time` was initialized, causing AttributeError. Moved AP mode cache field initialization above the `_get_local_ip()` call. Co-authored-by: Chuck Co-authored-by: Claude Opus 4.6 (1M context) --- plugin-repos/web-ui-info/manager.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/plugin-repos/web-ui-info/manager.py b/plugin-repos/web-ui-info/manager.py index 7e434b61..24add05a 100644 --- a/plugin-repos/web-ui-info/manager.py +++ b/plugin-repos/web-ui-info/manager.py @@ -35,24 +35,24 @@ class WebUIInfoPlugin(BasePlugin): """Initialize the Web UI Info plugin.""" super().__init__(plugin_id, config, display_manager, cache_manager, plugin_manager) + # AP mode cache (must be initialized before _get_local_ip) + self._ap_mode_cached = False + self._ap_mode_cache_time = 0.0 + self._ap_mode_cache_ttl = 60.0 + # Get device hostname try: self.device_id = socket.gethostname() except Exception as e: self.logger.warning(f"Could not get hostname: {e}, using 'localhost'") self.device_id = "localhost" - + # Get device IP address self.device_ip = self._get_local_ip() - + # IP refresh tracking self.last_ip_refresh = time.time() - self.ip_refresh_interval = 300.0 # Refresh IP every 5 minutes - - # AP mode cache - self._ap_mode_cached = False - self._ap_mode_cache_time = 0.0 - self._ap_mode_cache_ttl = 60.0 # Cache AP mode check for 60 seconds + self.ip_refresh_interval = 300.0 # Rotation state self.current_display_mode = "hostname" # "hostname" or "ip" @@ -200,9 +200,7 @@ class WebUIInfoPlugin(BasePlugin): elif current_interface == "wlan0": self.logger.debug(f"Found WiFi IP: {ip} on {current_interface}") return ip - except Exception: - pass - + # Last resort: try hostname resolution (often returns 127.0.0.1) try: ip = socket.gethostbyname(socket.gethostname()) From 73c00140df4cf397af06b1fc702e3921e4827c73 Mon Sep 17 00:00:00 2001 From: Chuck <33324927+ChuckBuilds@users.noreply.github.com> Date: Fri, 24 Apr 2026 10:34:09 -0400 Subject: [PATCH 4/8] fix(web): resolve ReferenceError in single-file upload handler (#313) The finally block in handleSingleFileUpload referenced an undefined fileInput variable left over from an earlier refactor, causing an "Unhandled promise rejection: ReferenceError" after every single-file upload (e.g. OAuth credentials.json for the calendar plugin) even when the upload itself succeeded. Resolve the file input by id inside the finally block so it can be cleared when present, tolerating the drop-zone-only case. Co-authored-by: ChuckBuilds Co-authored-by: Claude Opus 4.7 (1M context) --- web_interface/static/v3/js/widgets/file-upload.js | 1 + 1 file changed, 1 insertion(+) diff --git a/web_interface/static/v3/js/widgets/file-upload.js b/web_interface/static/v3/js/widgets/file-upload.js index 0d553235..bc2cfa54 100644 --- a/web_interface/static/v3/js/widgets/file-upload.js +++ b/web_interface/static/v3/js/widgets/file-upload.js @@ -221,6 +221,7 @@ } notifyFn(`Upload error: ${error.message}`, 'error'); } finally { + const fileInput = document.getElementById(`${fieldId}_file_input`); if (fileInput) fileInput.value = ''; } }; From 338bdc44cbec69472bdd6f622608d5867c23df77 Mon Sep 17 00:00:00 2001 From: Chuck <33324927+ChuckBuilds@users.noreply.github.com> Date: Fri, 24 Apr 2026 13:28:49 -0400 Subject: [PATCH 5/8] fix(web): list calendar endpoint works without a running plugin instance (#314) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(web): list calendar endpoint works without a running plugin instance The web service (ledmatrix-web) and display service (ledmatrix) run in separate processes. The web process discovers plugins but never instantiates them — only the display process does. Consequently api_v3.plugin_manager.get_plugin('calendar') always returns None in the web process, and /api/v3/plugins/calendar/list-calendars responded with 404 "Calendar plugin is not running. Enable it and save config first." even when the plugin was enabled, saved, and authenticated. Fall back to reading token.pickle + credentials.json directly from the calendar plugin directory and calling the Google Calendar API from the web process. A live plugin instance is still preferred when available (e.g. local dev where web and display share a process). Also surface clearer, actionable error messages for missing/expired tokens so users know to re-run the authentication step. Co-Authored-By: Claude Opus 4.7 (1M context) * fix(web): address review feedback on calendar list endpoint - Remove unused creds_path local - Prefer google-auth JSON token (token.json) via Credentials.from_authorized_user_file; keep pickle fallback for backward compat, guarded by a size check and a comment describing the trust boundary (owner-only file inside the plugin dir, not user-supplied input) - Do NOT persist refreshed credentials from the web request path; the display service owns token.pickle and concurrent writes could corrupt it. Refresh happens in memory only for the duration of the request - Add explicit timeouts to token refresh (via Request(timeout=...)) and to the Calendar API list call (num_retries=1), and return a retryable user-facing message on socket.timeout / TimeoutError - Import socket at module scope Co-Authored-By: Claude Opus 4.7 (1M context) * fix(web): apply real socket timeout to Google Calendar API calls googleapiclient's execute() does not accept a timeout kwarg — the timeout comes from the httplib2.Http the service was built with. Build an AuthorizedHttp wrapping httplib2.Http(timeout=15) so calendarList().list().execute() cannot hang the Flask worker on flaky connectivity. Disable discovery doc caching to avoid the default file-cache warning in this ephemeral request path. Co-Authored-By: Claude Opus 4.7 (1M context) --------- Co-authored-by: ChuckBuilds Co-authored-by: Claude Opus 4.7 (1M context) --- web_interface/blueprints/api_v3.py | 147 +++++++++++++++++++++++++++-- 1 file changed, 138 insertions(+), 9 deletions(-) diff --git a/web_interface/blueprints/api_v3.py b/web_interface/blueprints/api_v3.py index 9a752076..47ff7fa5 100644 --- a/web_interface/blueprints/api_v3.py +++ b/web_interface/blueprints/api_v3.py @@ -2,6 +2,7 @@ from flask import Blueprint, request, jsonify, Response, send_from_directory import json import os import re +import socket import sys import subprocess import time @@ -6365,18 +6366,146 @@ def upload_calendar_credentials(): logger.exception("[PluginConfig] upload_calendar_credentials failed") return jsonify({'status': 'error', 'message': 'Failed to upload calendar credentials'}), 500 +def _load_calendar_plugin_dir(): + """Resolve the calendar plugin's on-disk directory without requiring a running instance. + + The web service and display service are separate processes — the web + process discovers plugins but does not instantiate them, so + plugin_manager.get_plugin('calendar') is typically None here. + """ + plugin_id = 'calendar' + if api_v3.plugin_manager: + plugin_dir = api_v3.plugin_manager.get_plugin_directory(plugin_id) + if plugin_dir and Path(plugin_dir).exists(): + return Path(plugin_dir) + fallback = PROJECT_ROOT / 'plugins' / plugin_id + return fallback if fallback.exists() else None + + +_GOOGLE_API_TIMEOUT_SECONDS = 15 + + +def _load_calendar_credentials(token_path): + """Load OAuth credentials from the plugin's token file. + + The calendar plugin historically persists credentials with pickle + (``token.pickle``). pickle.load is only applied to this specific file, + which is owned by the same user as the web service, chmod 0600, and + located inside the plugin install directory — it is not user-supplied + input. We still constrain the unpickle to a reasonable size to reduce + blast radius. New installs may use a JSON token (``token.json``) + written via google-auth's safe serializer; prefer that when present. + """ + json_path = token_path.with_suffix('.json') + if json_path.exists(): + from google.oauth2.credentials import Credentials + return Credentials.from_authorized_user_file(str(json_path)) + + # Fall back to the pickle token the plugin writes today. + # nosemgrep: python.lang.security.audit.avoid-pickle.avoid-pickle + import pickle # noqa: S403 + try: + size = token_path.stat().st_size + except OSError as e: + raise RuntimeError(f'Cannot stat token file: {e}') from e + if size > 64 * 1024: + raise RuntimeError('Token file is unexpectedly large; refusing to load.') + with open(token_path, 'rb') as f: + return pickle.load(f) # noqa: S301 # trusted file, owner-only perms + + +def _list_google_calendars_from_disk(): + """List calendars using the plugin's stored OAuth token. + + Returns (calendars, error_message). calendars is a list of raw Google + calendarList items on success; on failure calendars is None and + error_message describes the problem. + + Refreshed credentials are intentionally not persisted back to disk + from this request path — the display service owns token.pickle and + concurrent writes across processes could corrupt it. If refresh is + needed, it happens only in memory for the duration of this request. + """ + try: + import google_auth_httplib2 + import httplib2 + from google.auth.transport.requests import Request + from googleapiclient.discovery import build + except ImportError: + return None, 'Google API libraries not installed on this host.' + + plugin_dir = _load_calendar_plugin_dir() + if plugin_dir is None: + return None, 'Calendar plugin directory not found.' + + token_path = plugin_dir / 'token.pickle' + if not token_path.exists() and not (plugin_dir / 'token.json').exists(): + return None, 'Not authenticated yet — complete the Google authentication step first.' + + try: + creds = _load_calendar_credentials(token_path) + except Exception as e: + logger.exception('list_calendar_calendars: failed to load stored credentials') + return None, f'Failed to load stored authentication: {e}' + + if not creds or not getattr(creds, 'valid', False): + if creds and getattr(creds, 'expired', False) and getattr(creds, 'refresh_token', None): + try: + # In-memory refresh only; do not write back to shared token file. + creds.refresh(Request(timeout=_GOOGLE_API_TIMEOUT_SECONDS)) + except (socket.timeout, TimeoutError) as e: + logger.warning('list_calendar_calendars: token refresh timed out: %s', e) + return None, 'Token refresh timed out. Please try again.' + except Exception as e: + logger.exception('list_calendar_calendars: token refresh failed') + return None, f'Stored authentication expired and refresh failed: {e}. Re-run the Google authentication step.' + else: + return None, 'Stored authentication is invalid. Re-run the Google authentication step.' + + try: + # Build an Http with an explicit socket timeout so API calls cannot + # hang the Flask worker on flaky connectivity. + authed_http = google_auth_httplib2.AuthorizedHttp( + creds, http=httplib2.Http(timeout=_GOOGLE_API_TIMEOUT_SECONDS) + ) + service = build('calendar', 'v3', http=authed_http, cache_discovery=False) + items = [] + page_token = None + while True: + response = service.calendarList().list(pageToken=page_token).execute( + num_retries=1 + ) + items.extend(response.get('items', [])) + page_token = response.get('nextPageToken') + if not page_token: + break + return items, None + except (socket.timeout, TimeoutError) as e: + logger.warning('list_calendar_calendars: Google API call timed out: %s', e) + return None, 'Google Calendar request timed out. Please try again.' + except Exception as e: + logger.exception('list_calendar_calendars: Google API call failed') + return None, f'Google Calendar API call failed: {e}' + + @api_v3.route('/plugins/calendar/list-calendars', methods=['GET']) def list_calendar_calendars(): - """Return Google Calendars accessible with the currently authenticated credentials.""" - if not api_v3.plugin_manager: - return jsonify({'status': 'error', 'message': 'Plugin manager not available'}), 500 - plugin = api_v3.plugin_manager.get_plugin('calendar') - if not plugin: - return jsonify({'status': 'error', 'message': 'Calendar plugin is not running. Enable it and save config first.'}), 404 - if not hasattr(plugin, 'get_calendars'): - return jsonify({'status': 'error', 'message': 'Installed plugin version does not support calendar listing — update the plugin.'}), 400 + """Return Google Calendars accessible with the currently authenticated credentials. + + Reads credentials from the plugin directory directly so this works from the + web process (which does not instantiate plugins). + """ + # Prefer a live plugin instance if one happens to exist (e.g. local dev where + # web and display share a process); otherwise fall back to on-disk credentials. + plugin = api_v3.plugin_manager.get_plugin('calendar') if api_v3.plugin_manager else None + try: - raw = plugin.get_calendars() + if plugin is not None and hasattr(plugin, 'get_calendars'): + raw = plugin.get_calendars() + else: + raw, err = _list_google_calendars_from_disk() + if raw is None: + return jsonify({'status': 'error', 'message': err}), 400 import collections.abc if not isinstance(raw, (list, tuple)): logger.error('list_calendar_calendars: get_calendars() returned non-sequence type %r', type(raw)) From 4ef3f8cad5e3a57c1d4f33a5f2d4cde2210e607f Mon Sep 17 00:00:00 2001 From: Chuck <33324927+ChuckBuilds@users.noreply.github.com> Date: Mon, 27 Apr 2026 17:05:27 -0400 Subject: [PATCH 6/8] feat(web): add config backup & restore UI (#310) * feat(web): add config backup & restore UI Adds a Backup & Restore tab to the v3 web UI that packages user config, secrets, WiFi, user-uploaded fonts, plugin image uploads, and the installed plugin list into a single ZIP for safe reinstall recovery. Restore extracts the bundle, snapshots current state via the existing atomic config manager (so rollback stays available), reapplies the selected sections, and optionally reinstalls missing plugins from the store. Co-Authored-By: Claude Opus 4.6 (1M context) * fix(backup): address PR review findings - backup_manager: read plugin state from "states" key (not "plugins") to match the actual plugin_state.json format written by state_manager - backup_manager: stream ZIP directly to a temp file instead of building it in an io.BytesIO buffer to avoid OOM on Raspberry Pi - backup_manager: tighten plugin-uploads path validation in validate_backup and restore_backup to require "/uploads/" in the path, rejecting any non-uploads files smuggled under assets/plugins/ - api_v3: enforce 200 MB upload limit by streaming in chunks rather than relying on validate_file_upload (which only checks the filename) - api_v3: replace bool() with _coerce_to_bool() for RestoreOptions fields so string "false" is not treated as truthy - api_v3: capture and log _save_config_atomic return value instead of discarding it; log rather than silence font-cache and config-reload errors - backup_restore.html: track inspectedFile so runRestore always applies to the file the user inspected, not a subsequently selected file; clear on input change or clearRestore() - backup_restore.html: throw on non-success restore payload so errors are surfaced via the error notification path instead of yellow "warnings" - test: update fixture to use correct "states" key structure; import SCHEMA_VERSION constant instead of hardcoding 1; rename unused err -> _err Co-Authored-By: Claude Sonnet 4.6 * fix(backup): address second round of PR review findings - api_v3: guard opts_dict with isinstance check after json.loads so a non-object JSON payload (null, array, etc.) returns a 400 instead of a 500 AttributeError - backup_manager: wrap tmp ZIP creation and os.replace in try/except so the .zip.tmp temp file is always removed on any failure - backup_manager: replace hardcoded Path("/tmp/_zip_check") sentinel in validate_backup with a proper tempfile.TemporaryDirectory() so path traversal checks are portable and leave no artifacts - backup_restore.html: detect partial-success responses (plugins_failed or errors non-empty) even when status is 'success' and render yellow/warning styling and notify instead of green Co-Authored-By: Claude Sonnet 4.6 * fix(backup): add post-install steps for restored plugins; conditional restart hint - api_v3: after a successful plugin reinstall during restore, run the same post-install sequence used by the normal /plugins/install flow: invalidate schema cache, discover_plugins()/load_plugin(), and set_plugin_installed() so restored plugins are immediately available - backup_restore.html: only show the "restart the display service" hint when at least one item was restored or at least one plugin was installed Co-Authored-By: Claude Sonnet 4.6 * fix(backup): address Codacy findings - api_v3: replace 'fonts' in ' '.join(result.restored) substring check with any(r.startswith("fonts") for r in result.restored) to avoid fragile joined-string membership testing - api_v3: replace deprecated datetime.utcnow() and utcfromtimestamp() with datetime.now(timezone.utc) and fromtimestamp(..., timezone.utc); add timezone to import - test: remove unused import io (backup_manager no longer uses BytesIO) - src/backup_manager.py hardcoded /tmp sentinel was already fixed in a prior commit (tempfile.TemporaryDirectory) Co-Authored-By: Claude Sonnet 4.6 --------- Co-authored-by: Chuck Co-authored-by: Claude Opus 4.6 (1M context) --- src/backup_manager.py | 605 ++++++++++++++++++ test/test_backup_manager.py | 284 ++++++++ web_interface/blueprints/api_v3.py | 286 ++++++++- web_interface/blueprints/pages_v3.py | 9 + web_interface/templates/v3/base.html | 17 + .../templates/v3/partials/backup_restore.html | 358 +++++++++++ 6 files changed, 1558 insertions(+), 1 deletion(-) create mode 100644 src/backup_manager.py create mode 100644 test/test_backup_manager.py create mode 100644 web_interface/templates/v3/partials/backup_restore.html diff --git a/src/backup_manager.py b/src/backup_manager.py new file mode 100644 index 00000000..86f1cecf --- /dev/null +++ b/src/backup_manager.py @@ -0,0 +1,605 @@ +""" +User configuration backup and restore. + +Packages the user's LEDMatrix configuration, secrets, WiFi settings, +user-uploaded fonts, plugin image uploads, and installed-plugin manifest +into a single ``.zip`` that can be exported from one installation and +imported on a fresh install. + +This module is intentionally Flask-free so it can be unit-tested and +used from scripts. +""" + +from __future__ import annotations + +import json +import logging +import os +import shutil +import socket +import tempfile +import zipfile +from dataclasses import dataclass, field, asdict +from datetime import datetime, timezone +from pathlib import Path +from typing import Any, Dict, List, Optional, Tuple + +logger = logging.getLogger(__name__) + +SCHEMA_VERSION = 1 + +# Filenames shipped with the LEDMatrix repository under ``assets/fonts/``. +# Anything present on disk but NOT in this set is treated as a user upload +# and included in backups. Keep this snapshot in sync with the repo — regenerate +# with:: +# +# ls assets/fonts/ +# +# Tests assert the set matches the checked-in fonts. +BUNDLED_FONTS: frozenset[str] = frozenset({ + "10x20.bdf", + "4x6.bdf", + "4x6-font.ttf", + "5by7.regular.ttf", + "5x7.bdf", + "5x8.bdf", + "6x9.bdf", + "6x10.bdf", + "6x12.bdf", + "6x13.bdf", + "6x13B.bdf", + "6x13O.bdf", + "7x13.bdf", + "7x13B.bdf", + "7x13O.bdf", + "7x14.bdf", + "7x14B.bdf", + "8x13.bdf", + "8x13B.bdf", + "8x13O.bdf", + "9x15.bdf", + "9x15B.bdf", + "9x18.bdf", + "9x18B.bdf", + "AUTHORS", + "bdf_font_guide", + "clR6x12.bdf", + "helvR12.bdf", + "ic8x8u.bdf", + "MatrixChunky8.bdf", + "MatrixChunky8X.bdf", + "MatrixLight6.bdf", + "MatrixLight6X.bdf", + "MatrixLight8X.bdf", + "PressStart2P-Regular.ttf", + "README", + "README.md", + "texgyre-27.bdf", + "tom-thumb.bdf", +}) + +# Relative paths inside the project that the backup knows how to round-trip. +_CONFIG_REL = Path("config/config.json") +_SECRETS_REL = Path("config/config_secrets.json") +_WIFI_REL = Path("config/wifi_config.json") +_FONTS_REL = Path("assets/fonts") +_PLUGIN_UPLOADS_REL = Path("assets/plugins") +_STATE_REL = Path("data/plugin_state.json") + +MANIFEST_NAME = "manifest.json" +PLUGINS_MANIFEST_NAME = "plugins.json" + +# Hard cap on the size of a single file we'll accept inside an uploaded ZIP +# to limit zip-bomb risk. 50 MB matches the existing plugin-image upload cap. +_MAX_MEMBER_BYTES = 50 * 1024 * 1024 +# Hard cap on the total uncompressed size of an uploaded ZIP. +_MAX_TOTAL_BYTES = 200 * 1024 * 1024 + + +# --------------------------------------------------------------------------- +# Data classes +# --------------------------------------------------------------------------- + + +@dataclass +class RestoreOptions: + """Which sections of a backup should be restored.""" + + restore_config: bool = True + restore_secrets: bool = True + restore_wifi: bool = True + restore_fonts: bool = True + restore_plugin_uploads: bool = True + reinstall_plugins: bool = True + + +@dataclass +class RestoreResult: + """Outcome of a restore operation.""" + + success: bool = False + restored: List[str] = field(default_factory=list) + skipped: List[str] = field(default_factory=list) + plugins_to_install: List[Dict[str, Any]] = field(default_factory=list) + plugins_installed: List[str] = field(default_factory=list) + plugins_failed: List[Dict[str, str]] = field(default_factory=list) + errors: List[str] = field(default_factory=list) + manifest: Dict[str, Any] = field(default_factory=dict) + + def to_dict(self) -> Dict[str, Any]: + return asdict(self) + + +# --------------------------------------------------------------------------- +# Manifest helpers +# --------------------------------------------------------------------------- + + +def _ledmatrix_version(project_root: Path) -> str: + """Best-effort version string for the current install.""" + version_file = project_root / "VERSION" + if version_file.exists(): + try: + return version_file.read_text(encoding="utf-8").strip() or "unknown" + except OSError: + pass + head_file = project_root / ".git" / "HEAD" + if head_file.exists(): + try: + head = head_file.read_text(encoding="utf-8").strip() + if head.startswith("ref: "): + ref = head[5:] + ref_path = project_root / ".git" / ref + if ref_path.exists(): + return ref_path.read_text(encoding="utf-8").strip()[:12] or "unknown" + return head[:12] or "unknown" + except OSError: + pass + return "unknown" + + +def _build_manifest(contents: List[str], project_root: Path) -> Dict[str, Any]: + return { + "schema_version": SCHEMA_VERSION, + "created_at": datetime.now(timezone.utc).isoformat().replace("+00:00", "Z"), + "ledmatrix_version": _ledmatrix_version(project_root), + "hostname": socket.gethostname(), + "contents": contents, + } + + +# --------------------------------------------------------------------------- +# Installed-plugin enumeration +# --------------------------------------------------------------------------- + + +def list_installed_plugins(project_root: Path) -> List[Dict[str, Any]]: + """ + Return a list of currently-installed plugins suitable for the backup + manifest. Each entry has ``plugin_id`` and ``version``. + + Reads ``data/plugin_state.json`` if present; otherwise walks the plugin + directory and reads each ``manifest.json``. + """ + plugins: Dict[str, Dict[str, Any]] = {} + + state_file = project_root / _STATE_REL + if state_file.exists(): + try: + with state_file.open("r", encoding="utf-8") as f: + state = json.load(f) + raw_plugins = state.get("states", {}) if isinstance(state, dict) else {} + if isinstance(raw_plugins, dict): + for plugin_id, info in raw_plugins.items(): + if not isinstance(info, dict): + continue + plugins[plugin_id] = { + "plugin_id": plugin_id, + "version": info.get("version") or "", + "enabled": bool(info.get("enabled", True)), + } + except (OSError, json.JSONDecodeError) as e: + logger.warning("Could not read plugin_state.json: %s", e) + + # Fall back to scanning plugin-repos/ for manifests. + plugins_root = project_root / "plugin-repos" + if plugins_root.exists(): + for entry in sorted(plugins_root.iterdir()): + if not entry.is_dir(): + continue + manifest = entry / "manifest.json" + if not manifest.exists(): + continue + try: + with manifest.open("r", encoding="utf-8") as f: + data = json.load(f) + except (OSError, json.JSONDecodeError): + continue + plugin_id = data.get("id") or entry.name + if plugin_id not in plugins: + plugins[plugin_id] = { + "plugin_id": plugin_id, + "version": data.get("version", ""), + "enabled": True, + } + + return sorted(plugins.values(), key=lambda p: p["plugin_id"]) + + +# --------------------------------------------------------------------------- +# Font filtering +# --------------------------------------------------------------------------- + + +def iter_user_fonts(project_root: Path) -> List[Path]: + """Return absolute paths to user-uploaded fonts (anything in + ``assets/fonts/`` not listed in :data:`BUNDLED_FONTS`).""" + fonts_dir = project_root / _FONTS_REL + if not fonts_dir.exists(): + return [] + user_fonts: List[Path] = [] + for entry in sorted(fonts_dir.iterdir()): + if entry.is_file() and entry.name not in BUNDLED_FONTS: + user_fonts.append(entry) + return user_fonts + + +def iter_plugin_uploads(project_root: Path) -> List[Path]: + """Return every file under ``assets/plugins/*/uploads/`` (recursive).""" + plugin_root = project_root / _PLUGIN_UPLOADS_REL + if not plugin_root.exists(): + return [] + out: List[Path] = [] + for plugin_dir in sorted(plugin_root.iterdir()): + if not plugin_dir.is_dir(): + continue + uploads = plugin_dir / "uploads" + if not uploads.exists(): + continue + for root, _dirs, files in os.walk(uploads): + for name in sorted(files): + out.append(Path(root) / name) + return out + + +# --------------------------------------------------------------------------- +# Export +# --------------------------------------------------------------------------- + + +def create_backup( + project_root: Path, + output_dir: Optional[Path] = None, +) -> Path: + """ + Build a backup ZIP and write it into ``output_dir`` (defaults to + ``/config/backups/exports/``). Returns the path to the + created file. + """ + project_root = Path(project_root).resolve() + if output_dir is None: + output_dir = project_root / "config" / "backups" / "exports" + output_dir.mkdir(parents=True, exist_ok=True) + + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + hostname = socket.gethostname() or "ledmatrix" + safe_host = "".join(c for c in hostname if c.isalnum() or c in "-_") or "ledmatrix" + zip_name = f"ledmatrix-backup-{safe_host}-{timestamp}.zip" + zip_path = output_dir / zip_name + + contents: List[str] = [] + + # Stream directly to a temp file so we never hold the whole ZIP in memory. + tmp_path = zip_path.with_suffix(".zip.tmp") + try: + with zipfile.ZipFile(tmp_path, "w", compression=zipfile.ZIP_DEFLATED) as zf: + # Config files. + if (project_root / _CONFIG_REL).exists(): + zf.write(project_root / _CONFIG_REL, _CONFIG_REL.as_posix()) + contents.append("config") + if (project_root / _SECRETS_REL).exists(): + zf.write(project_root / _SECRETS_REL, _SECRETS_REL.as_posix()) + contents.append("secrets") + if (project_root / _WIFI_REL).exists(): + zf.write(project_root / _WIFI_REL, _WIFI_REL.as_posix()) + contents.append("wifi") + + # User-uploaded fonts. + user_fonts = iter_user_fonts(project_root) + if user_fonts: + for font in user_fonts: + arcname = font.relative_to(project_root).as_posix() + zf.write(font, arcname) + contents.append("fonts") + + # Plugin uploads. + plugin_uploads = iter_plugin_uploads(project_root) + if plugin_uploads: + for upload in plugin_uploads: + arcname = upload.relative_to(project_root).as_posix() + zf.write(upload, arcname) + contents.append("plugin_uploads") + + # Installed plugins manifest. + plugins = list_installed_plugins(project_root) + if plugins: + zf.writestr( + PLUGINS_MANIFEST_NAME, + json.dumps(plugins, indent=2), + ) + contents.append("plugins") + + # Manifest goes last so that `contents` reflects what we actually wrote. + manifest = _build_manifest(contents, project_root) + zf.writestr(MANIFEST_NAME, json.dumps(manifest, indent=2)) + + os.replace(tmp_path, zip_path) + except Exception: + tmp_path.unlink(missing_ok=True) + raise + logger.info("Created backup %s (%d bytes)", zip_path, zip_path.stat().st_size) + return zip_path + + +def preview_backup_contents(project_root: Path) -> Dict[str, Any]: + """Return a summary of what ``create_backup`` would include.""" + project_root = Path(project_root).resolve() + return { + "has_config": (project_root / _CONFIG_REL).exists(), + "has_secrets": (project_root / _SECRETS_REL).exists(), + "has_wifi": (project_root / _WIFI_REL).exists(), + "user_fonts": [p.name for p in iter_user_fonts(project_root)], + "plugin_uploads": len(iter_plugin_uploads(project_root)), + "plugins": list_installed_plugins(project_root), + } + + +# --------------------------------------------------------------------------- +# Validate +# --------------------------------------------------------------------------- + + +def _safe_extract_path(base_dir: Path, member_name: str) -> Optional[Path]: + """Resolve a ZIP member name against ``base_dir`` and reject anything + that escapes it. Returns the resolved absolute path, or ``None`` if the + name is unsafe.""" + # Reject absolute paths and Windows-style drives outright. + if member_name.startswith(("/", "\\")) or (len(member_name) >= 2 and member_name[1] == ":"): + return None + target = (base_dir / member_name).resolve() + try: + target.relative_to(base_dir.resolve()) + except ValueError: + return None + return target + + +def validate_backup(zip_path: Path) -> Tuple[bool, str, Dict[str, Any]]: + """ + Inspect a backup ZIP without extracting to disk. + + Returns ``(ok, error_message, manifest_dict)``. ``manifest_dict`` contains + the parsed manifest plus diagnostic fields: + - ``detected_contents``: list of section names present in the archive + - ``plugins``: parsed plugins.json if present + - ``total_uncompressed``: sum of uncompressed sizes + """ + zip_path = Path(zip_path) + if not zip_path.exists(): + return False, f"Backup file not found: {zip_path}", {} + + try: + with zipfile.ZipFile(zip_path, "r") as zf: + names = zf.namelist() + if MANIFEST_NAME not in names: + return False, "Backup is missing manifest.json", {} + + total = 0 + with tempfile.TemporaryDirectory() as _sandbox: + sandbox = Path(_sandbox) + for info in zf.infolist(): + if info.file_size > _MAX_MEMBER_BYTES: + return False, f"Member {info.filename} is too large", {} + total += info.file_size + if total > _MAX_TOTAL_BYTES: + return False, "Backup exceeds maximum allowed size", {} + # Safety: reject members with unsafe paths up front. + if _safe_extract_path(sandbox, info.filename) is None: + return False, f"Unsafe path in backup: {info.filename}", {} + + try: + manifest_raw = zf.read(MANIFEST_NAME).decode("utf-8") + manifest = json.loads(manifest_raw) + except (OSError, UnicodeDecodeError, json.JSONDecodeError) as e: + return False, f"Invalid manifest.json: {e}", {} + + if not isinstance(manifest, dict) or "schema_version" not in manifest: + return False, "Invalid manifest structure", {} + if manifest.get("schema_version") != SCHEMA_VERSION: + return ( + False, + f"Unsupported backup schema version: {manifest.get('schema_version')}", + {}, + ) + + detected: List[str] = [] + if _CONFIG_REL.as_posix() in names: + detected.append("config") + if _SECRETS_REL.as_posix() in names: + detected.append("secrets") + if _WIFI_REL.as_posix() in names: + detected.append("wifi") + if any(n.startswith(_FONTS_REL.as_posix() + "/") for n in names): + detected.append("fonts") + if any( + n.startswith(_PLUGIN_UPLOADS_REL.as_posix() + "/") and "/uploads/" in n + for n in names + ): + detected.append("plugin_uploads") + + plugins: List[Dict[str, Any]] = [] + if PLUGINS_MANIFEST_NAME in names: + try: + plugins = json.loads(zf.read(PLUGINS_MANIFEST_NAME).decode("utf-8")) + if not isinstance(plugins, list): + plugins = [] + else: + detected.append("plugins") + except (OSError, UnicodeDecodeError, json.JSONDecodeError): + plugins = [] + + result_manifest = dict(manifest) + result_manifest["detected_contents"] = detected + result_manifest["plugins"] = plugins + result_manifest["total_uncompressed"] = total + result_manifest["file_count"] = len(names) + return True, "", result_manifest + except zipfile.BadZipFile: + return False, "File is not a valid ZIP archive", {} + except OSError as e: + return False, f"Could not read backup: {e}", {} + + +# --------------------------------------------------------------------------- +# Restore +# --------------------------------------------------------------------------- + + +def _extract_zip_safe(zip_path: Path, dest_dir: Path) -> None: + """Extract ``zip_path`` into ``dest_dir`` rejecting any unsafe members.""" + with zipfile.ZipFile(zip_path, "r") as zf: + for info in zf.infolist(): + target = _safe_extract_path(dest_dir, info.filename) + if target is None: + raise ValueError(f"Unsafe path in backup: {info.filename}") + if info.is_dir(): + target.mkdir(parents=True, exist_ok=True) + continue + target.parent.mkdir(parents=True, exist_ok=True) + with zf.open(info, "r") as src, open(target, "wb") as dst: + shutil.copyfileobj(src, dst, length=64 * 1024) + + +def _copy_file(src: Path, dst: Path) -> None: + dst.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(src, dst) + + +def restore_backup( + zip_path: Path, + project_root: Path, + options: Optional[RestoreOptions] = None, +) -> RestoreResult: + """ + Restore ``zip_path`` into ``project_root`` according to ``options``. + + Plugin reinstalls are NOT performed here — the caller is responsible for + walking ``result.plugins_to_install`` and calling the store manager. This + keeps this module Flask-free and side-effect free beyond the filesystem. + """ + if options is None: + options = RestoreOptions() + project_root = Path(project_root).resolve() + result = RestoreResult() + + ok, err, manifest = validate_backup(zip_path) + if not ok: + result.errors.append(err) + return result + result.manifest = manifest + + with tempfile.TemporaryDirectory(prefix="ledmatrix_restore_") as tmp: + tmp_dir = Path(tmp) + try: + _extract_zip_safe(Path(zip_path), tmp_dir) + except (ValueError, zipfile.BadZipFile, OSError) as e: + result.errors.append(f"Failed to extract backup: {e}") + return result + + # Main config. + if options.restore_config and (tmp_dir / _CONFIG_REL).exists(): + try: + _copy_file(tmp_dir / _CONFIG_REL, project_root / _CONFIG_REL) + result.restored.append("config") + except OSError as e: + result.errors.append(f"Failed to restore config.json: {e}") + elif (tmp_dir / _CONFIG_REL).exists(): + result.skipped.append("config") + + # Secrets. + if options.restore_secrets and (tmp_dir / _SECRETS_REL).exists(): + try: + _copy_file(tmp_dir / _SECRETS_REL, project_root / _SECRETS_REL) + result.restored.append("secrets") + except OSError as e: + result.errors.append(f"Failed to restore config_secrets.json: {e}") + elif (tmp_dir / _SECRETS_REL).exists(): + result.skipped.append("secrets") + + # WiFi. + if options.restore_wifi and (tmp_dir / _WIFI_REL).exists(): + try: + _copy_file(tmp_dir / _WIFI_REL, project_root / _WIFI_REL) + result.restored.append("wifi") + except OSError as e: + result.errors.append(f"Failed to restore wifi_config.json: {e}") + elif (tmp_dir / _WIFI_REL).exists(): + result.skipped.append("wifi") + + # User fonts — skip anything that collides with a bundled font. + tmp_fonts = tmp_dir / _FONTS_REL + if options.restore_fonts and tmp_fonts.exists(): + restored_count = 0 + for font in sorted(tmp_fonts.iterdir()): + if not font.is_file(): + continue + if font.name in BUNDLED_FONTS: + result.skipped.append(f"font:{font.name} (bundled)") + continue + try: + _copy_file(font, project_root / _FONTS_REL / font.name) + restored_count += 1 + except OSError as e: + result.errors.append(f"Failed to restore font {font.name}: {e}") + if restored_count: + result.restored.append(f"fonts ({restored_count})") + elif tmp_fonts.exists(): + result.skipped.append("fonts") + + # Plugin uploads. + tmp_uploads = tmp_dir / _PLUGIN_UPLOADS_REL + if options.restore_plugin_uploads and tmp_uploads.exists(): + count = 0 + for root, _dirs, files in os.walk(tmp_uploads): + for name in files: + src = Path(root) / name + rel = src.relative_to(tmp_dir) + if "/uploads/" not in rel.as_posix(): + result.errors.append(f"Rejected unexpected plugin path: {rel}") + continue + try: + _copy_file(src, project_root / rel) + count += 1 + except OSError as e: + result.errors.append(f"Failed to restore {rel}: {e}") + if count: + result.restored.append(f"plugin_uploads ({count})") + elif tmp_uploads.exists(): + result.skipped.append("plugin_uploads") + + # Plugins list (for caller to reinstall). + if options.reinstall_plugins and (tmp_dir / PLUGINS_MANIFEST_NAME).exists(): + try: + with (tmp_dir / PLUGINS_MANIFEST_NAME).open("r", encoding="utf-8") as f: + plugins = json.load(f) + if isinstance(plugins, list): + result.plugins_to_install = [ + {"plugin_id": p.get("plugin_id"), "version": p.get("version", "")} + for p in plugins + if isinstance(p, dict) and p.get("plugin_id") + ] + except (OSError, json.JSONDecodeError) as e: + result.errors.append(f"Could not read plugins.json: {e}") + + result.success = not result.errors + return result diff --git a/test/test_backup_manager.py b/test/test_backup_manager.py new file mode 100644 index 00000000..fef10d82 --- /dev/null +++ b/test/test_backup_manager.py @@ -0,0 +1,284 @@ +"""Tests for src.backup_manager.""" + +from __future__ import annotations + +import json +import zipfile +from pathlib import Path + +import pytest + +from src import backup_manager +from src.backup_manager import ( + BUNDLED_FONTS, + SCHEMA_VERSION, + RestoreOptions, + create_backup, + list_installed_plugins, + preview_backup_contents, + restore_backup, + validate_backup, +) + + +# --------------------------------------------------------------------------- +# Fixtures +# --------------------------------------------------------------------------- + + +def _make_project(root: Path) -> Path: + """Build a minimal fake project tree under ``root``.""" + (root / "config").mkdir(parents=True) + (root / "config" / "config.json").write_text( + json.dumps({"web_ui": {"port": 8080}, "my-plugin": {"enabled": True, "favorites": ["A", "B"]}}), + encoding="utf-8", + ) + (root / "config" / "config_secrets.json").write_text( + json.dumps({"ledmatrix-weather": {"api_key": "SECRET"}}), + encoding="utf-8", + ) + (root / "config" / "wifi_config.json").write_text( + json.dumps({"ap_mode": {"ssid": "LEDMatrix"}}), + encoding="utf-8", + ) + + fonts = root / "assets" / "fonts" + fonts.mkdir(parents=True) + # One bundled font (should be excluded) and one user-uploaded font. + (fonts / "5x7.bdf").write_text("BUNDLED", encoding="utf-8") + (fonts / "my-custom-font.ttf").write_bytes(b"\x00\x01USER") + + uploads = root / "assets" / "plugins" / "static-image" / "uploads" + uploads.mkdir(parents=True) + (uploads / "image_1.png").write_bytes(b"\x89PNG\r\n\x1a\nfake") + (uploads / ".metadata.json").write_text(json.dumps({"a": 1}), encoding="utf-8") + + # plugin-repos for installed-plugin enumeration. + plugin_dir = root / "plugin-repos" / "my-plugin" + plugin_dir.mkdir(parents=True) + (plugin_dir / "manifest.json").write_text( + json.dumps({"id": "my-plugin", "version": "1.2.3"}), + encoding="utf-8", + ) + + # plugin_state.json + (root / "data").mkdir() + (root / "data" / "plugin_state.json").write_text( + json.dumps( + { + "version": 1, + "states": { + "my-plugin": {"version": "1.2.3", "enabled": True}, + "other-plugin": {"version": "0.1.0", "enabled": False}, + }, + } + ), + encoding="utf-8", + ) + return root + + +@pytest.fixture +def project(tmp_path: Path) -> Path: + return _make_project(tmp_path / "src_project") + + +@pytest.fixture +def empty_project(tmp_path: Path) -> Path: + root = tmp_path / "dst_project" + root.mkdir() + # Pre-seed only the bundled font to simulate a fresh install. + (root / "assets" / "fonts").mkdir(parents=True) + (root / "assets" / "fonts" / "5x7.bdf").write_text("BUNDLED", encoding="utf-8") + return root + + +# --------------------------------------------------------------------------- +# BUNDLED_FONTS sanity +# --------------------------------------------------------------------------- + + +def test_bundled_fonts_matches_repo() -> None: + """Every entry in BUNDLED_FONTS must exist on disk in assets/fonts/. + + The reverse direction is intentionally not checked: real installations + have user-uploaded fonts in the same directory, and they should be + treated as user data (not bundled). + """ + repo_fonts = Path(__file__).resolve().parent.parent / "assets" / "fonts" + if not repo_fonts.exists(): + pytest.skip("assets/fonts not present in test env") + on_disk = {p.name for p in repo_fonts.iterdir() if p.is_file()} + missing = set(BUNDLED_FONTS) - on_disk + assert not missing, f"BUNDLED_FONTS references files not in assets/fonts/: {missing}" + + +# --------------------------------------------------------------------------- +# Preview / enumeration +# --------------------------------------------------------------------------- + + +def test_list_installed_plugins(project: Path) -> None: + plugins = list_installed_plugins(project) + ids = [p["plugin_id"] for p in plugins] + assert "my-plugin" in ids + assert "other-plugin" in ids + my = next(p for p in plugins if p["plugin_id"] == "my-plugin") + assert my["version"] == "1.2.3" + + +def test_preview_backup_contents(project: Path) -> None: + preview = preview_backup_contents(project) + assert preview["has_config"] is True + assert preview["has_secrets"] is True + assert preview["has_wifi"] is True + assert preview["user_fonts"] == ["my-custom-font.ttf"] + assert preview["plugin_uploads"] >= 2 + assert any(p["plugin_id"] == "my-plugin" for p in preview["plugins"]) + + +# --------------------------------------------------------------------------- +# Export +# --------------------------------------------------------------------------- + + +def test_create_backup_contents(project: Path, tmp_path: Path) -> None: + out_dir = tmp_path / "exports" + zip_path = create_backup(project, output_dir=out_dir) + assert zip_path.exists() + assert zip_path.parent == out_dir + with zipfile.ZipFile(zip_path) as zf: + names = set(zf.namelist()) + assert "manifest.json" in names + assert "config/config.json" in names + assert "config/config_secrets.json" in names + assert "config/wifi_config.json" in names + assert "assets/fonts/my-custom-font.ttf" in names + # Bundled font must NOT be included. + assert "assets/fonts/5x7.bdf" not in names + assert "assets/plugins/static-image/uploads/image_1.png" in names + assert "plugins.json" in names + + +def test_create_backup_manifest(project: Path, tmp_path: Path) -> None: + zip_path = create_backup(project, output_dir=tmp_path / "exports") + with zipfile.ZipFile(zip_path) as zf: + manifest = json.loads(zf.read("manifest.json")) + assert manifest["schema_version"] == backup_manager.SCHEMA_VERSION + assert "created_at" in manifest + assert set(manifest["contents"]) >= {"config", "secrets", "wifi", "fonts", "plugin_uploads", "plugins"} + + +# --------------------------------------------------------------------------- +# Validate +# --------------------------------------------------------------------------- + + +def test_validate_backup_ok(project: Path, tmp_path: Path) -> None: + zip_path = create_backup(project, output_dir=tmp_path / "exports") + ok, err, manifest = validate_backup(zip_path) + assert ok, err + assert err == "" + assert "config" in manifest["detected_contents"] + assert "secrets" in manifest["detected_contents"] + assert any(p["plugin_id"] == "my-plugin" for p in manifest["plugins"]) + + +def test_validate_backup_missing_manifest(tmp_path: Path) -> None: + zip_path = tmp_path / "bad.zip" + with zipfile.ZipFile(zip_path, "w") as zf: + zf.writestr("config/config.json", "{}") + ok, err, _ = validate_backup(zip_path) + assert not ok + assert "manifest" in err.lower() + + +def test_validate_backup_bad_schema_version(tmp_path: Path) -> None: + zip_path = tmp_path / "bad.zip" + with zipfile.ZipFile(zip_path, "w") as zf: + zf.writestr("manifest.json", json.dumps({"schema_version": 999})) + ok, err, _ = validate_backup(zip_path) + assert not ok + assert "schema" in err.lower() + + +def test_validate_backup_rejects_zip_traversal(tmp_path: Path) -> None: + zip_path = tmp_path / "malicious.zip" + with zipfile.ZipFile(zip_path, "w") as zf: + zf.writestr("manifest.json", json.dumps({"schema_version": SCHEMA_VERSION, "contents": []})) + zf.writestr("../../etc/passwd", "x") + ok, err, _ = validate_backup(zip_path) + assert not ok + assert "unsafe" in err.lower() + + +def test_validate_backup_not_a_zip(tmp_path: Path) -> None: + p = tmp_path / "nope.zip" + p.write_text("hello", encoding="utf-8") + ok, _err, _ = validate_backup(p) + assert not ok + + +# --------------------------------------------------------------------------- +# Restore +# --------------------------------------------------------------------------- + + +def test_restore_roundtrip(project: Path, empty_project: Path, tmp_path: Path) -> None: + zip_path = create_backup(project, output_dir=tmp_path / "exports") + result = restore_backup(zip_path, empty_project, RestoreOptions()) + + assert result.success, result.errors + assert "config" in result.restored + assert "secrets" in result.restored + assert "wifi" in result.restored + + # Files exist with correct contents. + restored_config = json.loads((empty_project / "config" / "config.json").read_text()) + assert restored_config["my-plugin"]["favorites"] == ["A", "B"] + + restored_secrets = json.loads((empty_project / "config" / "config_secrets.json").read_text()) + assert restored_secrets["ledmatrix-weather"]["api_key"] == "SECRET" + + # User font restored, bundled font untouched. + assert (empty_project / "assets" / "fonts" / "my-custom-font.ttf").read_bytes() == b"\x00\x01USER" + assert (empty_project / "assets" / "fonts" / "5x7.bdf").read_text() == "BUNDLED" + + # Plugin uploads restored. + assert (empty_project / "assets" / "plugins" / "static-image" / "uploads" / "image_1.png").exists() + + # Plugins to install surfaced for the caller. + plugin_ids = {p["plugin_id"] for p in result.plugins_to_install} + assert "my-plugin" in plugin_ids + + +def test_restore_honors_options(project: Path, empty_project: Path, tmp_path: Path) -> None: + zip_path = create_backup(project, output_dir=tmp_path / "exports") + opts = RestoreOptions( + restore_config=True, + restore_secrets=False, + restore_wifi=False, + restore_fonts=False, + restore_plugin_uploads=False, + reinstall_plugins=False, + ) + result = restore_backup(zip_path, empty_project, opts) + assert result.success, result.errors + assert (empty_project / "config" / "config.json").exists() + assert not (empty_project / "config" / "config_secrets.json").exists() + assert not (empty_project / "config" / "wifi_config.json").exists() + assert not (empty_project / "assets" / "fonts" / "my-custom-font.ttf").exists() + assert result.plugins_to_install == [] + assert "secrets" in result.skipped + assert "wifi" in result.skipped + + +def test_restore_rejects_malicious_zip(empty_project: Path, tmp_path: Path) -> None: + zip_path = tmp_path / "bad.zip" + with zipfile.ZipFile(zip_path, "w") as zf: + zf.writestr("manifest.json", json.dumps({"schema_version": SCHEMA_VERSION, "contents": []})) + zf.writestr("../escape.txt", "x") + result = restore_backup(zip_path, empty_project, RestoreOptions()) + # validate_backup catches it before extraction. + assert not result.success + assert any("unsafe" in e.lower() for e in result.errors) diff --git a/web_interface/blueprints/api_v3.py b/web_interface/blueprints/api_v3.py index 47ff7fa5..dbe4d016 100644 --- a/web_interface/blueprints/api_v3.py +++ b/web_interface/blueprints/api_v3.py @@ -9,7 +9,7 @@ import time import hashlib import uuid import logging -from datetime import datetime +from datetime import datetime, timezone from pathlib import Path from typing import Optional, Tuple, Dict, Any, Type @@ -1106,6 +1106,290 @@ def save_raw_secrets_config(): status_code=500 ) + +# --------------------------------------------------------------------------- +# Backup & Restore +# --------------------------------------------------------------------------- + +_BACKUP_FILENAME_RE = re.compile(r'^ledmatrix-backup-[A-Za-z0-9_-]+-\d{8}_\d{6}\.zip$') + + +def _backup_exports_dir() -> Path: + """Directory where user-downloadable backup ZIPs are stored.""" + d = PROJECT_ROOT / 'config' / 'backups' / 'exports' + d.mkdir(parents=True, exist_ok=True) + return d + + +def _is_safe_backup_filename(name: str) -> bool: + """Allow-list filter for backup filenames used in download/delete.""" + return bool(_BACKUP_FILENAME_RE.match(name)) + + +@api_v3.route('/backup/preview', methods=['GET']) +def backup_preview(): + """Return a summary of what a new backup would include.""" + try: + from src import backup_manager + preview = backup_manager.preview_backup_contents(PROJECT_ROOT) + return jsonify({'status': 'success', 'data': preview}) + except Exception: + logger.exception("[Backup] preview failed") + return jsonify({'status': 'error', 'message': 'Failed to compute backup preview'}), 500 + + +@api_v3.route('/backup/export', methods=['POST']) +def backup_export(): + """Create a new backup ZIP and return its filename.""" + try: + from src import backup_manager + zip_path = backup_manager.create_backup(PROJECT_ROOT, output_dir=_backup_exports_dir()) + return jsonify({ + 'status': 'success', + 'filename': zip_path.name, + 'size': zip_path.stat().st_size, + 'created_at': datetime.now(timezone.utc).isoformat(), + }) + except Exception: + logger.exception("[Backup] export failed") + return jsonify({'status': 'error', 'message': 'Failed to create backup'}), 500 + + +@api_v3.route('/backup/list', methods=['GET']) +def backup_list(): + """List backup ZIPs currently stored on disk.""" + try: + exports = _backup_exports_dir() + entries = [] + for path in sorted(exports.glob('ledmatrix-backup-*.zip'), reverse=True): + if not _is_safe_backup_filename(path.name): + continue + stat = path.stat() + entries.append({ + 'filename': path.name, + 'size': stat.st_size, + 'created_at': datetime.fromtimestamp(stat.st_mtime, timezone.utc).isoformat(), + }) + return jsonify({'status': 'success', 'data': entries}) + except Exception: + logger.exception("[Backup] list failed") + return jsonify({'status': 'error', 'message': 'Failed to list backups'}), 500 + + +@api_v3.route('/backup/download/', methods=['GET']) +def backup_download(filename): + """Stream a previously-created backup ZIP to the browser.""" + try: + if not _is_safe_backup_filename(filename): + return jsonify({'status': 'error', 'message': 'Invalid backup filename'}), 400 + exports = _backup_exports_dir() + target = exports / filename + if not target.exists(): + return jsonify({'status': 'error', 'message': 'Backup not found'}), 404 + return send_from_directory( + str(exports), + filename, + as_attachment=True, + mimetype='application/zip', + ) + except Exception: + logger.exception("[Backup] download failed") + return jsonify({'status': 'error', 'message': 'Failed to download backup'}), 500 + + +@api_v3.route('/backup/', methods=['DELETE']) +def backup_delete(filename): + """Delete a stored backup ZIP.""" + try: + if not _is_safe_backup_filename(filename): + return jsonify({'status': 'error', 'message': 'Invalid backup filename'}), 400 + target = _backup_exports_dir() / filename + if not target.exists(): + return jsonify({'status': 'error', 'message': 'Backup not found'}), 404 + target.unlink() + return jsonify({'status': 'success', 'message': f'Deleted {filename}'}) + except Exception: + logger.exception("[Backup] delete failed") + return jsonify({'status': 'error', 'message': 'Failed to delete backup'}), 500 + + +def _save_uploaded_backup_to_temp() -> Tuple[Optional[Path], Optional[Tuple[Response, int]]]: + """Shared upload handler for validate/restore endpoints. Returns + ``(temp_path, None)`` on success or ``(None, error_response)`` on failure. + The caller is responsible for deleting the returned temp file.""" + import tempfile as _tempfile + if 'backup_file' not in request.files: + return None, (jsonify({'status': 'error', 'message': 'No backup file provided'}), 400) + upload = request.files['backup_file'] + if not upload.filename: + return None, (jsonify({'status': 'error', 'message': 'No file selected'}), 400) + is_valid, err = validate_file_upload( + upload.filename, + max_size_mb=200, + allowed_extensions=['.zip'], + ) + if not is_valid: + return None, (jsonify({'status': 'error', 'message': err}), 400) + fd, tmp_name = _tempfile.mkstemp(prefix='ledmatrix_upload_', suffix='.zip') + os.close(fd) + tmp_path = Path(tmp_name) + max_bytes = 200 * 1024 * 1024 + try: + written = 0 + with open(tmp_path, 'wb') as fh: + while True: + chunk = upload.stream.read(65536) + if not chunk: + break + written += len(chunk) + if written > max_bytes: + fh.close() + tmp_path.unlink(missing_ok=True) + return None, (jsonify({'status': 'error', 'message': 'Backup file exceeds 200 MB limit'}), 413) + fh.write(chunk) + except Exception: + tmp_path.unlink(missing_ok=True) + logger.exception("[Backup] Failed to save uploaded backup") + return None, (jsonify({'status': 'error', 'message': 'Failed to read uploaded file'}), 500) + return tmp_path, None + + +@api_v3.route('/backup/validate', methods=['POST']) +def backup_validate(): + """Inspect an uploaded backup without applying it.""" + tmp_path, err = _save_uploaded_backup_to_temp() + if err is not None: + return err + try: + from src import backup_manager + ok, error, manifest = backup_manager.validate_backup(tmp_path) + if not ok: + return jsonify({'status': 'error', 'message': error}), 400 + return jsonify({'status': 'success', 'data': manifest}) + except Exception: + logger.exception("[Backup] validate failed") + return jsonify({'status': 'error', 'message': 'Failed to validate backup'}), 500 + finally: + try: + tmp_path.unlink(missing_ok=True) + except OSError: + pass + + +@api_v3.route('/backup/restore', methods=['POST']) +def backup_restore(): + """ + Restore an uploaded backup into the running installation. + + The request is multipart/form-data with: + - ``backup_file``: the ZIP upload + - ``options``: JSON string with RestoreOptions fields (all boolean) + """ + tmp_path, err = _save_uploaded_backup_to_temp() + if err is not None: + return err + try: + from src import backup_manager + + # Parse options (all optional; default is "restore everything"). + raw_opts = request.form.get('options') or '{}' + try: + opts_dict = json.loads(raw_opts) + except json.JSONDecodeError: + return jsonify({'status': 'error', 'message': 'Invalid options JSON'}), 400 + if not isinstance(opts_dict, dict): + return jsonify({'status': 'error', 'message': 'options must be an object'}), 400 + + opts = backup_manager.RestoreOptions( + restore_config=_coerce_to_bool(opts_dict.get('restore_config', True)), + restore_secrets=_coerce_to_bool(opts_dict.get('restore_secrets', True)), + restore_wifi=_coerce_to_bool(opts_dict.get('restore_wifi', True)), + restore_fonts=_coerce_to_bool(opts_dict.get('restore_fonts', True)), + restore_plugin_uploads=_coerce_to_bool(opts_dict.get('restore_plugin_uploads', True)), + reinstall_plugins=_coerce_to_bool(opts_dict.get('reinstall_plugins', True)), + ) + + # Snapshot current config through the atomic manager so the pre-restore + # state is recoverable via the existing rollback_config() path. + if api_v3.config_manager and opts.restore_config: + try: + current = api_v3.config_manager.load_config() + snapshot_ok, snapshot_err = _save_config_atomic(api_v3.config_manager, current, create_backup=True) + if not snapshot_ok: + logger.warning("[Backup] Pre-restore snapshot failed: %s (continuing)", snapshot_err) + except Exception: + logger.warning("[Backup] Pre-restore snapshot failed (continuing)", exc_info=True) + + result = backup_manager.restore_backup(tmp_path, PROJECT_ROOT, opts) + + # Reinstall plugins via the store manager, one at a time. + if opts.reinstall_plugins and api_v3.plugin_store_manager and result.plugins_to_install: + installed_names = set() + if api_v3.plugin_manager: + try: + existing = api_v3.plugin_manager.get_all_plugin_info() or [] + installed_names = {p.get('id') for p in existing if p.get('id')} + except Exception: + installed_names = set() + for entry in result.plugins_to_install: + plugin_id = entry.get('plugin_id') + if not plugin_id: + continue + if plugin_id in installed_names: + result.plugins_installed.append(plugin_id) + continue + try: + ok = api_v3.plugin_store_manager.install_plugin(plugin_id) + if ok: + if api_v3.schema_manager: + api_v3.schema_manager.invalidate_cache(plugin_id) + if api_v3.plugin_manager: + api_v3.plugin_manager.discover_plugins() + api_v3.plugin_manager.load_plugin(plugin_id) + if api_v3.plugin_state_manager: + api_v3.plugin_state_manager.set_plugin_installed(plugin_id) + result.plugins_installed.append(plugin_id) + else: + result.plugins_failed.append({'plugin_id': plugin_id, 'error': 'install returned False'}) + except Exception as install_err: + logger.exception("[Backup] plugin reinstall failed for %s", plugin_id) + result.plugins_failed.append({'plugin_id': plugin_id, 'error': str(install_err)}) + + # Clear font catalog cache so restored fonts show up. + if any(r.startswith("fonts") for r in result.restored): + try: + from web_interface.cache import delete_cached + delete_cached('fonts_catalog') + except Exception: + logger.warning("[Backup] Failed to clear font cache", exc_info=True) + + # Reload config_manager state so the UI picks up the new values + # without a full service restart. + if api_v3.config_manager and opts.restore_config: + try: + api_v3.config_manager.load_config(force_reload=True) + except TypeError: + try: + api_v3.config_manager.load_config() + except Exception: + logger.warning("[Backup] Could not reload config after restore", exc_info=True) + except Exception: + logger.warning("[Backup] Could not reload config after restore", exc_info=True) + + return jsonify({ + 'status': 'success' if result.success else 'partial', + 'data': result.to_dict(), + }) + except Exception: + logger.exception("[Backup] restore failed") + return jsonify({'status': 'error', 'message': 'Failed to restore backup'}), 500 + finally: + try: + tmp_path.unlink(missing_ok=True) + except OSError: + pass + + @api_v3.route('/system/status', methods=['GET']) def get_system_status(): """Get system status""" diff --git a/web_interface/blueprints/pages_v3.py b/web_interface/blueprints/pages_v3.py index 209d1470..a01f827a 100644 --- a/web_interface/blueprints/pages_v3.py +++ b/web_interface/blueprints/pages_v3.py @@ -76,6 +76,8 @@ def load_partial(partial_name): return _load_logs_partial() elif partial_name == 'raw-json': return _load_raw_json_partial() + elif partial_name == 'backup-restore': + return _load_backup_restore_partial() elif partial_name == 'wifi': return _load_wifi_partial() elif partial_name == 'cache': @@ -296,6 +298,13 @@ def _load_raw_json_partial(): except Exception as e: return f"Error: {str(e)}", 500 +def _load_backup_restore_partial(): + """Load backup & restore partial.""" + try: + return render_template('v3/partials/backup_restore.html') + except Exception as e: + return f"Error: {str(e)}", 500 + @pages_v3.route('/setup') def captive_setup(): """Lightweight captive portal setup page — self-contained, no frameworks.""" diff --git a/web_interface/templates/v3/base.html b/web_interface/templates/v3/base.html index e4dbf5ff..a6aa748d 100644 --- a/web_interface/templates/v3/base.html +++ b/web_interface/templates/v3/base.html @@ -937,6 +937,11 @@ class="nav-tab"> Config Editor + + + +
+
Loading summary…
+
+ + + +
+
+

Restore from backup

+

+ Upload a backup ZIP exported from this or another LEDMatrix install. + You'll see a summary before anything is written to disk. +

+
+ +
+
+ + +
+ +
+ +
+ + + + +
+
+ + +
+
+
+
+

Backup history

+

Previously exported backups stored on this device.

+
+ +
+
+
Loading…
+
+ + + + From 65e3e8319bdeb8514d90785521598749134bce6a Mon Sep 17 00:00:00 2001 From: Chuck <33324927+ChuckBuilds@users.noreply.github.com> Date: Wed, 29 Apr 2026 15:22:12 -0400 Subject: [PATCH 7/8] fix(plugin_manager): prevent permanent ERROR state after update timeout (#316) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(plugin_manager): prevent permanent ERROR state after update timeout When execute_update() fails (timeout or unhandled exception), the plugin state was set to ERROR with no recovery path. can_execute() returns False for ERROR state, so the plugin's update() was never called again, leaving it showing stale data indefinitely. Instead, update plugin_last_update so the plugin waits one configured interval before retrying, and keep the state ENABLED so recovery is automatic on the next cycle. Co-Authored-By: Claude Sonnet 4.6 * fix(plugin_manager): address PR review — failure timestamp and error context - Use time.time() at the point of failure instead of reusing current_time (captured before execution), so the full retry interval always elapses after a timeout rather than one execution-duration shorter - Add PluginStateManager.set_error_info() to persist structured error context without changing plugin state; call it in both failure branches so get_error_info() / get_state_info() surface recoverable errors alongside ERROR-state errors - Add warning log on the success=False branch (was previously silent) - Pass a descriptive Exception (not a generic "Plugin execution failed") to health_tracker.record_failure() in the timeout/executor-error path Co-Authored-By: Claude Sonnet 4.6 * fix(plugin_manager): atomic state+error write via set_state_with_error The two-step set_state() / set_error_info() sequence left a window where readers could observe ENABLED state without the accompanying error context. Add threading.RLock to PluginStateManager and a new set_state_with_error() method that holds the lock for both the state-transition write and the _error_info write together. The method inlines the state-transition logic rather than calling set_state() internally to intentionally skip the "clear _error_info for non-ERROR states" side effect — the recoverable error dict is exactly what we want stored. Replace both paired set_state / set_error_info call sites in run_scheduled_updates() with the single atomic method. Co-Authored-By: Claude Sonnet 4.6 * fix(plugin_state): lock _error_info accesses and store defensive copies Three verified issues: - set_error_info wrote _error_info without holding _lock and stored the caller's dict by reference, allowing races and post-write mutation - set_state_with_error stored error_info by reference (lock was already held) - get_error_info read _error_info without _lock and returned the live reference, letting callers mutate the stored snapshot Implicit fourth fix: set_state also wrote _error_info without _lock; locking get_error_info while leaving that writer unguarded would have created a new race, so set_state is now wrapped in _lock too for consistency. Changes: - set_state: wrap entire body in self._lock (covers _states, _state_history, and _error_info writes atomically; ERROR-path _error_info value was already a fresh dict literal so no copy needed) - set_error_info: acquire self._lock + store dict(error_info) shallow copy - set_state_with_error: store dict(error_info) shallow copy (lock already held) - get_error_info: acquire self._lock + return dict(info) copy or None All stored values are flat dicts of strings/floats/bools, so shallow copy is sufficient — deepcopy is not needed. Co-Authored-By: Claude Sonnet 4.6 * fix(plugin_manager): apply recovery logic to update_all_plugins; extract helper update_all_plugins still set PluginState.ERROR on both failure paths, leaving it inconsistent with the run_scheduled_updates fix from the same PR. Extract _record_update_failure(plugin_id, exc=None) to hold all shared failure logic: capture actual failure time, build structured error_info, log the retry warning, stamp plugin_last_update, call set_state_with_error(ENABLED), and forward to health_tracker. Replace all four failure sites (two in run_scheduled_updates, two in update_all_plugins) with calls to this helper. Co-Authored-By: Claude Sonnet 4.6 --------- Co-authored-by: Chuck Co-authored-by: Claude Sonnet 4.6 --- src/plugin_system/plugin_manager.py | 54 ++++++++--- src/plugin_system/plugin_state.py | 145 ++++++++++++++++++++-------- 2 files changed, 148 insertions(+), 51 deletions(-) diff --git a/src/plugin_system/plugin_manager.py b/src/plugin_system/plugin_manager.py index d6cc7139..c6baed69 100644 --- a/src/plugin_system/plugin_manager.py +++ b/src/plugin_system/plugin_manager.py @@ -677,6 +677,44 @@ class PluginManager: # Default: 60 seconds return 60.0 + def _record_update_failure( + self, + plugin_id: str, + exc: Optional[Exception] = None, + ) -> None: + """Apply the standard failure-recovery path for a plugin update. + + Stamps plugin_last_update with the actual failure time so the full + configured interval elapses before the next retry, then transitions + the plugin back to ENABLED (not ERROR) with structured error context + so automatic recovery happens on the next scheduled cycle. + + Args: + plugin_id: Plugin identifier + exc: The exception that caused the failure, if any. When None a + synthetic ExecutionFailure exception is constructed from the + timeout/executor-error path. + """ + failure_time = time.time() + if exc is not None: + err: Exception = exc + error_type = type(exc).__name__ + else: + err = Exception(f"Plugin {plugin_id} execution failed (timeout or executor error)") + error_type = 'ExecutionFailure' + + error_info = { + 'error': str(err), + 'error_type': error_type, + 'timestamp': failure_time, + 'recoverable': True, + } + self.logger.warning("Plugin %s update() failed; will retry after interval", plugin_id) + self.plugin_last_update[plugin_id] = failure_time + self.state_manager.set_state_with_error(plugin_id, PluginState.ENABLED, error_info, error=err) + if self.health_tracker: + self.health_tracker.record_failure(plugin_id, err) + def run_scheduled_updates(self, current_time: Optional[float] = None) -> None: """ Trigger plugin updates based on their defined update intervals. @@ -734,16 +772,10 @@ class PluginManager: if self.health_tracker: self.health_tracker.record_success(plugin_id) else: - # Execution failed (timeout or error) - self.state_manager.set_state(plugin_id, PluginState.ERROR) - if self.health_tracker: - self.health_tracker.record_failure(plugin_id, Exception("Plugin execution failed")) + self._record_update_failure(plugin_id) except Exception as exc: # pylint: disable=broad-except self.logger.exception("Error updating plugin %s: %s", plugin_id, exc) - self.state_manager.set_state(plugin_id, PluginState.ERROR, error=exc) - # Record failure - if self.health_tracker: - self.health_tracker.record_failure(plugin_id, exc) + self._record_update_failure(plugin_id, exc=exc) def update_all_plugins(self) -> None: """ @@ -769,14 +801,12 @@ class PluginManager: if success: self.plugin_last_update[plugin_id] = time.time() self.state_manager.record_update(plugin_id) - # Update state back to ENABLED self.state_manager.set_state(plugin_id, PluginState.ENABLED) else: - # Execution failed - self.state_manager.set_state(plugin_id, PluginState.ERROR) + self._record_update_failure(plugin_id) except Exception as exc: # pylint: disable=broad-except self.logger.exception("Error updating plugin %s: %s", plugin_id, exc) - self.state_manager.set_state(plugin_id, PluginState.ERROR, error=exc) + self._record_update_failure(plugin_id, exc=exc) def get_plugin_health_metrics(self) -> Dict[str, Any]: """ diff --git a/src/plugin_system/plugin_state.py b/src/plugin_system/plugin_state.py index f9332ff9..269bb423 100644 --- a/src/plugin_system/plugin_state.py +++ b/src/plugin_system/plugin_state.py @@ -5,6 +5,7 @@ Manages plugin state machine (loaded → enabled → running → error) with state transitions and queries. """ +import threading from enum import Enum from typing import Optional, Dict, Any from datetime import datetime @@ -34,6 +35,7 @@ class PluginStateManager: logger: Optional logger instance """ self.logger = logger or get_logger(__name__) + self._lock = threading.RLock() self._states: Dict[str, PluginState] = {} self._state_history: Dict[str, list] = {} self._error_info: Dict[str, Dict[str, Any]] = {} @@ -48,44 +50,44 @@ class PluginStateManager: ) -> None: """ Set plugin state and record transition. - + Args: plugin_id: Plugin identifier state: New state error: Optional error if transitioning to ERROR state """ - old_state = self._states.get(plugin_id, PluginState.UNLOADED) - self._states[plugin_id] = state - - # Record state transition - if plugin_id not in self._state_history: - self._state_history[plugin_id] = [] - - transition = { - 'timestamp': datetime.now(), - 'from': old_state.value, - 'to': state.value, - 'error': str(error) if error else None - } - self._state_history[plugin_id].append(transition) - - # Store error info if transitioning to ERROR state - if state == PluginState.ERROR and error: - self._error_info[plugin_id] = { - 'error': str(error), - 'error_type': type(error).__name__, - 'timestamp': datetime.now() + with self._lock: + old_state = self._states.get(plugin_id, PluginState.UNLOADED) + self._states[plugin_id] = state + + if plugin_id not in self._state_history: + self._state_history[plugin_id] = [] + + transition = { + 'timestamp': datetime.now(), + 'from': old_state.value, + 'to': state.value, + 'error': str(error) if error else None } - elif state != PluginState.ERROR: - # Clear error info when leaving ERROR state - self._error_info.pop(plugin_id, None) - - self.logger.debug( - "Plugin %s state transition: %s → %s", - plugin_id, - old_state.value, - state.value - ) + self._state_history[plugin_id].append(transition) + + # Store error info if transitioning to ERROR state + if state == PluginState.ERROR and error: + self._error_info[plugin_id] = { + 'error': str(error), + 'error_type': type(error).__name__, + 'timestamp': datetime.now() + } + elif state != PluginState.ERROR: + # Clear error info when leaving ERROR state + self._error_info.pop(plugin_id, None) + + self.logger.debug( + "Plugin %s state transition: %s → %s", + plugin_id, + old_state.value, + state.value + ) def get_state(self, plugin_id: str) -> PluginState: """ @@ -136,17 +138,82 @@ class PluginStateManager: """ return self._state_history.get(plugin_id, []) - def get_error_info(self, plugin_id: str) -> Optional[Dict[str, Any]]: + def set_error_info(self, plugin_id: str, error_info: Dict[str, Any]) -> None: """ - Get error information for a plugin in ERROR state. - + Persist structured error context without changing plugin state. + + Used for recoverable failures (e.g. update timeout) where the plugin + stays ENABLED but the error details should remain queryable. + Args: plugin_id: Plugin identifier - - Returns: - Error information dict or None + error_info: Arbitrary dict describing the error """ - return self._error_info.get(plugin_id) + with self._lock: + self._error_info[plugin_id] = dict(error_info) + + def set_state_with_error( + self, + plugin_id: str, + state: PluginState, + error_info: Dict[str, Any], + error: Optional[Exception] = None, + ) -> None: + """Set plugin state and persist error context atomically. + + Unlike calling set_state() then set_error_info() separately, this + method holds ``_lock`` for both writes so no reader can observe the + new state without the accompanying error context. + + Intentionally does not clear ``_error_info`` the way set_state() does + for non-ERROR transitions — this is the recoverable-failure path where + the error dict is the entire point. + + Args: + plugin_id: Plugin identifier + state: New state + error_info: Structured error dict to persist alongside the state + error: Optional exception recorded in the transition history + """ + with self._lock: + old_state = self._states.get(plugin_id, PluginState.UNLOADED) + self._states[plugin_id] = state + + if plugin_id not in self._state_history: + self._state_history[plugin_id] = [] + self._state_history[plugin_id].append({ + 'timestamp': datetime.now(), + 'from': old_state.value, + 'to': state.value, + 'error': str(error) if error else None, + }) + + self._error_info[plugin_id] = dict(error_info) + + self.logger.debug( + "Plugin %s state transition: %s → %s (recoverable error stored)", + plugin_id, + old_state.value, + state.value, + ) + + def get_error_info(self, plugin_id: str) -> Optional[Dict[str, Any]]: + """ + Get error information for a plugin. + + Returns the stored error dict whether the plugin is in ERROR state or + still ENABLED after a recoverable failure. Returns a shallow copy so + callers cannot mutate the stored snapshot. + + Args: + plugin_id: Plugin identifier + + Returns: + Copy of the error information dict, or None + """ + with self._lock: + info = self._error_info.get(plugin_id) + return dict(info) if info is not None else None def record_update(self, plugin_id: str) -> None: """Record that plugin update() was called.""" From db9585cea9b47912f93b35be47bafda1e20a2806 Mon Sep 17 00:00:00 2001 From: Scott Raynor Date: Wed, 29 Apr 2026 19:12:05 -0400 Subject: [PATCH 8/8] Changed nhl logo to more monochrome logo that looks much better on the LEDMatrix. (#315) Signed-off-by: J. Scott Raynor --- assets/sports/nhl_logos/NHL.png | Bin 107184 -> 672455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/sports/nhl_logos/NHL.png b/assets/sports/nhl_logos/NHL.png index eaebd594256c25655dd13196163969d3407035ce..e3287a787e5064b0209f27edbd979e123e3a6666 100644 GIT binary patch literal 672455 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

(IjnWA0(0URNX%a^ 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

v#LHB0`?e4j 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

P@^$J%B|2jEdU>3XAM`sc%e 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 {>X@)YQKDTy!>>7cTk2rF@V8B}FnY9359 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