Lint & fix bugs

This commit is contained in:
Andras Schmelczer 2024-12-20 16:16:09 +00:00
commit ee76a6e26e
No known key found for this signature in database
GPG key ID: FC8F2C3D3D1A718C

View file

@ -1,8 +1,10 @@
import { App, Notice, PluginSettingTab, Setting } from "obsidian"; import type { App } from "obsidian";
import { Notice, PluginSettingTab, Setting } from "obsidian";
import SyncPlugin from "src/plugin"; import type SyncPlugin from "src/plugin";
import { Database } from "src/database/database"; import type { Database } from "src/database/database";
import { SyncService } from "src/services/sync-service"; import type { SyncService } from "src/services/sync-service";
import type { SyncHistory } from "src/tracing/sync-history";
export class SyncSettingsTab extends PluginSettingTab { export class SyncSettingsTab extends PluginSettingTab {
private editedVaultName: string; private editedVaultName: string;
@ -10,18 +12,23 @@ export class SyncSettingsTab extends PluginSettingTab {
public constructor( public constructor(
app: App, app: App,
plugin: SyncPlugin, plugin: SyncPlugin,
private database: Database, private readonly database: Database,
private syncServer: SyncService private readonly syncServer: SyncService,
private readonly history: SyncHistory
) { ) {
super(app, plugin); super(app, plugin);
this.editedVaultName = this.database.getSettings().vaultName; this.editedVaultName = this.database.getSettings().vaultName;
this.database.addOnSettingsChangeHandlers((s) => { this.database.addOnSettingsChangeHandlers(
this.editedVaultName = s.vaultName; (newSettings, oldSettings) => {
this.display(); if (newSettings.vaultName !== oldSettings.vaultName) {
}); this.editedVaultName = newSettings.vaultName;
this.display();
}
}
);
} }
display(): void { public display(): void {
const { containerEl } = this; const { containerEl } = this;
containerEl.empty(); containerEl.empty();
@ -34,9 +41,9 @@ export class SyncSettingsTab extends PluginSettingTab {
) )
.addText((text) => .addText((text) =>
text text
.setPlaceholder("https://example.com:8080/obsidian") .setPlaceholder("https://example.com:3030")
.setValue(this.database.getSettings().remoteUri) .setValue(this.database.getSettings().remoteUri)
.onChange((value) => .onChange(async (value) =>
this.database.setSetting("remoteUri", value) this.database.setSetting("remoteUri", value)
) )
) )
@ -54,7 +61,7 @@ export class SyncSettingsTab extends PluginSettingTab {
); );
} }
} catch (e) { } catch (e) {
new Notice("Failed to connect to server: " + e); new Notice(`Failed to connect to server: ${e}`);
} }
}) })
) )
@ -65,13 +72,14 @@ export class SyncSettingsTab extends PluginSettingTab {
.setDynamicTooltip() .setDynamicTooltip()
.setInstant(false) .setInstant(false)
.setValue(this.database.getSettings().uploadConcurrency) .setValue(this.database.getSettings().uploadConcurrency)
.onChange((value) => .onChange(async (value) =>
this.database.setSetting("uploadConcurrency", value) this.database.setSetting("uploadConcurrency", value)
) )
) )
.addButton((button) => .addButton((button) =>
button.setButtonText("Reset sync state").onClick(async () => { button.setButtonText("Reset sync state").onClick(async () => {
await this.database.resetSyncState(); await this.database.resetSyncState();
this.history.reset();
new Notice( new Notice(
"Sync state has been reset, you will need to resync" "Sync state has been reset, you will need to resync"
); );
@ -98,8 +106,12 @@ export class SyncSettingsTab extends PluginSettingTab {
) { ) {
return; return;
} }
this.database.setSetting("vaultName", this.editedVaultName); await this.database.setSetting(
"vaultName",
this.editedVaultName
);
await this.database.resetSyncState(); await this.database.resetSyncState();
this.history.reset();
new Notice( new Notice(
"Sync state has been reset, you will need to resync" "Sync state has been reset, you will need to resync"
); );
@ -117,7 +129,7 @@ export class SyncSettingsTab extends PluginSettingTab {
text text
.setPlaceholder("ey...") .setPlaceholder("ey...")
.setValue(this.database.getSettings().token) .setValue(this.database.getSettings().token)
.onChange((value) => .onChange(async (value) =>
this.database.setSetting("token", value) this.database.setSetting("token", value)
) )
); );
@ -131,7 +143,7 @@ export class SyncSettingsTab extends PluginSettingTab {
.addToggle((toggle) => .addToggle((toggle) =>
toggle toggle
.setValue(this.database.getSettings().isSyncEnabled) .setValue(this.database.getSettings().isSyncEnabled)
.onChange((value) => .onChange(async (value) =>
this.database.setSetting("isSyncEnabled", value) this.database.setSetting("isSyncEnabled", value)
) )
) )
@ -143,7 +155,7 @@ export class SyncSettingsTab extends PluginSettingTab {
.setValue( .setValue(
this.database.getSettings().fetchChangesUpdateIntervalMs this.database.getSettings().fetchChangesUpdateIntervalMs
) )
.onChange((value) => .onChange(async (value) =>
this.database.setSetting( this.database.setSetting(
"fetchChangesUpdateIntervalMs", "fetchChangesUpdateIntervalMs",
value value