Merge pull request #1024 from vrtmrz/0_25_82

Releasing 0.25.82
This commit is contained in:
vorotamoroz
2026-07-16 00:07:44 +09:00
committed by GitHub
10 changed files with 79 additions and 23 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "obsidian-livesync",
"name": "Self-hosted LiveSync",
"version": "0.25.81",
"version": "0.25.82",
"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",
+8 -8
View File
@@ -1,12 +1,12 @@
{
"name": "obsidian-livesync",
"version": "0.25.81",
"version": "0.25.82",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "obsidian-livesync",
"version": "0.25.81",
"version": "0.25.82",
"license": "MIT",
"workspaces": [
"src/apps/cli",
@@ -16226,11 +16226,11 @@
},
"src/apps/cli": {
"name": "self-hosted-livesync-cli",
"version": "0.25.81-cli",
"version": "0.25.82-cli",
"dependencies": {
"chokidar": "^4.0.0",
"minimatch": "^10.2.5",
"octagonal-wheels": "^0.1.50",
"octagonal-wheels": "^0.1.51",
"pouchdb-adapter-http": "^9.0.0",
"pouchdb-adapter-leveldb": "^9.0.0",
"pouchdb-core": "^9.0.0",
@@ -16252,9 +16252,9 @@
},
"src/apps/webapp": {
"name": "livesync-webapp",
"version": "0.25.81-webapp",
"version": "0.25.82-webapp",
"dependencies": {
"octagonal-wheels": "^0.1.50"
"octagonal-wheels": "^0.1.51"
},
"devDependencies": {
"@playwright/test": "^1.58.2",
@@ -16267,9 +16267,9 @@
}
},
"src/apps/webpeer": {
"version": "0.25.81-webpeer",
"version": "0.25.82-webpeer",
"dependencies": {
"octagonal-wheels": "^0.1.50"
"octagonal-wheels": "^0.1.51"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^7.1.2",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "obsidian-livesync",
"version": "0.25.81",
"version": "0.25.82",
"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",
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "self-hosted-livesync-cli",
"private": true,
"version": "0.25.81-cli",
"version": "0.25.82-cli",
"main": "dist/index.cjs",
"type": "module",
"scripts": {
@@ -41,7 +41,7 @@
"dependencies": {
"chokidar": "^4.0.0",
"minimatch": "^10.2.5",
"octagonal-wheels": "^0.1.50",
"octagonal-wheels": "^0.1.51",
"pouchdb-adapter-http": "^9.0.0",
"pouchdb-adapter-leveldb": "^9.0.0",
"pouchdb-core": "^9.0.0",
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "livesync-webapp",
"private": true,
"version": "0.25.81-webapp",
"version": "0.25.82-webapp",
"type": "module",
"description": "Browser-based Self-hosted LiveSync using FileSystem API",
"scripts": {
@@ -12,7 +12,7 @@
"preview": "vite preview"
},
"dependencies": {
"octagonal-wheels": "^0.1.50"
"octagonal-wheels": "^0.1.51"
},
"devDependencies": {
"@playwright/test": "^1.58.2",
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "webpeer",
"private": true,
"version": "0.25.81-webpeer",
"version": "0.25.82-webpeer",
"type": "module",
"scripts": {
"dev": "vite",
@@ -12,7 +12,7 @@
"check": "svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json"
},
"dependencies": {
"octagonal-wheels": "^0.1.50"
"octagonal-wheels": "^0.1.51"
},
"devDependencies": {
"eslint-plugin-svelte": "^3.19.0",
+14
View File
@@ -105,6 +105,13 @@ for (const dir of workspaceDirs) {
console.log(` Dependency '${dep}': ${oldVer} -> ${newVer}`);
pkg.dependencies[dep] = newVer;
}
if (lockWorkspace) {
lockWorkspace.dependencies ??= {};
if (lockWorkspace.dependencies[dep] !== newVer) {
lockWorkspace.dependencies[dep] = newVer;
packageLockChanged = true;
}
}
}
}
}
@@ -119,6 +126,13 @@ for (const dir of workspaceDirs) {
console.log(` DevDependency '${dep}': ${oldVer} -> ${newVer}`);
pkg.devDependencies[dep] = newVer;
}
if (lockWorkspace) {
lockWorkspace.devDependencies ??= {};
if (lockWorkspace.devDependencies[dep] !== newVer) {
lockWorkspace.devDependencies[dep] = newVer;
packageLockChanged = true;
}
}
}
}
}
+15 -1
View File
@@ -5,9 +5,15 @@ The head note of 0.25 is now in [updates_old.md](https://github.com/vrtmrz/obsid
## Unreleased
## 0.25.82
15th July, 2026
Recently, I created a repository called Fancy Kit and have been trying to build some proper infrastructure around it. Does any of this look like cumbersome bureaucracy? No need to worry: you can carry on as usual. Codex is simply tidying up my usual rambling prose, terrible pull requests, and disjointed remarks.
### Fixed
- Refresh the remote Security Seed before each replication, preventing a client that remained open during a remote database rebuild from uploading data encrypted with the previous seed (#1018).
- Refreshed the remote Security Seed before each replication, preventing a client that remained open during a remote database rebuild from uploading data encrypted with the previous seed (#1018).
- The P2P **Start Sync & Close** action now waits for synchronisation to settle before closing the dialogue, avoiding premature release of screen-awake protection while work remains in flight.
### Improved
@@ -15,6 +21,14 @@ The head note of 0.25 is now in [updates_old.md](https://github.com/vrtmrz/obsid
- On supported mobile and desktop devices, one-shot replication, P2P peer discovery and selection, database rebuild and fetch operations, and remote chunk fetching now keep the screen awake for the duration of these finite remote operations. LiveSync also postpones its normal visibility suspension until the operation finishes, although platform restrictions may still pause or terminate background work.
- The 📲 status-bar indicator now covers finite remote work as well as HTTP requests. It reports broad remote activity, such as P2P peer selection and remote chunk fetching, rather than an exact physical connection count.
### Improved (CLI)
- CLI container images are now published for both AMD64 and ARM64 platforms.
### Testing
- Added a local real-Obsidian compatibility test that writes an encrypted, path-obfuscated note through the LiveSync CLI and verifies that the plug-in materialises the same content.
## 0.25.81
14th July, 2026
+32 -5
View File
@@ -167,9 +167,18 @@ describe("workspace version update", () => {
it("keeps workspace package and lockfile versions together", () => {
const directory = makeTemporaryDirectory();
const workspaces = ["src/apps/cli", "src/apps/webpeer", "src/apps/webapp"];
writeJson(directory, "package.json", { version: "0.25.81", workspaces });
writeJson(directory, "package.json", {
version: "0.25.81",
workspaces,
dependencies: { "octagonal-wheels": "^0.1.51" },
devDependencies: { typescript: "^5.9.3" },
});
for (const workspace of ["cli", "webpeer", "webapp"]) {
writeJson(directory, `src/apps/${workspace}/package.json`, { version: `0.25.80-${workspace}` });
writeJson(directory, `src/apps/${workspace}/package.json`, {
version: `0.25.80-${workspace}`,
dependencies: { "octagonal-wheels": "^0.1.50" },
devDependencies: { typescript: "^5.8.0" },
});
}
writeJson(directory, "package-lock.json", {
name: "obsidian-livesync",
@@ -177,9 +186,21 @@ describe("workspace version update", () => {
lockfileVersion: 3,
packages: {
"": { version: "0.25.80", workspaces },
"src/apps/cli": { version: "0.25.80-cli" },
"src/apps/webpeer": { version: "0.25.80-webpeer" },
"src/apps/webapp": { version: "0.25.80-webapp" },
"src/apps/cli": {
version: "0.25.80-cli",
dependencies: { "octagonal-wheels": "^0.1.50" },
devDependencies: { typescript: "^5.8.0" },
},
"src/apps/webpeer": {
version: "0.25.80-webpeer",
dependencies: { "octagonal-wheels": "^0.1.50" },
devDependencies: { typescript: "^5.8.0" },
},
"src/apps/webapp": {
version: "0.25.80-webapp",
dependencies: { "octagonal-wheels": "^0.1.50" },
devDependencies: { typescript: "^5.8.0" },
},
},
});
@@ -189,6 +210,8 @@ describe("workspace version update", () => {
for (const workspace of ["cli", "webpeer", "webapp"]) {
const packageJson = JSON.parse(readFileSync(join(directory, `src/apps/${workspace}/package.json`), "utf8"));
expect(packageJson.version).toBe(`0.25.81-${workspace}`);
expect(packageJson.dependencies["octagonal-wheels"]).toBe("^0.1.51");
expect(packageJson.devDependencies.typescript).toBe("^5.9.3");
}
const packageLock = JSON.parse(readFileSync(join(directory, "package-lock.json"), "utf8"));
expect(packageLock.version).toBe("0.25.81");
@@ -196,5 +219,9 @@ describe("workspace version update", () => {
expect(packageLock.packages["src/apps/cli"].version).toBe("0.25.81-cli");
expect(packageLock.packages["src/apps/webpeer"].version).toBe("0.25.81-webpeer");
expect(packageLock.packages["src/apps/webapp"].version).toBe("0.25.81-webapp");
for (const workspace of workspaces) {
expect(packageLock.packages[workspace].dependencies["octagonal-wheels"]).toBe("^0.1.51");
expect(packageLock.packages[workspace].devDependencies.typescript).toBe("^5.9.3");
}
});
});
+2 -1
View File
@@ -3,5 +3,6 @@
"0.25.60": "1.7.2",
"1.0.1": "0.9.12",
"1.0.0": "0.9.7",
"0.25.81": "1.7.2"
"0.25.81": "1.7.2",
"0.25.82": "1.7.2"
}