Add safe Metadata document ID repair

This commit is contained in:
vorotamoroz
2026-08-12 18:56:17 +00:00
parent eda78dee36
commit c933674a0d
13 changed files with 715 additions and 9 deletions
@@ -150,9 +150,38 @@ export const liveSyncProvisionalEnglishMessages = {
"Resolve every conflict by modification time? This logically deletes every version except the newest one and cannot recover content which is already unavailable.",
"Resolve all conflicts by the newest version": "Resolve all conflicts by the newest version",
"Inspect conflicts and file/database differences": "Inspect conflicts and file/database differences",
"Scan every Vault file and live local-database revision for conflicts, missing chunks, and differences. Each result provides actions for the exact revision.":
"Scan every Vault file and live local-database revision for conflicts, missing chunks, and differences. Each result provides actions for the exact revision.",
"Scan Vault files and local-database Metadata for conflicts, missing chunks, identity mismatches, and differences. Each result provides actions for one exact entry or revision.":
"Scan Vault files and local-database Metadata for conflicts, missing chunks, identity mismatches, and differences. Each result provides actions for one exact entry or revision.",
"Begin inspection": "Begin inspection",
"Metadata entry requires review and was left unchanged": "Metadata entry requires review and was left unchanged",
"The stored document ID does not match the ID derived from its recorded path.":
"The stored document ID does not match the ID derived from its recorded path.",
"The stored document ID and recorded path are handled by different synchronisation features.":
"The stored document ID and recorded path are handled by different synchronisation features.",
"Stored document ID: ${ID}": "Stored document ID: ${ID}",
"Expected document ID: ${ID}": "Expected document ID: ${ID}",
"Source revision: ${REVISION}": "Source revision: ${REVISION}",
"One-step repair is unavailable because this entry is ambiguous, no longer current, or unsafe to change.":
"One-step repair is unavailable because this entry is ambiguous, no longer current, or unsafe to change.",
"An exact target is already present; repair can remove the obsolete ID.":
"An exact target is already present; repair can remove the obsolete ID.",
"Repair is available for this entry.": "Repair is available for this entry.",
"Repair this Metadata document ID": "Repair this Metadata document ID",
"Repair Metadata ID": "Repair Metadata ID",
"Keep unchanged": "Keep unchanged",
"Repair Metadata document ID": "Repair Metadata document ID",
"This moves one local Metadata entry to the ID derived from its recorded path.\n\n**File:** `${FILE}` \n**Source:** `${SOURCE}@${REVISION}` \n**Target:** `${TARGET}`\n\nThe target is verified before the source is removed. Its CouchDB revision ancestry cannot be preserved.\n\n> [!warning] Before repairing\n> - Back up this device.\n> - If file-name case or path obfuscation was intentionally changed for the whole database, use Rebuild instead.\n> - If other devices share this database, pause them, allow this device to upload the repair, then resume them one at a time.":
"This moves one local Metadata entry to the ID derived from its recorded path.\n\n**File:** `${FILE}` \n**Source:** `${SOURCE}@${REVISION}` \n**Target:** `${TARGET}`\n\nThe target is verified before the source is removed. Its CouchDB revision ancestry cannot be preserved.\n\n> [!warning] Before repairing\n> - Back up this device.\n> - If file-name case or path obfuscation was intentionally changed for the whole database, use Rebuild instead.\n> - If other devices share this database, pause them, allow this device to upload the repair, then resume them one at a time.",
"Metadata document ID repair and the ordinary Vault scan completed. Run this inspection again after synchronisation.":
"Metadata document ID repair and the ordinary Vault scan completed. Run this inspection again after synchronisation.",
"Metadata document ID repair completed, but the ordinary Vault scan did not run. Keep synchronisation paused, resolve the scan condition, then run 'Scan storage and database again'.":
"Metadata document ID repair completed, but the ordinary Vault scan did not run. Keep synchronisation paused, resolve the scan condition, then run 'Scan storage and database again'.",
"The inspected state changed. No repair was performed; run inspection again.":
"The inspected state changed. No repair was performed; run inspection again.",
"Repair stopped after creating the target. The source was retained. Run inspection again before retrying.":
"Repair stopped after creating the target. The source was retained. Run inspection again before retrying.",
"Repair failed before the source was removed. Run inspection again before retrying.":
"Repair failed before the source was removed. Run inspection again before retrying.",
"Connection settings": "Connection settings",
"Saved connections": "Saved connections",
} as const;