Preserve legacy settings across same-profile upgrades

This commit is contained in:
vorotamoroz
2026-07-22 06:21:54 +00:00
parent c669f64933
commit aad0e56f09
22 changed files with 2258 additions and 167 deletions
@@ -1,9 +1,6 @@
import { Notice } from "@/deps.ts";
import type { Confirm } from "@vrtmrz/livesync-commonlib/compat/interfaces/Confirm";
import {
requiresFilenameCaseSensitivityDecision,
type CompatibilityPause,
} from "@/common/databaseCompatibility.ts";
import type { CompatibilityPause } from "@/common/databaseCompatibility.ts";
import type {
CompatibilityReviewDetailsAction,
CompatibilityReviewSummaryAction,
@@ -16,7 +13,6 @@ import {
const REVIEW_DETAILS = "Review compatibility details";
const KEEP_PAUSED = "Keep synchronisation paused";
const USE_CASE_SENSITIVE = "Keep case-sensitive handling and resume";
const RESUME = "Resume synchronisation";
const BACK = "Back to compatibility review";
@@ -28,9 +24,7 @@ export class ObsidianCompatibilityReviewUi implements CompatibilityReviewUi {
async showSummary(pause: CompatibilityPause): Promise<CompatibilityReviewSummaryAction> {
const buttons = !pause.resumable
? ([REVIEW_DETAILS, KEEP_PAUSED] as const)
: requiresFilenameCaseSensitivityDecision(pause)
? ([REVIEW_DETAILS, USE_CASE_SENSITIVE, KEEP_PAUSED] as const)
: ([REVIEW_DETAILS, RESUME, KEEP_PAUSED] as const);
: ([REVIEW_DETAILS, RESUME, KEEP_PAUSED] as const);
const result = await this.confirm.confirmWithMessage(
"Synchronisation paused for compatibility review",
compatibilityReviewSummaryMarkdown(pause),
@@ -40,7 +34,6 @@ export class ObsidianCompatibilityReviewUi implements CompatibilityReviewUi {
"vertical"
);
if (result === REVIEW_DETAILS) return "details";
if (result === USE_CASE_SENSITIVE) return "use-case-sensitive";
if (result === RESUME) return "resume";
if (result === KEEP_PAUSED) return "keep-paused";
return false;