Clarify the file inspection action

This commit is contained in:
vorotamoroz
2026-07-26 12:44:36 +00:00
parent 12061b7bf3
commit da4b188b38
7 changed files with 10 additions and 7 deletions
+1 -1
View File
@@ -41,7 +41,7 @@ The `Hatch` recovery controls are ordered by escalation. Running **Recreate chun
1. Stop editing the affected file, pause replication on the participating devices, and keep a separate copy of every readable version.
2. If another device or backup has the intended content, preserve that copy before changing any revision.
3. If the current Vault file is readable, select **Recreate current chunks**. This can restore only chunks derived from the current Vault contents; it cannot reconstruct unique bytes from an unavailable historical or conflict revision.
4. Select **Inspect conflicts and file/database differences****Scan all files**.
4. Select **Inspect conflicts and file/database differences****Begin inspection**.
5. Review the database winner, every conflict revision, and any unavailable shared ancestor separately. Revision identifiers, `Δsize`, `Δtime`, and chunk availability are diagnostic evidence; they do not decide which content is correct.
6. Use the wrench menu on the exact revision:
- **Compare with Vault** opens a read-only comparison for readable text.
+1 -1
View File
@@ -735,7 +735,7 @@ Recreate chunks from files currently present in the Vault. This can repair missi
Compare each Vault file with every current live revision in the local database. Each winner and conflict revision is shown separately with its exact revision identifier, local chunk availability, and relationship to the current Vault file. Unavailable shared ancestors are reported separately because they prevent conservative three-way merging but are not live revisions which can be discarded.
Select **Scan all files** to run the inspection. Each reported file and live revision has a wrench menu for read-only comparison, applying an exact database revision to the Vault, recording an exact byte match, preserving the Vault file as a child of a selected branch, retrying chunk retrieval, or explicitly discarding a branch. Destructive actions require confirmation. Follow [Recover a conflicted or mismatched file](recovery.md#recover-a-conflicted-or-mismatched-file) before changing revision history.
Select **Begin inspection** to run the inspection. Each reported file and live revision has a wrench menu for read-only comparison, applying an exact database revision to the Vault, recording an exact byte match, preserving the Vault file as a child of a selected branch, retrying chunk retrieval, or explicitly discarding a branch. Destructive actions require confirmation. Follow [Recover a conflicted or mismatched file](recovery.md#recover-a-conflicted-or-mismatched-file) before changing revision history.
#### Resolve All conflicted files by the newer one
@@ -144,7 +144,7 @@ export const liveSyncProvisionalEnglishMessages = {
"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 all files": "Scan all files",
"Begin inspection": "Begin inspection",
"Connection settings": "Connection settings",
"Saved connections": "Saved connections",
} as const;
@@ -832,7 +832,7 @@ export function paneHatch(this: ObsidianLiveSyncSettingTab, paneEl: HTMLElement,
)
.addButton((button) =>
button
.setButtonText($msg("Scan all files"))
.setButtonText($msg("Begin inspection"))
.setDisabled(false)
.setCta()
.onClick(async () => {
+2 -2
View File
@@ -797,7 +797,7 @@ async function verifyHatchSurfacesAndSafeActions(): Promise<string> {
state: "visible",
timeout: uiTimeoutMs,
});
await liveSyncSettings.getByRole("button", { name: "Scan all files", exact: true }).waitFor({
await liveSyncSettings.getByRole("button", { name: "Begin inspection", exact: true }).waitFor({
state: "visible",
timeout: uiTimeoutMs,
});
@@ -918,7 +918,7 @@ async function verifyHatchSurfacesAndSafeActions(): Promise<string> {
await page
.locator(".sls-setting:visible")
.last()
.getByRole("button", { name: "Scan all files", exact: true })
.getByRole("button", { name: "Begin inspection", exact: true })
.click({
timeout: uiTimeoutMs,
});
+1 -1
View File
@@ -373,7 +373,7 @@ async function main(): Promise<void> {
exact: true,
}),
});
await verifySetting.getByRole("button", { name: "Scan all files", exact: true }).click({
await verifySetting.getByRole("button", { name: "Begin inspection", exact: true }).click({
timeout: uiTimeoutMs,
});
const card = repairCard(settings);
+3
View File
@@ -14,14 +14,17 @@ Earlier releases remain available in the 0.25 release history and the legacy rel
### Improved
- The Hatch action for **Inspect conflicts and file/database differences** is now labelled **Begin inspection** so that its purpose is clear without repeating the scope already stated by the setting.
- **Inspect conflicts and file/database differences** now compares the current Vault file with every live database revision. Compact, mobile-friendly indicators show missing chunks, `Δsize`, `Δtime`, whether the Vault matches the winner, and whether conflict branches remain. Each revision's wrench menu can compare readable text, reflect that exact revision to the Vault, record an exact byte match, store the Vault content as a child of that branch, or discard only that branch.
### Fixed
- Start-up file scans now omit legacy LiveSync log files and flag files before comparing Vault and local-database state. Existing ignored database records remain untouched and no longer produce misleading restore or deletion warnings.
- A winning logical deletion is no longer reported as a missing Vault file when the file is already absent.
### Testing
- Added Commonlib collection regressions for built-in ignored files, and updated the Real Obsidian inspection and revision-repair scenarios for the clearer action label.
- Strengthened Real Obsidian coverage for start-up with an existing configuration, Security Seed readiness, failure diagnostics, and P2P status pane placement in separate desktop and mobile sessions.
## 1.0.0-beta.4