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 <noreply@anthropic.com>
This commit is contained in:
Luca Oelfke 2026-02-12 11:09:54 +01:00
parent 3f12824170
commit a4f695d75a
2 changed files with 18 additions and 2 deletions

View file

@ -4,6 +4,6 @@
"version": "0.1.0", "version": "0.1.0",
"minAppVersion": "1.5.0", "minAppVersion": "1.5.0",
"description": "Track all vault activity, query with SQL, visualize with charts and dashboards — all backed by SQLite.", "description": "Track all vault activity, query with SQL, visualize with charts and dashboards — all backed by SQLite.",
"author": "Luca", "author": "tolvitty",
"isDesktopOnly": true "isDesktopOnly": true
} }

View file

@ -15,6 +15,7 @@ import { StatusBar } from './ui/status-bar';
import { EventStreamView, EVENT_STREAM_VIEW_TYPE } from './ui/event-stream-view'; import { EventStreamView, EVENT_STREAM_VIEW_TYPE } from './ui/event-stream-view';
import { registerLogfireBlock, registerLogfireSqlBlock, cleanupAllRefreshTimers } from './query/processor'; import { registerLogfireBlock, registerLogfireSqlBlock, cleanupAllRefreshTimers } from './query/processor';
import { QueryModal } from './query/query-modal'; import { QueryModal } from './query/query-modal';
import { VirtualTableManager } from './query/virtual-tables';
export default class LogfirePlugin extends Plugin { export default class LogfirePlugin extends Plugin {
settings!: LogfireSettings; settings!: LogfireSettings;
@ -29,6 +30,7 @@ export default class LogfirePlugin extends Plugin {
private editorCollector!: EditorCollector; private editorCollector!: EditorCollector;
private systemCollector!: SystemCollector; private systemCollector!: SystemCollector;
private statusBar!: StatusBar; private statusBar!: StatusBar;
private virtualTables!: VirtualTableManager;
private paused = false; private paused = false;
@ -115,7 +117,7 @@ export default class LogfirePlugin extends Plugin {
this.paused = true; 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(() => { this.app.workspace.onLayoutReady(() => {
if (!this.db.hasBaseline()) { if (!this.db.hasBaseline()) {
this.runInitialScan(); this.runInitialScan();
@ -127,6 +129,10 @@ export default class LogfirePlugin extends Plugin {
console.error('[Logfire] Wartung beim Start fehlgeschlagen:', err); 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); console.log('[Logfire] Plugin geladen. Session:', this.sessionManager.currentSessionId);
@ -136,6 +142,7 @@ export default class LogfirePlugin extends Plugin {
console.log('[Logfire] Entlade Plugin...'); console.log('[Logfire] Entlade Plugin...');
cleanupAllRefreshTimers(); cleanupAllRefreshTimers();
this.virtualTables?.destroy();
this.statusBar?.destroy(); this.statusBar?.destroy();
this.stopTracking(); 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({ this.addCommand({
id: 'open-query', id: 'open-query',
name: 'Query-Editor \u00f6ffnen', name: 'Query-Editor \u00f6ffnen',