Improve postponed conflict resolution handling

Keep unresolved conflicts visible after Not now, reopen them only on explicit requests, and clear stale warning and dialogue state when a replicated resolution arrives. Add typed provisional English messages, revision-tree regressions, specifications, and a focused Real Obsidian E2E.
This commit is contained in:
vorotamoroz
2026-07-23 02:00:24 +00:00
parent 8d82a3a00c
commit d784799969
17 changed files with 728 additions and 44 deletions
+7 -1
View File
@@ -65,7 +65,9 @@ export type I18N_LANGS =
export type MESSAGE = { [key in I18N_LANGS]?: string };
import { Logger } from "octagonal-wheels/common/logger";
import type { CommonlibMessageKey } from "@vrtmrz/livesync-commonlib/context";
import type { MessageKeys } from "./messages/combinedMessages.dev.ts";
import type { LiveSyncProvisionalMessageKey } from "./messages/LiveSyncProvisionalMessages.ts";
export function expandKeywords<T extends Record<string, U>, U extends Record<string, string>>(
message: T,
@@ -114,4 +116,8 @@ export function expandKeywords<T extends Record<string, U>, U extends Record<str
return ret as T;
}
export type AllMessageKeys = MessageKeys;
/** Keys translated by LiveSync itself, including English-only provisional messages. */
export type LiveSyncCatalogueMessageKey = MessageKeys | LiveSyncProvisionalMessageKey;
/** Keys accepted by the composed LiveSync and Commonlib translation boundary. */
export type AllMessageKeys = LiveSyncCatalogueMessageKey | CommonlibMessageKey;