Expose new advanced settings

This commit is contained in:
Andras Schmelczer 2025-11-23 16:50:03 +00:00
parent c4da1426b1
commit 4b195b070d

View file

@ -322,7 +322,7 @@ export class SyncSettingsTab extends PluginSettingTab {
)
.addButton((button) =>
button.setButtonText("Reset sync state").onClick(async () => {
await this.syncClient.reset();
await this.syncClient.applyChangedConnectionSettings();
new Notice(
"Sync state has been reset, you will need to resync"
);
@ -348,6 +348,76 @@ export class SyncSettingsTab extends PluginSettingTab {
this.syncClient.setSetting("enableTelemetry", value)
)
);
containerEl.createEl("h3", { text: "Advanced" });
new Setting(containerEl)
.setName("Network retry interval (ms)")
.setDesc(
"The time to wait between retrying failed network requests, in milliseconds."
)
.addText((input) =>
input
.setValue(
this.syncClient
.getSettings()
.networkRetryIntervalMs.toString()
)
.onChange(async (value) => {
if (value === "") {
return;
}
let parsedValue = Number.parseInt(value, 10);
if (Number.isNaN(parsedValue) || parsedValue < 0) {
parsedValue =
this.syncClient.getSettings()
.networkRetryIntervalMs;
}
if (value !== parsedValue.toString()) {
input.setValue(parsedValue.toString());
}
return this.syncClient.setSetting(
"networkRetryIntervalMs",
parsedValue
);
})
);
new Setting(containerEl)
.setName("Minimum save interval (ms)")
.setDesc(
"The minimum time between saving settings and database to disk, in milliseconds. Lower values save more frequently but may impact performance."
)
.addText((input) =>
input
.setValue(
this.syncClient
.getSettings()
.minimumSaveIntervalMs.toString()
)
.onChange(async (value) => {
if (value === "") {
return;
}
let parsedValue = Number.parseInt(value, 10);
if (Number.isNaN(parsedValue) || parsedValue < 0) {
parsedValue =
this.syncClient.getSettings()
.minimumSaveIntervalMs;
}
if (value !== parsedValue.toString()) {
input.setValue(parsedValue.toString());
}
return this.syncClient.setSetting(
"minimumSaveIntervalMs",
parsedValue
);
})
);
}
private setStatusDescriptionSubscription(