Pin published Commonlib 0.1.32 for Setup URI integration

This commit is contained in:
vorotamoroz
2026-09-29 06:36:47 +00:00
parent 03d8d3307d
commit cd49cfb767
7 changed files with 46 additions and 41 deletions
+27 -22
View File
@@ -1,8 +1,8 @@
---
date: 2026-09-28
commonlib-version: "0.1.31"
commonlib-version: "0.1.32"
feasibility-probe-version: "0.1.27"
self-hosted-livesync-version: "1.0.30"
self-hosted-livesync-version: "1.0.32"
status: implementing
---
@@ -23,10 +23,10 @@ the entered passphrase. Neither the mode nor a timestamp is stored in the URI.
The design is technically feasible with the existing encryption primitives.
An executable protocol probe passes 22 cases against Commonlib 0.1.27 and
octagonal-wheels 0.1.54. The implementation is based on Commonlib 0.1.31.
The 0.1.32-next.0 candidate has passed local package and downstream checks;
publication, exact dependency pins, the independent Deno lockfile update, and
mobile performance validation remain outstanding.
octagonal-wheels 0.1.54. The implementation is published as Commonlib 0.1.32
on the npm `next` tag. LiveSync pins that exact release in its npm dependency
and independent Deno tool imports. A mobile performance bound remains
outstanding.
This document records the proposed key derivation and integration contract. The
companion probe demonstrates them without changing an application entry point.
@@ -378,19 +378,24 @@ selection-boundary handling with an injected test clock and mobile behaviour on
supported runtime; do not change the host's system clock. No remote database
service is needed for the protocol tests themselves.
There is no identified architectural blocker. The 0.1.31-based Commonlib
candidate passes its type, unit, boundary, release-process, and packed-package
gates. LiveSync passes source checks, the unit suite, the Obsidian plug-in
build, and the WebPeer and CLI builds against that local tarball. The complete
unit suite passed with subprocess permissions needed by its CLI installer
fixtures. Focused real-Obsidian generation checks passed on desktop and
emulated mobile, including the displayed Time-bound end, Compatible output,
and mobile touch targets. Unit and protocol tests cover window boundaries and
preserve the existing distinction between an empty passphrase and cancellation.
The WebPeer browser test confirms that its monitor remains available after the
URI window ends for a device that has already imported the URI.
The Deno generator passed against the same local packed
candidate through a temporary import map. These results do not establish a
mobile performance bound or replace validation of the published package and
its lockfiles. The first implementation changes only primary-language
resources; translation changes require separate scope.
There is no identified blocker in the Time-bound URI protocol. The Commonlib
candidate based on 0.1.31 passed its type, unit, boundary, release-process,
and packed-package gates before the 0.1.32 release. A clean `npm ci` against
the published 0.1.32 artefact and the frozen Deno tool lock resolve the same
registry integrity.
LiveSync passes its source checks, 1,023 unit tests, the Deno setup-tool suite,
the CLI setup and file-operation contract, and the WebPeer browser tests.
Focused real-Obsidian generation checks pass on desktop and emulated mobile,
including the displayed Time-bound end, Compatible output, and mobile touch
targets. Unit and protocol tests cover window boundaries and preserve the
existing distinction between an empty passphrase and cancellation. The
WebPeer browser test confirms that its monitor remains available after the URI
window ends for a device that has already imported the URI. The full two-device
CouchDB workflow remains blocked before URI generation: Commonlib 0.1.32's
new-Vault default can declare remote feature generation 13, while this branch's
received-version handler still rejects every generation above 12. The host
integration for that separate feature must precede downstream validation;
relaxing only the version check would bypass its compatibility contract. These
results do not establish a mobile performance bound. The first implementation
changes only primary-language resources; translation changes require separate
scope.
+4 -4
View File
@@ -23,7 +23,7 @@
"@smithy/types": "^4.14.3",
"@smithy/util-retry": "^4.4.5",
"@vrtmrz/browser-ui-kit": "0.1.0",
"@vrtmrz/livesync-commonlib": "0.1.29",
"@vrtmrz/livesync-commonlib": "0.1.32",
"@vrtmrz/obsidian-plugin-kit": "0.1.4",
"@vrtmrz/ui-interactions": "0.1.2",
"diff-match-patch": "^1.0.5",
@@ -4567,9 +4567,9 @@
}
},
"node_modules/@vrtmrz/livesync-commonlib": {
"version": "0.1.29",
"resolved": "https://registry.npmjs.org/@vrtmrz/livesync-commonlib/-/livesync-commonlib-0.1.29.tgz",
"integrity": "sha512-PeBUUQNSuyS+ISPIvwK3rzaritHi0XDfNlFMOqaRpIbxGAWbWK0YDtE1Htbde3r8Lr3ZdTNjpY+Nmr//OxzgTA==",
"version": "0.1.32",
"resolved": "https://registry.npmjs.org/@vrtmrz/livesync-commonlib/-/livesync-commonlib-0.1.32.tgz",
"integrity": "sha512-gzjhd7bg+DKHhd/24WGxBM7557wsw3HJkc0YjKll1n8/8vuhqPnlLuZmM33fj+4bv9nGFUnDlnoVowpQrTns6w==",
"license": "MIT",
"dependencies": {
"@aws-sdk/client-s3": "^3.808.0",
+1 -1
View File
@@ -183,7 +183,7 @@
"@smithy/types": "^4.14.3",
"@smithy/util-retry": "^4.4.5",
"@vrtmrz/browser-ui-kit": "0.1.0",
"@vrtmrz/livesync-commonlib": "0.1.29",
"@vrtmrz/livesync-commonlib": "0.1.32",
"@vrtmrz/obsidian-plugin-kit": "0.1.4",
"@vrtmrz/ui-interactions": "0.1.2",
"diff-match-patch": "^1.0.5",
+2 -2
View File
@@ -1,5 +1,5 @@
// Keep CouchDB database-version negotiation isolated from Setup URI generation.
// The exact release must match utils/livesync-commonlib-version.ts; the setup
// tool suite checks every static specifier before release.
export { checkRemoteVersion } from "npm:@vrtmrz/livesync-commonlib@0.1.32-next.0/compat/pouchdb/negotiation";
export { PouchDB } from "npm:@vrtmrz/livesync-commonlib@0.1.32-next.0/compat/pouchdb/pouchdb-browser";
export { checkRemoteVersion } from "npm:@vrtmrz/livesync-commonlib@0.1.32/compat/pouchdb/negotiation";
export { PouchDB } from "npm:@vrtmrz/livesync-commonlib@0.1.32/compat/pouchdb/pouchdb-browser";
+5 -5
View File
@@ -1,7 +1,7 @@
{
"version": "5",
"specifiers": {
"npm:@vrtmrz/livesync-commonlib@0.1.0-rc.4": "0.1.0-rc.4"
"npm:@vrtmrz/livesync-commonlib@0.1.32": "0.1.32"
},
"npm": {
"@aws-sdk/checksums@3.1000.18": {
@@ -284,8 +284,8 @@
"@trystero-p2p/core"
]
},
"@vrtmrz/livesync-commonlib@0.1.0-rc.4": {
"integrity": "sha512-u4FdbjnYg7lAf38z7eUv4eq4vxEdrl4rFMxiDZiJ7T701awKiflkXGIJQnaHdLaMa3zkRBU15qqEo7GtextmlA==",
"@vrtmrz/livesync-commonlib@0.1.32": {
"integrity": "sha512-gzjhd7bg+DKHhd/24WGxBM7557wsw3HJkc0YjKll1n8/8vuhqPnlLuZmM33fj+4bv9nGFUnDlnoVowpQrTns6w==",
"dependencies": [
"@aws-sdk/client-s3",
"@smithy/fetch-http-handler",
@@ -509,8 +509,8 @@
"whatwg-url"
]
},
"octagonal-wheels@0.1.51": {
"integrity": "sha512-KTlfqKPjobHJg/t3A539srnFf+VHr1aXkHSmsNDDpiI5UFC7FamZ95dWpJfGE2EI/HULR5hveQDgkazmz8SAcg==",
"octagonal-wheels@0.1.54": {
"integrity": "sha512-Je3ancYhjKX7UY2K19T/qTjG8C9nK8YVrACr5naIf78mN4bbjQkYyWmlj+ooifV/moWVsQrp4fEWz/7mv6It3A==",
"dependencies": [
"idb"
]
+1 -1
View File
@@ -2,4 +2,4 @@
// Commonlib registry release. Static npm specifiers cannot interpolate this
// value, so livesync-commonlib-version.test.ts verifies the domain-specific
// facades against it.
export const LIVESYNC_COMMONLIB_VERSION = "0.1.32-next.0";
export const LIVESYNC_COMMONLIB_VERSION = "0.1.32";
+6 -6
View File
@@ -5,10 +5,10 @@ export {
decodeSettingsFromSetupURI,
encodeTimeBoundSetupURI,
isTimeBoundSetupURIUsableNow,
} from "npm:@vrtmrz/livesync-commonlib@0.1.32-next.0/setup-uri";
export type { TimeBoundSetupURIMode } from "npm:@vrtmrz/livesync-commonlib@0.1.32-next.0/setup-uri";
export { generateP2PRoomId } from "npm:@vrtmrz/livesync-commonlib@0.1.32-next.0/compat/common/utils";
export { upsertRemoteConfigurationInPlace } from "npm:@vrtmrz/livesync-commonlib@0.1.32-next.0/remote-configurations";
} from "npm:@vrtmrz/livesync-commonlib@0.1.32/setup-uri";
export type { TimeBoundSetupURIMode } from "npm:@vrtmrz/livesync-commonlib@0.1.32/setup-uri";
export { generateP2PRoomId } from "npm:@vrtmrz/livesync-commonlib@0.1.32/compat/common/utils";
export { upsertRemoteConfigurationInPlace } from "npm:@vrtmrz/livesync-commonlib@0.1.32/remote-configurations";
export {
createNewVaultSettings,
DEFAULT_SETTINGS,
@@ -16,5 +16,5 @@ export {
PREFERRED_BASE,
PREFERRED_JOURNAL_SYNC,
PREFERRED_SETTING_SELF_HOSTED,
} from "npm:@vrtmrz/livesync-commonlib@0.1.32-next.0/settings";
export type { ObsidianLiveSyncSettings } from "npm:@vrtmrz/livesync-commonlib@0.1.32-next.0/settings";
} from "npm:@vrtmrz/livesync-commonlib@0.1.32/settings";
export type { ObsidianLiveSyncSettings } from "npm:@vrtmrz/livesync-commonlib@0.1.32/settings";