Delete references to fetchChangesUpdateIntervalMs

This commit is contained in:
Andras Schmelczer 2025-03-25 21:38:09 +00:00
commit 48ca6e7f7e
No known key found for this signature in database
GPG key ID: FC8F2C3D3D1A718C
4 changed files with 1 additions and 77 deletions

View file

@ -246,29 +246,6 @@ export class SyncSettingsTab extends PluginSettingTab {
) )
); );
new Setting(containerEl)
.setName("Remote fetching frequency (seconds)")
.setDesc(
"Set how often should the plugin check for changes on the server. Lower values will increase the frequency of the checks making it easier to collaborate with others."
)
.setTooltip("todo, links to docs")
.addSlider((text) =>
text
.setLimits(0.5, 60, 0.5)
.setDynamicTooltip()
.setInstant(false)
.setValue(
this.syncClient.getSettings()
.fetchChangesUpdateIntervalMs / 1000
)
.onChange(async (value) =>
this.syncClient.setSetting(
"fetchChangesUpdateIntervalMs",
value * 1000
)
)
);
new Setting(containerEl) new Setting(containerEl)
.setName("Sync concurrency") .setName("Sync concurrency")
.setDesc( .setDesc(

View file

@ -1,11 +1,9 @@
import type { Logger } from "../tracing/logger"; import type { Logger } from "../tracing/logger";
import { LogLevel } from "../tracing/logger";
export interface SyncSettings { export interface SyncSettings {
remoteUri: string; remoteUri: string;
token: string; token: string;
vaultName: string; vaultName: string;
fetchChangesUpdateIntervalMs: number;
syncConcurrency: number; syncConcurrency: number;
isSyncEnabled: boolean; isSyncEnabled: boolean;
maxFileSizeMB: number; maxFileSizeMB: number;
@ -15,7 +13,6 @@ const DEFAULT_SETTINGS: SyncSettings = {
remoteUri: "", remoteUri: "",
token: "", token: "",
vaultName: "default", vaultName: "default",
fetchChangesUpdateIntervalMs: 1000,
syncConcurrency: 1, syncConcurrency: 1,
isSyncEnabled: false, isSyncEnabled: false,
maxFileSizeMB: 10 maxFileSizeMB: 10

View file

@ -17,8 +17,6 @@ import { ConnectionStatus } from "./services/connection-status";
import { UnrestrictedSyncer } from "./sync-operations/unrestricted-syncer"; import { UnrestrictedSyncer } from "./sync-operations/unrestricted-syncer";
export class SyncClient { export class SyncClient {
private remoteListenerIntervalId: NodeJS.Timeout | null = null;
// eslint-disable-next-line @typescript-eslint/max-params // eslint-disable-next-line @typescript-eslint/max-params
private constructor( private constructor(
private readonly history: SyncHistory, private readonly history: SyncHistory,
@ -31,15 +29,6 @@ export class SyncClient {
) { ) {
this.settings.addOnSettingsChangeListener( this.settings.addOnSettingsChangeListener(
(newSettings, oldSettings) => { (newSettings, oldSettings) => {
if (
newSettings.fetchChangesUpdateIntervalMs !==
oldSettings.fetchChangesUpdateIntervalMs
) {
this.setRemoteEventListener(
newSettings.fetchChangesUpdateIntervalMs
);
}
if (newSettings.vaultName !== oldSettings.vaultName) { if (newSettings.vaultName !== oldSettings.vaultName) {
void this.reset(); void this.reset();
} }
@ -161,27 +150,16 @@ export class SyncClient {
public async start(): Promise<void> { public async start(): Promise<void> {
await this.syncer.scheduleSyncForOfflineChanges(); await this.syncer.scheduleSyncForOfflineChanges();
this.setRemoteEventListener(
this.settings.getSettings().fetchChangesUpdateIntervalMs
);
}
/// Clear all global state that has been touched by SyncClient.
public stop(): void {
this.unsetRemoteEventListener();
} }
public async waitAndStop(): Promise<void> { public async waitAndStop(): Promise<void> {
await this.syncer.waitUntilFinished(); await this.syncer.waitUntilFinished();
this.stop();
} }
/// Wait for the in-flight operations to finish, reset all tracking, /// Wait for the in-flight operations to finish, reset all tracking,
/// and the local database but retain the settings. /// and the local database but retain the settings.
/// The SyncClient can be used again after calling this method. /// The SyncClient can be used again after calling this method.
public async reset(): Promise<void> { public async reset(): Promise<void> {
this.stop();
this.connectionStatus.startReset(); this.connectionStatus.startReset();
await this.syncer.reset(); await this.syncer.reset();
this.history.reset(); this.history.reset();
@ -242,21 +220,4 @@ export class SyncClient {
relativePath relativePath
}); });
} }
private setRemoteEventListener(intervalMs: number): void {
if (this.remoteListenerIntervalId !== null) {
clearInterval(this.remoteListenerIntervalId);
}
this.remoteListenerIntervalId = setInterval(
() => void this.syncer.applyRemoteChangesLocally(),
intervalMs
);
}
private unsetRemoteEventListener(): void {
if (this.remoteListenerIntervalId !== null) {
clearInterval(this.remoteListenerIntervalId);
}
}
} }

View file

@ -88,8 +88,7 @@ export class MockAgent extends MockClient {
public async act(): Promise<void> { public async act(): Promise<void> {
const options: (() => Promise<unknown>)[] = [ const options: (() => Promise<unknown>)[] = [
this.createFileAction.bind(this), this.createFileAction.bind(this)
this.changeFetchChangesUpdateIntervalMsAction.bind(this)
]; ];
if (this.client.getSettings().isSyncEnabled) { if (this.client.getSettings().isSyncEnabled) {
@ -253,16 +252,6 @@ export class MockAgent extends MockClient {
return this.create(file, new TextEncoder().encode(` ${content} `)); return this.create(file, new TextEncoder().encode(` ${content} `));
} }
private async changeFetchChangesUpdateIntervalMsAction(): Promise<void> {
this.client.logger.info(
`Decided to change fetchChangesUpdateIntervalMs`
);
return this.client.setSetting(
"fetchChangesUpdateIntervalMs",
Math.random() * 2000 + 100
);
}
private async disableSyncAction(): Promise<void> { private async disableSyncAction(): Promise<void> {
this.client.logger.info(`Decided to disable sync`); this.client.logger.info(`Decided to disable sync`);
await this.client.setSetting("isSyncEnabled", false); await this.client.setSetting("isSyncEnabled", false);