From 26ed2a2ba1041c88aa293daed0510e99b9ac96fd Mon Sep 17 00:00:00 2001 From: Anish Sarkar <104695310+AnishSarkar22@users.noreply.github.com> Date: Wed, 22 Apr 2026 06:16:38 +0530 Subject: [PATCH] feat: improve connection handling and status updates in SurfSense plugin --- surfsense_obsidian/src/settings.ts | 2 ++ surfsense_obsidian/src/sync-engine.ts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/surfsense_obsidian/src/settings.ts b/surfsense_obsidian/src/settings.ts index 4dc6a732f..cc72da9c1 100644 --- a/surfsense_obsidian/src/settings.ts +++ b/surfsense_obsidian/src/settings.ts @@ -115,7 +115,9 @@ export class SurfSenseSettingTab extends PluginSettingTab { if (this.plugin.settings.searchSpaceId !== null) { try { await this.plugin.engine.ensureConnected(); + await this.plugin.engine.flushQueue(); new Notice("Surfsense: vault connected."); + this.display(); } catch (err) { this.handleApiError(err); } diff --git a/surfsense_obsidian/src/sync-engine.ts b/surfsense_obsidian/src/sync-engine.ts index d6f7fa91c..4ffd2a651 100644 --- a/surfsense_obsidian/src/sync-engine.ts +++ b/surfsense_obsidian/src/sync-engine.ts @@ -126,6 +126,7 @@ export class SyncEngine { this.setStatus("idle", "Pick a search space in settings."); return; } + this.setStatus("syncing", "Connecting to SurfSense"); try { const fingerprint = await computeVaultFingerprint(this.deps.app); const resp = await this.deps.apiClient.connect({ @@ -139,6 +140,7 @@ export class SyncEngine { s.vaultId = resp.vault_id; s.connectorId = resp.connector_id; }); + this.setStatus(this.queueStatusKind(), this.statusDetail()); } catch (err) { this.handleStartupError(err); }