From a4f695d75a2fde93de42cb45c66dd0bddd2dc24c Mon Sep 17 00:00:00 2001 From: tolvitty Date: Thu, 12 Feb 2026 11:09:54 +0100 Subject: [PATCH] Virtual Tables in main.ts verdrahtet, Author auf tolvitty VirtualTableManager nach Layout-Ready initialisieren, Cleanup in onunload, Kommando zum manuellen Rebuild. manifest.json Author-Feld aktualisiert. Co-Authored-By: tolvitty --- manifest.json | 2 +- src/main.ts | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index 03ddc2a..67298cb 100644 --- a/manifest.json +++ b/manifest.json @@ -4,6 +4,6 @@ "version": "0.1.0", "minAppVersion": "1.5.0", "description": "Track all vault activity, query with SQL, visualize with charts and dashboards — all backed by SQLite.", - "author": "Luca", + "author": "tolvitty", "isDesktopOnly": true } diff --git a/src/main.ts b/src/main.ts index ac85ed9..a1809c3 100644 --- a/src/main.ts +++ b/src/main.ts @@ -15,6 +15,7 @@ import { StatusBar } from './ui/status-bar'; import { EventStreamView, EVENT_STREAM_VIEW_TYPE } from './ui/event-stream-view'; import { registerLogfireBlock, registerLogfireSqlBlock, cleanupAllRefreshTimers } from './query/processor'; import { QueryModal } from './query/query-modal'; +import { VirtualTableManager } from './query/virtual-tables'; export default class LogfirePlugin extends Plugin { settings!: LogfireSettings; @@ -29,6 +30,7 @@ export default class LogfirePlugin extends Plugin { private editorCollector!: EditorCollector; private systemCollector!: SystemCollector; private statusBar!: StatusBar; + private virtualTables!: VirtualTableManager; private paused = false; @@ -115,7 +117,7 @@ export default class LogfirePlugin extends Plugin { this.paused = true; } - // Initial scan + maintenance on startup (after layout ready) + // Initial scan + maintenance + virtual tables on startup (after layout ready) this.app.workspace.onLayoutReady(() => { if (!this.db.hasBaseline()) { this.runInitialScan(); @@ -127,6 +129,10 @@ export default class LogfirePlugin extends Plugin { console.error('[Logfire] Wartung beim Start fehlgeschlagen:', err); } } + + // Virtual Tables + this.virtualTables = new VirtualTableManager(this.app, this.db); + this.virtualTables.initialize(); }); console.log('[Logfire] Plugin geladen. Session:', this.sessionManager.currentSessionId); @@ -136,6 +142,7 @@ export default class LogfirePlugin extends Plugin { console.log('[Logfire] Entlade Plugin...'); cleanupAllRefreshTimers(); + this.virtualTables?.destroy(); this.statusBar?.destroy(); this.stopTracking(); @@ -282,6 +289,15 @@ export default class LogfirePlugin extends Plugin { }, }); + this.addCommand({ + id: 'refresh-virtual-tables', + name: 'Virtual Tables neu aufbauen', + callback: () => { + this.virtualTables?.rebuild(); + new Notice('Logfire: Virtual Tables aktualisiert.'); + }, + }); + this.addCommand({ id: 'open-query', name: 'Query-Editor \u00f6ffnen',