From eb9fadf714a82070143063142cceb61ec3907fac Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Sat, 22 Mar 2025 18:10:39 +0000 Subject: [PATCH] Fix crashes --- README.md | 3 +- frontend/obsidian-plugin/src/styles.scss | 1 + frontend/sync-client/src/sync-client.ts | 45 ++++++++++--------- .../sync-client/src/tracing/sync-history.ts | 2 +- 4 files changed, 26 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index a101bfad..4fb4b3b9 100644 --- a/README.md +++ b/README.md @@ -57,8 +57,7 @@ And to clean up the logs & database files, run `scripts/clean-up.sh` ## Todos - Don't show server traces on auth failure -- vritual list for logs view - +- better history tab - Better server logs - Allow setting config.yml path for server - history tab for going back diff --git a/frontend/obsidian-plugin/src/styles.scss b/frontend/obsidian-plugin/src/styles.scss index 31858f0e..c66c24a8 100644 --- a/frontend/obsidian-plugin/src/styles.scss +++ b/frontend/obsidian-plugin/src/styles.scss @@ -102,6 +102,7 @@ margin-bottom: var(--size-2-1); overflow-wrap: break-word; white-space: pre-wrap; + user-select: all; .timestamp { @include number-card; diff --git a/frontend/sync-client/src/sync-client.ts b/frontend/sync-client/src/sync-client.ts index fa3dbe31..1d23399c 100644 --- a/frontend/sync-client/src/sync-client.ts +++ b/frontend/sync-client/src/sync-client.ts @@ -27,7 +27,29 @@ export class SyncClient { private readonly syncService: SyncService, private readonly _logger: Logger, private readonly connectionStatus: ConnectionStatus - ) {} + ) { + this.settings.addOnSettingsChangeListener( + (newSettings, oldSettings) => { + if ( + newSettings.fetchChangesUpdateIntervalMs !== + oldSettings.fetchChangesUpdateIntervalMs + ) { + this.setRemoteEventListener( + newSettings.fetchChangesUpdateIntervalMs + ); + } + + if (newSettings.vaultName !== oldSettings.vaultName) { + void this.reset(); + } else if ( + newSettings.isSyncEnabled && + !oldSettings.isSyncEnabled + ) { + void this.start(); + } + } + ); + } public get logger(): Logger { return this._logger; @@ -128,27 +150,6 @@ export class SyncClient { } public async start(): Promise { - this.settings.addOnSettingsChangeListener( - (newSettings, oldSettings) => { - if ( - newSettings.fetchChangesUpdateIntervalMs !== - oldSettings.fetchChangesUpdateIntervalMs - ) { - this.setRemoteEventListener( - newSettings.fetchChangesUpdateIntervalMs - ); - } - - if ( - newSettings.vaultName !== oldSettings.vaultName || - newSettings.token !== oldSettings.token || - newSettings.remoteUri !== oldSettings.remoteUri - ) { - void this.reset(); - } - } - ); - await this.syncer.scheduleSyncForOfflineChanges(); this.setRemoteEventListener( diff --git a/frontend/sync-client/src/tracing/sync-history.ts b/frontend/sync-client/src/tracing/sync-history.ts index ec8841e9..7d3b8f9a 100644 --- a/frontend/sync-client/src/tracing/sync-history.ts +++ b/frontend/sync-client/src/tracing/sync-history.ts @@ -33,7 +33,7 @@ export interface HistoryStats { } export class SyncHistory { - private static readonly MAX_ENTRIES = 5000; + private static readonly MAX_ENTRIES = 500; private readonly entries: HistoryEntry[] = [];