Align host settings with the 1.0 lifecycle

This commit is contained in:
vorotamoroz
2026-07-20 13:20:48 +00:00
parent 52e7bd25da
commit 80d1416a81
28 changed files with 360 additions and 57 deletions
@@ -0,0 +1,10 @@
import type { ObsidianLiveSyncSettings } from "@vrtmrz/livesync-commonlib/compat/common/types";
import { createNewVaultSettings } from "@vrtmrz/livesync-commonlib/settings";
export function createEditingSettingsAfterFullReset<T extends ObsidianLiveSyncSettings>(editingSettings: T): T {
return { ...editingSettings, ...createNewVaultSettings(), isConfigured: false };
}
export function createCoreSettingsAfterFullReset(): ObsidianLiveSyncSettings {
return { ...createNewVaultSettings(), isConfigured: false };
}
@@ -0,0 +1,27 @@
import { describe, expect, it } from "vitest";
import { DEFAULT_SETTINGS, type ObsidianLiveSyncSettings } from "@vrtmrz/livesync-commonlib/compat/common/types";
import { createNewVaultSettings } from "@vrtmrz/livesync-commonlib/settings";
import { createCoreSettingsAfterFullReset, createEditingSettingsAfterFullReset } from "./settingsReset.ts";
describe("full settings reset", () => {
it("resets the persisted settings to the recommended new-Vault values", () => {
const settings = createCoreSettingsAfterFullReset();
expect(settings).toEqual({
...createNewVaultSettings(),
isConfigured: false,
});
});
it("preserves settings-dialog fields while applying the new-Vault values", () => {
const editing = {
...DEFAULT_SETTINGS,
configPassphrase: "dialog-only",
} as ObsidianLiveSyncSettings & { configPassphrase: string };
expect(createEditingSettingsAfterFullReset(editing)).toEqual({
...editing,
...createNewVaultSettings(),
isConfigured: false,
});
});
});