diff --git a/manifest.json b/manifest.json index 14a5038d..98230118 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-livesync", "name": "Self-hosted LiveSync", - "version": "1.0.45", + "version": "1.0.46", "minAppVersion": "1.7.2", "description": "Community implementation of self-hosted livesync. Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.", "author": "vorotamoroz", diff --git a/package-lock.json b/package-lock.json index 6616e73e..e6be3386 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "obsidian-livesync", - "version": "1.0.45", + "version": "1.0.46", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "obsidian-livesync", - "version": "1.0.45", + "version": "1.0.46", "license": "MIT", "workspaces": [ "src/apps/cli", @@ -11660,7 +11660,7 @@ }, "src/apps/cli": { "name": "self-hosted-livesync-cli", - "version": "1.0.45-cli", + "version": "1.0.46-cli", "dependencies": { "@aws-crypto/sha256-js": "5.2.0", "chokidar": "^4.0.0", @@ -11686,7 +11686,7 @@ }, "src/apps/webapp": { "name": "livesync-webapp", - "version": "1.0.45-webapp", + "version": "1.0.46-webapp", "dependencies": { "octagonal-wheels": "0.1.56" }, @@ -11698,7 +11698,7 @@ } }, "src/apps/webpeer": { - "version": "1.0.45-webpeer", + "version": "1.0.46-webpeer", "dependencies": { "octagonal-wheels": "0.1.56" }, diff --git a/package.json b/package.json index 0bcf3773..27e470d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "obsidian-livesync", - "version": "1.0.45", + "version": "1.0.46", "description": "Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.", "main": "main.js", "type": "module", diff --git a/src/apps/cli/package.json b/src/apps/cli/package.json index a840cabc..2c92dbd6 100644 --- a/src/apps/cli/package.json +++ b/src/apps/cli/package.json @@ -1,7 +1,7 @@ { "name": "self-hosted-livesync-cli", "private": true, - "version": "1.0.45-cli", + "version": "1.0.46-cli", "main": "dist/index.cjs", "type": "module", "scripts": { diff --git a/src/apps/webapp/package.json b/src/apps/webapp/package.json index 8da36b8e..acc81043 100644 --- a/src/apps/webapp/package.json +++ b/src/apps/webapp/package.json @@ -1,7 +1,7 @@ { "name": "livesync-webapp", "private": true, - "version": "1.0.45-webapp", + "version": "1.0.46-webapp", "type": "module", "description": "Browser-based Self-hosted LiveSync using FileSystem API", "scripts": { diff --git a/src/apps/webpeer/package.json b/src/apps/webpeer/package.json index 8c2702c1..b2525902 100644 --- a/src/apps/webpeer/package.json +++ b/src/apps/webpeer/package.json @@ -1,7 +1,7 @@ { "name": "webpeer", "private": true, - "version": "1.0.45-webpeer", + "version": "1.0.46-webpeer", "type": "module", "scripts": { "dev": "vite", diff --git a/updates.md b/updates.md index 255c0bad..f779c23c 100644 --- a/updates.md +++ b/updates.md @@ -12,49 +12,42 @@ Earlier releases remain available in the 1.0 release history, the 1.0 preview hi ## Unreleased +## 1.0.46 + +7th November, 2026 + +P2P synchronisation can stop connecting when our devices are on different versions. And this is one of those versions. + +If we use P2P synchronisation, let us make sure all our devices are on the same version. + ### Fixed -#### Recovery +#### Synchronisation and recovery -- Files saved while host size information is stale retain the correct content size, preventing an incorrect size record from blocking reflection to other devices. (#1324) -- **Inspect conflicts and file/database differences** reports files whose recorded size differs from their readable content, and offers a guarded **Correct recorded file size** action when that exact content matches the Vault without conflicts. (#1324) +- Receiving devices no longer reject newly saved files with 'seems to be corrupted! Writing prevented' because rapid edits left the sender's cached file size out of date. New saves record the byte length of the content actually read. (#1324) + - Existing incorrect size records need explicit repair. Use **Inspect conflicts and file/database differences** → **Correct recorded file size** when the readable current database revision has no conflicts and matches the Vault exactly. The correction retains the file content and timestamps. + +#### P2P synchronisation + +- Peer actions and long device names now fit narrow panes. Larger buttons and wrapped labels keep the controls readable and usable. ### Improved #### P2P synchronisation -- P2P status shows Stats with diagnostic details collapsed by default. Expand - 'Diagnostic summary' to see the latest relay, peer, and synchronisation observations. - With Diag enabled, their events also appear in the Log Pane without updating - the editor status or producing notifications. - - Unobserved information is labelled explicitly. Relay rejection messages are - unavailable through the current transport API; an open room does not confirm - that a relay accepted its announcements. +- We can inspect the latest relay, peer, and synchronisation observations in **P2P Status**. Expand **Diagnostic summary** below **Stats**; detailed observations start collapsed. + - Enable **Diag** to show diagnostic events in the Log Pane without editor-status updates or notifications. Opening the Log Pane also displays its buffered messages. + - Unobserved information is labelled explicitly. An open room does not establish relay acceptance; relay rejection details remain unavailable through the diagnostic summary. -- Larger peer controls wrap onto additional lines in narrow panes, keeping action labels - readable alongside long device names. +- We can see sent (↑) and received (↓) database document revision counts in the P2P panes and editor status, and in the main status bar when P2P is our main remote. Counts include Metadata and Chunks, rather than Vault files. + - Directional ⏩ labels show changes-feed comparison progress, including when no revisions need transferring. Each label disappears three seconds after its count last changes; its absence alone does not establish completion. Peers without document statistics retain sequence values labelled `seq`. -- P2P progress shows sent (↑) and received (↓) document revision counts, including - Metadata and Chunks. Directional ⏩ labels show comparison progress even when no - transfer is needed, and disappear three seconds after their last count change. - - Counts appear in the P2P panes and editor status. Only P2P also uses them in - the main status bar. Older peers retain a sequence display labelled `seq`. +- The updated transport incorporates upstream improvements to peer discovery after relay reconnection, missed signalling messages, and stale connections after rejoining or waiting. Connection offers are created on demand. + - All communicating devices in our P2P group, including CLI and WebPeer clients, must be updated together before P2P synchronisation resumes. Trystero 0.26.0 cannot exchange data with the previous transport. -- P2P connections include upstream improvements to peer discovery after relay - reconnection, recovery from missed signalling messages, and stale connections - after rejoining or waiting. Connection offers are created on demand to reduce - idle resource use. - - Update every device in the P2P group, including CLI and WebPeer clients, - before resuming P2P synchronisation. The updated transport uses Trystero - 0.26.0 and cannot exchange data with the previous transport. +### Documentation -### Fixed - -#### Synchronisation - -- New saves record the byte length of the stored content, preventing stale host - file-size information from causing a receiving device to reject the file. (#1324) - - Existing incorrect Metadata needs explicit repair. +- Clarified backend selection and hosting requirements, including Object Storage request costs. Added a guide to P2P diagnostic observations, logs, and transfer progress. ## 1.0.45 diff --git a/versions.json b/versions.json index d2b48eb3..df885960 100644 --- a/versions.json +++ b/versions.json @@ -56,5 +56,6 @@ "1.0.42": "1.7.2", "1.0.43": "1.7.2", "1.0.44": "1.7.2", - "1.0.45": "1.7.2" + "1.0.45": "1.7.2", + "1.0.46": "1.7.2" }