Delete references to fetchChangesUpdateIntervalMs
This commit is contained in:
parent
5eaaca536f
commit
48ca6e7f7e
4 changed files with 1 additions and 77 deletions
|
|
@ -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(
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue