From ef3ee5aceba32b96f8b769b2fac703430fc94a2f Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Thu, 4 Jun 2026 00:52:36 -0400 Subject: [PATCH] feat(maintenance): DB maintenance UI card + fix ruff I001 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Settings → Maintenance gains a "Database maintenance" card: a "Run VACUUM ANALYZE now" button (enqueues the maintenance task) plus a per-table bloat readout (live/dead/dead%/last vacuum) from /api/admin/maintenance/db-stats. - dbMaintenance store (loadStats / runVacuum) + test. - Fix ruff I001: combine the two _sync_engine imports onto one line. Co-Authored-By: Claude Opus 4.8 (1M context) --- backend/app/tasks/maintenance.py | 5 +- .../components/settings/DbMaintenanceCard.vue | 84 +++++++++++++++++++ .../components/settings/MaintenancePanel.vue | 2 + frontend/src/stores/dbMaintenance.js | 25 ++++++ frontend/test/dbMaintenance.spec.js | 44 ++++++++++ 5 files changed, 156 insertions(+), 4 deletions(-) create mode 100644 frontend/src/components/settings/DbMaintenanceCard.vue create mode 100644 frontend/src/stores/dbMaintenance.js create mode 100644 frontend/test/dbMaintenance.spec.js diff --git a/backend/app/tasks/maintenance.py b/backend/app/tasks/maintenance.py index 999bff4..a41c5f5 100644 --- a/backend/app/tasks/maintenance.py +++ b/backend/app/tasks/maintenance.py @@ -22,10 +22,7 @@ from ..models import ( TaskRun, ) from ..utils.phash import compute_phash -from ._sync_engine import ( - get_sync_engine, - sync_session_factory as _sync_session_factory, -) +from ._sync_engine import get_sync_engine, sync_session_factory as _sync_session_factory log = logging.getLogger(__name__) diff --git a/frontend/src/components/settings/DbMaintenanceCard.vue b/frontend/src/components/settings/DbMaintenanceCard.vue new file mode 100644 index 0000000..baae969 --- /dev/null +++ b/frontend/src/components/settings/DbMaintenanceCard.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/frontend/src/components/settings/MaintenancePanel.vue b/frontend/src/components/settings/MaintenancePanel.vue index e332e1c..f550c77 100644 --- a/frontend/src/components/settings/MaintenancePanel.vue +++ b/frontend/src/components/settings/MaintenancePanel.vue @@ -14,6 +14,7 @@ +