Compare commits

...

2 Commits

Author SHA1 Message Date
vorotamoroz
381055fc93 bump 2025-04-22 11:29:42 +01:00
vorotamoroz
37d12916fc ## 0.24.25
### Improved

- Peer-to-peer synchronisation has been got more robust.

### Fixed

- No longer broken falsy values in settings during set-up by the QR code generation.

### Refactored

- Some `window` references now have pointed to `globalThis`.
- Some sloppy-import has been fixed.
- A server side implementation `Synchromesh` has been suffixed with `deno` instead of `server` now.
2025-04-22 11:28:55 +01:00
8 changed files with 261 additions and 244 deletions

View File

@@ -1,7 +1,7 @@
{
"id": "obsidian-livesync",
"name": "Self-hosted LiveSync",
"version": "0.24.24",
"version": "0.24.25",
"minAppVersion": "0.9.12",
"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",

398
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "obsidian-livesync",
"version": "0.24.24",
"version": "0.24.25",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "obsidian-livesync",
"version": "0.24.24",
"version": "0.24.25",
"license": "MIT",
"dependencies": {
"@aws-sdk/client-s3": "^3.787.0",
@@ -21,7 +21,7 @@
"octagonal-wheels": "^0.1.25",
"qrcode-generator": "^1.4.4",
"svelte-check": "^4.1.4",
"trystero": "^0.21.1",
"trystero": "^0.21.3",
"xxhash-wasm-102": "npm:xxhash-wasm@^1.0.2"
},
"devDependencies": {
@@ -2658,12 +2658,12 @@
}
},
"node_modules/@libp2p/multistream-select": {
"version": "6.0.21",
"resolved": "https://registry.npmjs.org/@libp2p/multistream-select/-/multistream-select-6.0.21.tgz",
"integrity": "sha512-l1c70p8ljrrqnm0y9m/3mvtkYhbGt5zPOpxRKVveWR2+OyqiPFa48uRktmpJcl4zwG5dHWMG/klhdHoNpetJpw==",
"version": "6.0.22",
"resolved": "https://registry.npmjs.org/@libp2p/multistream-select/-/multistream-select-6.0.22.tgz",
"integrity": "sha512-SCSnLKNvqulYYN52mG/b5INGlmj3rMAxtH9zVb1e9rq5WflJu7CGaV8CJsxOjRoJ7YqPgx1meywkeG989OdwDA==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@libp2p/interface": "^2.8.0",
"@libp2p/interface": "^2.9.0",
"it-length-prefixed": "^10.0.1",
"it-length-prefixed-stream": "^2.0.1",
"it-stream-types": "^2.0.2",
@@ -2675,9 +2675,9 @@
}
},
"node_modules/@libp2p/multistream-select/node_modules/@libp2p/interface": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.8.0.tgz",
"integrity": "sha512-QnIjqqUv2aDiBho6OGcNNhLT3Ac4RKrh41qoQmqG6csMRkUUx/xZMkfFJx3j0wGCIP8GS4sGspkTt4wCpPbSWw==",
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.9.0.tgz",
"integrity": "sha512-L/0Z5H0mjaECA0jkZG+OJmEhB/OIJ07gzZYljU7C19XjL3dSkBvhA9il+G3FpHyHgqAOVGuQU5qkbv2Edj8FIA==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@multiformats/multiaddr": "^12.3.3",
@@ -2796,15 +2796,15 @@
}
},
"node_modules/@libp2p/peer-store": {
"version": "11.1.3",
"resolved": "https://registry.npmjs.org/@libp2p/peer-store/-/peer-store-11.1.3.tgz",
"integrity": "sha512-RTSFHLXklOcGVXbuEZMfn4qFKxELGnSJkIRfh9RHxSWUbD8gwisrp9+Wecd9QYAu5sVeCmk2tPt/EhPdJDWCeQ==",
"version": "11.1.4",
"resolved": "https://registry.npmjs.org/@libp2p/peer-store/-/peer-store-11.1.4.tgz",
"integrity": "sha512-KUfY0GJLUUYrPGLsiGRWliNNFPGlC0bY4BE25jhp1MEsjrimkTl6TcksqCQ8SzR0Cn4HMRRPJs4H2AzdaQexZA==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/peer-id": "^5.1.1",
"@libp2p/peer-record": "^8.0.26",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"@libp2p/peer-id": "^5.1.2",
"@libp2p/peer-record": "^8.0.27",
"@multiformats/multiaddr": "^12.3.3",
"interface-datastore": "^8.3.1",
"it-all": "^3.0.6",
@@ -2816,12 +2816,12 @@
}
},
"node_modules/@libp2p/peer-store/node_modules/@libp2p/crypto": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.1.0.tgz",
"integrity": "sha512-hcmScz9m7Ae7R7b/w3x9DX+i60ZIUVsMmsHyIo0vSlGsxO0+tyM4UKUia5EpSp/i1SB/W1IFXxlURwpiX7R5eQ==",
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.1.1.tgz",
"integrity": "sha512-feByJ5ypBfl7Dp+jLBmieHDY/249hqCiDn8u6DNSZrpDhefn2l/NE03fS2mW6pLOnY3QIqB372TfLtx3/EPU+w==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@libp2p/interface": "^2.8.0",
"@libp2p/interface": "^2.9.0",
"@noble/curves": "^1.7.0",
"@noble/hashes": "^1.6.1",
"multiformats": "^13.3.1",
@@ -2831,9 +2831,9 @@
}
},
"node_modules/@libp2p/peer-store/node_modules/@libp2p/interface": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.8.0.tgz",
"integrity": "sha512-QnIjqqUv2aDiBho6OGcNNhLT3Ac4RKrh41qoQmqG6csMRkUUx/xZMkfFJx3j0wGCIP8GS4sGspkTt4wCpPbSWw==",
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.9.0.tgz",
"integrity": "sha512-L/0Z5H0mjaECA0jkZG+OJmEhB/OIJ07gzZYljU7C19XjL3dSkBvhA9il+G3FpHyHgqAOVGuQU5qkbv2Edj8FIA==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@multiformats/multiaddr": "^12.3.3",
@@ -2845,12 +2845,12 @@
}
},
"node_modules/@libp2p/peer-store/node_modules/@libp2p/logger": {
"version": "5.1.14",
"resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.14.tgz",
"integrity": "sha512-rJeEq7iuKMMjel0zzH10dXzcWn4Q2yywbv5vM9B1xTQpkD4uxTbBlQs+EL9+pmwaaQrrriEGqluZOTzHvUzJUg==",
"version": "5.1.15",
"resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.15.tgz",
"integrity": "sha512-0+rOHEXXDNZvsb9p04jVAFQB0WcvMxFfqzSe271/tg4yVlPF5H99l5BwOqeb+EYhHV1lTk+zrJdPK9easHr1fQ==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@libp2p/interface": "^2.8.0",
"@libp2p/interface": "^2.9.0",
"@multiformats/multiaddr": "^12.3.3",
"interface-datastore": "^8.3.1",
"multiformats": "^13.3.1",
@@ -2858,27 +2858,27 @@
}
},
"node_modules/@libp2p/peer-store/node_modules/@libp2p/peer-id": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-5.1.1.tgz",
"integrity": "sha512-dVpgln2gWybglCC8hiQqyGlyXU7F7ovoOqwnnMs8HxurGEH9QxgmCfxRP4p8s86bQwl1MFbyj0AqYPy/zbKLrA==",
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-5.1.2.tgz",
"integrity": "sha512-K4tjLi+OIHJSeMMqw28xnBxDfklfWCsR423Jm6GxZ5avIj2xm7WIq5oUhCntGGDIQWW/8qdf8v3tYK36JxwLOA==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"multiformats": "^13.3.1",
"uint8arrays": "^5.1.0"
}
},
"node_modules/@libp2p/peer-store/node_modules/@libp2p/peer-record": {
"version": "8.0.26",
"resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-8.0.26.tgz",
"integrity": "sha512-uZrGsZ7JLwY2B60El60AGcYjdcB87J596vyY722adQshLLiTTafkEZeHDSVVC3k5R8EP0gwrIEidi3xtPYRT5w==",
"version": "8.0.27",
"resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-8.0.27.tgz",
"integrity": "sha512-F2sWv0++WrHRuEYtqqvFOa+748rCekQuEBj9OKvDCxS3gtQeEgVLfsNAvM/vRPN0Lx3m4OF44tui2KpV7NU6jA==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/peer-id": "^5.1.1",
"@libp2p/utils": "^6.6.1",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"@libp2p/peer-id": "^5.1.2",
"@libp2p/utils": "^6.6.2",
"@multiformats/multiaddr": "^12.3.3",
"multiformats": "^13.3.1",
"protons-runtime": "^5.5.0",
@@ -2888,16 +2888,16 @@
}
},
"node_modules/@libp2p/peer-store/node_modules/@libp2p/utils": {
"version": "6.6.1",
"resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-6.6.1.tgz",
"integrity": "sha512-7/oJ+GX+pvM8bDe55VsmpuuBZS/HIYp/+DCyHqnm6o6d6rFSpF/yuVhKGK29P0MNgApzHeHrwfnvzPXrz64d3A==",
"version": "6.6.2",
"resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-6.6.2.tgz",
"integrity": "sha512-PjbKA0+l+8mmM7quOnG0D7XKdlF/3Hi5Aco3D0ZQXW68QnzmjEEeTbky1gzrZUgnMBmb2ZYrBlZd0GpsJ7Rc9Q==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@chainsafe/is-ip": "^2.0.2",
"@chainsafe/netmask": "^2.0.0",
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/logger": "^5.1.14",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"@libp2p/logger": "^5.1.15",
"@multiformats/multiaddr": "^12.3.3",
"@sindresorhus/fnv1a": "^3.1.0",
"any-signal": "^4.1.1",
@@ -5662,9 +5662,9 @@
}
},
"node_modules/datastore-core/node_modules/@libp2p/interface": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.8.0.tgz",
"integrity": "sha512-QnIjqqUv2aDiBho6OGcNNhLT3Ac4RKrh41qoQmqG6csMRkUUx/xZMkfFJx3j0wGCIP8GS4sGspkTt4wCpPbSWw==",
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.9.0.tgz",
"integrity": "sha512-L/0Z5H0mjaECA0jkZG+OJmEhB/OIJ07gzZYljU7C19XjL3dSkBvhA9il+G3FpHyHgqAOVGuQU5qkbv2Edj8FIA==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@multiformats/multiaddr": "^12.3.3",
@@ -5676,12 +5676,12 @@
}
},
"node_modules/datastore-core/node_modules/@libp2p/logger": {
"version": "5.1.14",
"resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.14.tgz",
"integrity": "sha512-rJeEq7iuKMMjel0zzH10dXzcWn4Q2yywbv5vM9B1xTQpkD4uxTbBlQs+EL9+pmwaaQrrriEGqluZOTzHvUzJUg==",
"version": "5.1.15",
"resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.15.tgz",
"integrity": "sha512-0+rOHEXXDNZvsb9p04jVAFQB0WcvMxFfqzSe271/tg4yVlPF5H99l5BwOqeb+EYhHV1lTk+zrJdPK9easHr1fQ==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@libp2p/interface": "^2.8.0",
"@libp2p/interface": "^2.9.0",
"@multiformats/multiaddr": "^12.3.3",
"interface-datastore": "^8.3.1",
"multiformats": "^13.3.1",
@@ -7780,22 +7780,22 @@
}
},
"node_modules/libp2p": {
"version": "2.8.3",
"resolved": "https://registry.npmjs.org/libp2p/-/libp2p-2.8.3.tgz",
"integrity": "sha512-ety0Q5cO7TsA3TfozWfx4Z1vRaD3rSuuAF/sH4eNHSTUB47CrqBAUcPARJobuhg7j1A2NVIn+KU47KKJRvg6gQ==",
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/libp2p/-/libp2p-2.8.5.tgz",
"integrity": "sha512-K2jqFmNp3LsTeuJ15t6jG0Z9WoydLs+AfSDvhSYQa7lRTu9IANt84SxNg+PsmGxMMiTOtIoMmo27DHzF3+ON8Q==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@chainsafe/is-ip": "^2.0.2",
"@chainsafe/netmask": "^2.0.0",
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/interface-internal": "^2.3.10",
"@libp2p/logger": "^5.1.14",
"@libp2p/multistream-select": "^6.0.21",
"@libp2p/peer-collections": "^6.0.26",
"@libp2p/peer-id": "^5.1.1",
"@libp2p/peer-store": "^11.1.3",
"@libp2p/utils": "^6.6.1",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"@libp2p/interface-internal": "^2.3.11",
"@libp2p/logger": "^5.1.15",
"@libp2p/multistream-select": "^6.0.22",
"@libp2p/peer-collections": "^6.0.27",
"@libp2p/peer-id": "^5.1.2",
"@libp2p/peer-store": "^11.1.4",
"@libp2p/utils": "^6.6.2",
"@multiformats/dns": "^1.0.6",
"@multiformats/multiaddr": "^12.3.5",
"@multiformats/multiaddr-matcher": "^1.7.0",
@@ -7816,12 +7816,12 @@
}
},
"node_modules/libp2p/node_modules/@libp2p/crypto": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.1.0.tgz",
"integrity": "sha512-hcmScz9m7Ae7R7b/w3x9DX+i60ZIUVsMmsHyIo0vSlGsxO0+tyM4UKUia5EpSp/i1SB/W1IFXxlURwpiX7R5eQ==",
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.1.1.tgz",
"integrity": "sha512-feByJ5ypBfl7Dp+jLBmieHDY/249hqCiDn8u6DNSZrpDhefn2l/NE03fS2mW6pLOnY3QIqB372TfLtx3/EPU+w==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@libp2p/interface": "^2.8.0",
"@libp2p/interface": "^2.9.0",
"@noble/curves": "^1.7.0",
"@noble/hashes": "^1.6.1",
"multiformats": "^13.3.1",
@@ -7831,9 +7831,9 @@
}
},
"node_modules/libp2p/node_modules/@libp2p/interface": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.8.0.tgz",
"integrity": "sha512-QnIjqqUv2aDiBho6OGcNNhLT3Ac4RKrh41qoQmqG6csMRkUUx/xZMkfFJx3j0wGCIP8GS4sGspkTt4wCpPbSWw==",
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.9.0.tgz",
"integrity": "sha512-L/0Z5H0mjaECA0jkZG+OJmEhB/OIJ07gzZYljU7C19XjL3dSkBvhA9il+G3FpHyHgqAOVGuQU5qkbv2Edj8FIA==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@multiformats/multiaddr": "^12.3.3",
@@ -7845,24 +7845,24 @@
}
},
"node_modules/libp2p/node_modules/@libp2p/interface-internal": {
"version": "2.3.10",
"resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-2.3.10.tgz",
"integrity": "sha512-ULUilEvRUVMy0qB7VWkW0v7Ceg66VqkZ0pheff3gkHj5tXaH4VNE0SSFKfK7b8dK1Wd/HBwS2QheX5uLrEt84w==",
"version": "2.3.11",
"resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-2.3.11.tgz",
"integrity": "sha512-/7GMkn8F9ojFgUmgkiyP0LeVQ4AKinyn2PdFCPOzQszcN3rVHOi6mtZYXNsGjftoP3QZQ4udadbytzGE3pmVYA==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@libp2p/interface": "^2.8.0",
"@libp2p/peer-collections": "^6.0.26",
"@libp2p/interface": "^2.9.0",
"@libp2p/peer-collections": "^6.0.27",
"@multiformats/multiaddr": "^12.3.3",
"progress-events": "^1.0.1"
}
},
"node_modules/libp2p/node_modules/@libp2p/logger": {
"version": "5.1.14",
"resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.14.tgz",
"integrity": "sha512-rJeEq7iuKMMjel0zzH10dXzcWn4Q2yywbv5vM9B1xTQpkD4uxTbBlQs+EL9+pmwaaQrrriEGqluZOTzHvUzJUg==",
"version": "5.1.15",
"resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.15.tgz",
"integrity": "sha512-0+rOHEXXDNZvsb9p04jVAFQB0WcvMxFfqzSe271/tg4yVlPF5H99l5BwOqeb+EYhHV1lTk+zrJdPK9easHr1fQ==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@libp2p/interface": "^2.8.0",
"@libp2p/interface": "^2.9.0",
"@multiformats/multiaddr": "^12.3.3",
"interface-datastore": "^8.3.1",
"multiformats": "^13.3.1",
@@ -7870,40 +7870,40 @@
}
},
"node_modules/libp2p/node_modules/@libp2p/peer-collections": {
"version": "6.0.26",
"resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-6.0.26.tgz",
"integrity": "sha512-bpo4Oim+pvZh6AiIPjYDVb2Us6siJnRBWmyEzrV5t+EmGdLUjOKmRD3NnBp2WoO3RYAMESDyBrpxjnZo5ydHCA==",
"version": "6.0.27",
"resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-6.0.27.tgz",
"integrity": "sha512-JLA7N9OgcxfxnSU3IpZ1DLXHCW64VH/WgJm/lFtPXjIfknO0hU2feerdB2sz/QBAAmehJHqBBSlao57BKo7KLg==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@libp2p/interface": "^2.8.0",
"@libp2p/peer-id": "^5.1.1",
"@libp2p/utils": "^6.6.1",
"@libp2p/interface": "^2.9.0",
"@libp2p/peer-id": "^5.1.2",
"@libp2p/utils": "^6.6.2",
"multiformats": "^13.3.1"
}
},
"node_modules/libp2p/node_modules/@libp2p/peer-id": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-5.1.1.tgz",
"integrity": "sha512-dVpgln2gWybglCC8hiQqyGlyXU7F7ovoOqwnnMs8HxurGEH9QxgmCfxRP4p8s86bQwl1MFbyj0AqYPy/zbKLrA==",
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-5.1.2.tgz",
"integrity": "sha512-K4tjLi+OIHJSeMMqw28xnBxDfklfWCsR423Jm6GxZ5avIj2xm7WIq5oUhCntGGDIQWW/8qdf8v3tYK36JxwLOA==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"multiformats": "^13.3.1",
"uint8arrays": "^5.1.0"
}
},
"node_modules/libp2p/node_modules/@libp2p/utils": {
"version": "6.6.1",
"resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-6.6.1.tgz",
"integrity": "sha512-7/oJ+GX+pvM8bDe55VsmpuuBZS/HIYp/+DCyHqnm6o6d6rFSpF/yuVhKGK29P0MNgApzHeHrwfnvzPXrz64d3A==",
"version": "6.6.2",
"resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-6.6.2.tgz",
"integrity": "sha512-PjbKA0+l+8mmM7quOnG0D7XKdlF/3Hi5Aco3D0ZQXW68QnzmjEEeTbky1gzrZUgnMBmb2ZYrBlZd0GpsJ7Rc9Q==",
"license": "Apache-2.0 OR MIT",
"dependencies": {
"@chainsafe/is-ip": "^2.0.2",
"@chainsafe/netmask": "^2.0.0",
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/logger": "^5.1.14",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"@libp2p/logger": "^5.1.15",
"@multiformats/multiaddr": "^12.3.3",
"@sindresorhus/fnv1a": "^3.1.0",
"any-signal": "^4.1.1",
@@ -10003,9 +10003,9 @@
}
},
"node_modules/trystero": {
"version": "0.21.1",
"resolved": "https://registry.npmjs.org/trystero/-/trystero-0.21.1.tgz",
"integrity": "sha512-29qBWjR7NqvEAwxlya8wmuSePK3yHMhWZyv8YpaX0/+nw6pLZmpctvdn7SN1GkY5taWn4JeY0RDMOcjoJf+B5w==",
"version": "0.21.3",
"resolved": "https://registry.npmjs.org/trystero/-/trystero-0.21.3.tgz",
"integrity": "sha512-q19p93PGQjFDeeVG3+XOGMgeyNNrdPzkc8G9MASEhAdpHMzLtKGbmdqMOUZ4nj4z79k5/3MWarRIaKr0rgJb9g==",
"license": "MIT",
"dependencies": {
"@noble/curves": "^1.8.1",
@@ -12874,11 +12874,11 @@
}
},
"@libp2p/multistream-select": {
"version": "6.0.21",
"resolved": "https://registry.npmjs.org/@libp2p/multistream-select/-/multistream-select-6.0.21.tgz",
"integrity": "sha512-l1c70p8ljrrqnm0y9m/3mvtkYhbGt5zPOpxRKVveWR2+OyqiPFa48uRktmpJcl4zwG5dHWMG/klhdHoNpetJpw==",
"version": "6.0.22",
"resolved": "https://registry.npmjs.org/@libp2p/multistream-select/-/multistream-select-6.0.22.tgz",
"integrity": "sha512-SCSnLKNvqulYYN52mG/b5INGlmj3rMAxtH9zVb1e9rq5WflJu7CGaV8CJsxOjRoJ7YqPgx1meywkeG989OdwDA==",
"requires": {
"@libp2p/interface": "^2.8.0",
"@libp2p/interface": "^2.9.0",
"it-length-prefixed": "^10.0.1",
"it-length-prefixed-stream": "^2.0.1",
"it-stream-types": "^2.0.2",
@@ -12890,9 +12890,9 @@
},
"dependencies": {
"@libp2p/interface": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.8.0.tgz",
"integrity": "sha512-QnIjqqUv2aDiBho6OGcNNhLT3Ac4RKrh41qoQmqG6csMRkUUx/xZMkfFJx3j0wGCIP8GS4sGspkTt4wCpPbSWw==",
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.9.0.tgz",
"integrity": "sha512-L/0Z5H0mjaECA0jkZG+OJmEhB/OIJ07gzZYljU7C19XjL3dSkBvhA9il+G3FpHyHgqAOVGuQU5qkbv2Edj8FIA==",
"requires": {
"@multiformats/multiaddr": "^12.3.3",
"it-pushable": "^3.2.3",
@@ -13000,14 +13000,14 @@
}
},
"@libp2p/peer-store": {
"version": "11.1.3",
"resolved": "https://registry.npmjs.org/@libp2p/peer-store/-/peer-store-11.1.3.tgz",
"integrity": "sha512-RTSFHLXklOcGVXbuEZMfn4qFKxELGnSJkIRfh9RHxSWUbD8gwisrp9+Wecd9QYAu5sVeCmk2tPt/EhPdJDWCeQ==",
"version": "11.1.4",
"resolved": "https://registry.npmjs.org/@libp2p/peer-store/-/peer-store-11.1.4.tgz",
"integrity": "sha512-KUfY0GJLUUYrPGLsiGRWliNNFPGlC0bY4BE25jhp1MEsjrimkTl6TcksqCQ8SzR0Cn4HMRRPJs4H2AzdaQexZA==",
"requires": {
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/peer-id": "^5.1.1",
"@libp2p/peer-record": "^8.0.26",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"@libp2p/peer-id": "^5.1.2",
"@libp2p/peer-record": "^8.0.27",
"@multiformats/multiaddr": "^12.3.3",
"interface-datastore": "^8.3.1",
"it-all": "^3.0.6",
@@ -13019,11 +13019,11 @@
},
"dependencies": {
"@libp2p/crypto": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.1.0.tgz",
"integrity": "sha512-hcmScz9m7Ae7R7b/w3x9DX+i60ZIUVsMmsHyIo0vSlGsxO0+tyM4UKUia5EpSp/i1SB/W1IFXxlURwpiX7R5eQ==",
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.1.1.tgz",
"integrity": "sha512-feByJ5ypBfl7Dp+jLBmieHDY/249hqCiDn8u6DNSZrpDhefn2l/NE03fS2mW6pLOnY3QIqB372TfLtx3/EPU+w==",
"requires": {
"@libp2p/interface": "^2.8.0",
"@libp2p/interface": "^2.9.0",
"@noble/curves": "^1.7.0",
"@noble/hashes": "^1.6.1",
"multiformats": "^13.3.1",
@@ -13033,9 +13033,9 @@
}
},
"@libp2p/interface": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.8.0.tgz",
"integrity": "sha512-QnIjqqUv2aDiBho6OGcNNhLT3Ac4RKrh41qoQmqG6csMRkUUx/xZMkfFJx3j0wGCIP8GS4sGspkTt4wCpPbSWw==",
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.9.0.tgz",
"integrity": "sha512-L/0Z5H0mjaECA0jkZG+OJmEhB/OIJ07gzZYljU7C19XjL3dSkBvhA9il+G3FpHyHgqAOVGuQU5qkbv2Edj8FIA==",
"requires": {
"@multiformats/multiaddr": "^12.3.3",
"it-pushable": "^3.2.3",
@@ -13046,11 +13046,11 @@
}
},
"@libp2p/logger": {
"version": "5.1.14",
"resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.14.tgz",
"integrity": "sha512-rJeEq7iuKMMjel0zzH10dXzcWn4Q2yywbv5vM9B1xTQpkD4uxTbBlQs+EL9+pmwaaQrrriEGqluZOTzHvUzJUg==",
"version": "5.1.15",
"resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.15.tgz",
"integrity": "sha512-0+rOHEXXDNZvsb9p04jVAFQB0WcvMxFfqzSe271/tg4yVlPF5H99l5BwOqeb+EYhHV1lTk+zrJdPK9easHr1fQ==",
"requires": {
"@libp2p/interface": "^2.8.0",
"@libp2p/interface": "^2.9.0",
"@multiformats/multiaddr": "^12.3.3",
"interface-datastore": "^8.3.1",
"multiformats": "^13.3.1",
@@ -13058,25 +13058,25 @@
}
},
"@libp2p/peer-id": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-5.1.1.tgz",
"integrity": "sha512-dVpgln2gWybglCC8hiQqyGlyXU7F7ovoOqwnnMs8HxurGEH9QxgmCfxRP4p8s86bQwl1MFbyj0AqYPy/zbKLrA==",
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-5.1.2.tgz",
"integrity": "sha512-K4tjLi+OIHJSeMMqw28xnBxDfklfWCsR423Jm6GxZ5avIj2xm7WIq5oUhCntGGDIQWW/8qdf8v3tYK36JxwLOA==",
"requires": {
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"multiformats": "^13.3.1",
"uint8arrays": "^5.1.0"
}
},
"@libp2p/peer-record": {
"version": "8.0.26",
"resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-8.0.26.tgz",
"integrity": "sha512-uZrGsZ7JLwY2B60El60AGcYjdcB87J596vyY722adQshLLiTTafkEZeHDSVVC3k5R8EP0gwrIEidi3xtPYRT5w==",
"version": "8.0.27",
"resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-8.0.27.tgz",
"integrity": "sha512-F2sWv0++WrHRuEYtqqvFOa+748rCekQuEBj9OKvDCxS3gtQeEgVLfsNAvM/vRPN0Lx3m4OF44tui2KpV7NU6jA==",
"requires": {
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/peer-id": "^5.1.1",
"@libp2p/utils": "^6.6.1",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"@libp2p/peer-id": "^5.1.2",
"@libp2p/utils": "^6.6.2",
"@multiformats/multiaddr": "^12.3.3",
"multiformats": "^13.3.1",
"protons-runtime": "^5.5.0",
@@ -13086,15 +13086,15 @@
}
},
"@libp2p/utils": {
"version": "6.6.1",
"resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-6.6.1.tgz",
"integrity": "sha512-7/oJ+GX+pvM8bDe55VsmpuuBZS/HIYp/+DCyHqnm6o6d6rFSpF/yuVhKGK29P0MNgApzHeHrwfnvzPXrz64d3A==",
"version": "6.6.2",
"resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-6.6.2.tgz",
"integrity": "sha512-PjbKA0+l+8mmM7quOnG0D7XKdlF/3Hi5Aco3D0ZQXW68QnzmjEEeTbky1gzrZUgnMBmb2ZYrBlZd0GpsJ7Rc9Q==",
"requires": {
"@chainsafe/is-ip": "^2.0.2",
"@chainsafe/netmask": "^2.0.0",
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/logger": "^5.1.14",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"@libp2p/logger": "^5.1.15",
"@multiformats/multiaddr": "^12.3.3",
"@sindresorhus/fnv1a": "^3.1.0",
"any-signal": "^4.1.1",
@@ -15144,9 +15144,9 @@
},
"dependencies": {
"@libp2p/interface": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.8.0.tgz",
"integrity": "sha512-QnIjqqUv2aDiBho6OGcNNhLT3Ac4RKrh41qoQmqG6csMRkUUx/xZMkfFJx3j0wGCIP8GS4sGspkTt4wCpPbSWw==",
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.9.0.tgz",
"integrity": "sha512-L/0Z5H0mjaECA0jkZG+OJmEhB/OIJ07gzZYljU7C19XjL3dSkBvhA9il+G3FpHyHgqAOVGuQU5qkbv2Edj8FIA==",
"requires": {
"@multiformats/multiaddr": "^12.3.3",
"it-pushable": "^3.2.3",
@@ -15157,11 +15157,11 @@
}
},
"@libp2p/logger": {
"version": "5.1.14",
"resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.14.tgz",
"integrity": "sha512-rJeEq7iuKMMjel0zzH10dXzcWn4Q2yywbv5vM9B1xTQpkD4uxTbBlQs+EL9+pmwaaQrrriEGqluZOTzHvUzJUg==",
"version": "5.1.15",
"resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.15.tgz",
"integrity": "sha512-0+rOHEXXDNZvsb9p04jVAFQB0WcvMxFfqzSe271/tg4yVlPF5H99l5BwOqeb+EYhHV1lTk+zrJdPK9easHr1fQ==",
"requires": {
"@libp2p/interface": "^2.8.0",
"@libp2p/interface": "^2.9.0",
"@multiformats/multiaddr": "^12.3.3",
"interface-datastore": "^8.3.1",
"multiformats": "^13.3.1",
@@ -16651,21 +16651,21 @@
}
},
"libp2p": {
"version": "2.8.3",
"resolved": "https://registry.npmjs.org/libp2p/-/libp2p-2.8.3.tgz",
"integrity": "sha512-ety0Q5cO7TsA3TfozWfx4Z1vRaD3rSuuAF/sH4eNHSTUB47CrqBAUcPARJobuhg7j1A2NVIn+KU47KKJRvg6gQ==",
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/libp2p/-/libp2p-2.8.5.tgz",
"integrity": "sha512-K2jqFmNp3LsTeuJ15t6jG0Z9WoydLs+AfSDvhSYQa7lRTu9IANt84SxNg+PsmGxMMiTOtIoMmo27DHzF3+ON8Q==",
"requires": {
"@chainsafe/is-ip": "^2.0.2",
"@chainsafe/netmask": "^2.0.0",
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/interface-internal": "^2.3.10",
"@libp2p/logger": "^5.1.14",
"@libp2p/multistream-select": "^6.0.21",
"@libp2p/peer-collections": "^6.0.26",
"@libp2p/peer-id": "^5.1.1",
"@libp2p/peer-store": "^11.1.3",
"@libp2p/utils": "^6.6.1",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"@libp2p/interface-internal": "^2.3.11",
"@libp2p/logger": "^5.1.15",
"@libp2p/multistream-select": "^6.0.22",
"@libp2p/peer-collections": "^6.0.27",
"@libp2p/peer-id": "^5.1.2",
"@libp2p/peer-store": "^11.1.4",
"@libp2p/utils": "^6.6.2",
"@multiformats/dns": "^1.0.6",
"@multiformats/multiaddr": "^12.3.5",
"@multiformats/multiaddr-matcher": "^1.7.0",
@@ -16686,11 +16686,11 @@
},
"dependencies": {
"@libp2p/crypto": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.1.0.tgz",
"integrity": "sha512-hcmScz9m7Ae7R7b/w3x9DX+i60ZIUVsMmsHyIo0vSlGsxO0+tyM4UKUia5EpSp/i1SB/W1IFXxlURwpiX7R5eQ==",
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.1.1.tgz",
"integrity": "sha512-feByJ5ypBfl7Dp+jLBmieHDY/249hqCiDn8u6DNSZrpDhefn2l/NE03fS2mW6pLOnY3QIqB372TfLtx3/EPU+w==",
"requires": {
"@libp2p/interface": "^2.8.0",
"@libp2p/interface": "^2.9.0",
"@noble/curves": "^1.7.0",
"@noble/hashes": "^1.6.1",
"multiformats": "^13.3.1",
@@ -16700,9 +16700,9 @@
}
},
"@libp2p/interface": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.8.0.tgz",
"integrity": "sha512-QnIjqqUv2aDiBho6OGcNNhLT3Ac4RKrh41qoQmqG6csMRkUUx/xZMkfFJx3j0wGCIP8GS4sGspkTt4wCpPbSWw==",
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.9.0.tgz",
"integrity": "sha512-L/0Z5H0mjaECA0jkZG+OJmEhB/OIJ07gzZYljU7C19XjL3dSkBvhA9il+G3FpHyHgqAOVGuQU5qkbv2Edj8FIA==",
"requires": {
"@multiformats/multiaddr": "^12.3.3",
"it-pushable": "^3.2.3",
@@ -16713,22 +16713,22 @@
}
},
"@libp2p/interface-internal": {
"version": "2.3.10",
"resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-2.3.10.tgz",
"integrity": "sha512-ULUilEvRUVMy0qB7VWkW0v7Ceg66VqkZ0pheff3gkHj5tXaH4VNE0SSFKfK7b8dK1Wd/HBwS2QheX5uLrEt84w==",
"version": "2.3.11",
"resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-2.3.11.tgz",
"integrity": "sha512-/7GMkn8F9ojFgUmgkiyP0LeVQ4AKinyn2PdFCPOzQszcN3rVHOi6mtZYXNsGjftoP3QZQ4udadbytzGE3pmVYA==",
"requires": {
"@libp2p/interface": "^2.8.0",
"@libp2p/peer-collections": "^6.0.26",
"@libp2p/interface": "^2.9.0",
"@libp2p/peer-collections": "^6.0.27",
"@multiformats/multiaddr": "^12.3.3",
"progress-events": "^1.0.1"
}
},
"@libp2p/logger": {
"version": "5.1.14",
"resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.14.tgz",
"integrity": "sha512-rJeEq7iuKMMjel0zzH10dXzcWn4Q2yywbv5vM9B1xTQpkD4uxTbBlQs+EL9+pmwaaQrrriEGqluZOTzHvUzJUg==",
"version": "5.1.15",
"resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.15.tgz",
"integrity": "sha512-0+rOHEXXDNZvsb9p04jVAFQB0WcvMxFfqzSe271/tg4yVlPF5H99l5BwOqeb+EYhHV1lTk+zrJdPK9easHr1fQ==",
"requires": {
"@libp2p/interface": "^2.8.0",
"@libp2p/interface": "^2.9.0",
"@multiformats/multiaddr": "^12.3.3",
"interface-datastore": "^8.3.1",
"multiformats": "^13.3.1",
@@ -16736,37 +16736,37 @@
}
},
"@libp2p/peer-collections": {
"version": "6.0.26",
"resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-6.0.26.tgz",
"integrity": "sha512-bpo4Oim+pvZh6AiIPjYDVb2Us6siJnRBWmyEzrV5t+EmGdLUjOKmRD3NnBp2WoO3RYAMESDyBrpxjnZo5ydHCA==",
"version": "6.0.27",
"resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-6.0.27.tgz",
"integrity": "sha512-JLA7N9OgcxfxnSU3IpZ1DLXHCW64VH/WgJm/lFtPXjIfknO0hU2feerdB2sz/QBAAmehJHqBBSlao57BKo7KLg==",
"requires": {
"@libp2p/interface": "^2.8.0",
"@libp2p/peer-id": "^5.1.1",
"@libp2p/utils": "^6.6.1",
"@libp2p/interface": "^2.9.0",
"@libp2p/peer-id": "^5.1.2",
"@libp2p/utils": "^6.6.2",
"multiformats": "^13.3.1"
}
},
"@libp2p/peer-id": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-5.1.1.tgz",
"integrity": "sha512-dVpgln2gWybglCC8hiQqyGlyXU7F7ovoOqwnnMs8HxurGEH9QxgmCfxRP4p8s86bQwl1MFbyj0AqYPy/zbKLrA==",
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-5.1.2.tgz",
"integrity": "sha512-K4tjLi+OIHJSeMMqw28xnBxDfklfWCsR423Jm6GxZ5avIj2xm7WIq5oUhCntGGDIQWW/8qdf8v3tYK36JxwLOA==",
"requires": {
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"multiformats": "^13.3.1",
"uint8arrays": "^5.1.0"
}
},
"@libp2p/utils": {
"version": "6.6.1",
"resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-6.6.1.tgz",
"integrity": "sha512-7/oJ+GX+pvM8bDe55VsmpuuBZS/HIYp/+DCyHqnm6o6d6rFSpF/yuVhKGK29P0MNgApzHeHrwfnvzPXrz64d3A==",
"version": "6.6.2",
"resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-6.6.2.tgz",
"integrity": "sha512-PjbKA0+l+8mmM7quOnG0D7XKdlF/3Hi5Aco3D0ZQXW68QnzmjEEeTbky1gzrZUgnMBmb2ZYrBlZd0GpsJ7Rc9Q==",
"requires": {
"@chainsafe/is-ip": "^2.0.2",
"@chainsafe/netmask": "^2.0.0",
"@libp2p/crypto": "^5.1.0",
"@libp2p/interface": "^2.8.0",
"@libp2p/logger": "^5.1.14",
"@libp2p/crypto": "^5.1.1",
"@libp2p/interface": "^2.9.0",
"@libp2p/logger": "^5.1.15",
"@multiformats/multiaddr": "^12.3.3",
"@sindresorhus/fnv1a": "^3.1.0",
"any-signal": "^4.1.1",
@@ -18209,9 +18209,9 @@
}
},
"trystero": {
"version": "0.21.1",
"resolved": "https://registry.npmjs.org/trystero/-/trystero-0.21.1.tgz",
"integrity": "sha512-29qBWjR7NqvEAwxlya8wmuSePK3yHMhWZyv8YpaX0/+nw6pLZmpctvdn7SN1GkY5taWn4JeY0RDMOcjoJf+B5w==",
"version": "0.21.3",
"resolved": "https://registry.npmjs.org/trystero/-/trystero-0.21.3.tgz",
"integrity": "sha512-q19p93PGQjFDeeVG3+XOGMgeyNNrdPzkc8G9MASEhAdpHMzLtKGbmdqMOUZ4nj4z79k5/3MWarRIaKr0rgJb9g==",
"requires": {
"@noble/curves": "^1.8.1",
"@supabase/supabase-js": "^2.48.1",

View File

@@ -1,6 +1,6 @@
{
"name": "obsidian-livesync",
"version": "0.24.24",
"version": "0.24.25",
"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",
@@ -80,7 +80,7 @@
"octagonal-wheels": "^0.1.25",
"qrcode-generator": "^1.4.4",
"svelte-check": "^4.1.4",
"trystero": "^0.21.1",
"trystero": "^0.21.3",
"xxhash-wasm-102": "npm:xxhash-wasm@^1.0.2"
}
}

View File

@@ -613,10 +613,10 @@ const decodePrefixMapNumber = Object.fromEntries(
);
export function encodeAnyArray(obj: any[]): string {
const tempArray = obj.map((v) => {
if (v == null) return "n";
if (v == false) return "f";
if (v == true) return "t";
if (v == undefined) return "u";
if (v === null) return "n";
if (v === false) return "f";
if (v === true) return "t";
if (v === undefined) return "u";
if (typeof v == "number") {
const b36 = v.toString(36);
const strNum = v.toString();

Submodule src/lib updated: be13c18ec1...c8bb4fedbb

View File

@@ -67,14 +67,13 @@ export class ModuleSetupObsidian extends AbstractObsidianModule implements IObsi
const fullIndexes = Object.entries(KeyIndexOfSettings) as [keyof ObsidianLiveSyncSettings, number][];
for (const [settingKey, index] of fullIndexes) {
const settingValue = this.settings[settingKey];
if (index < 0) {
// This setting should be ignored.
continue;
}
settingArr[index] = settingValue;
}
const w = encodeAnyArray(settingArr);
// console.warn(w.length)
// console.warn(w);
// const j = decodeAnyArray(w);
// console.warn(j);
// console.warn(`is equal: ${isObjectDifferent(settingArr, j)}`);
const qr = qrcode(0, "L");
const uri = `${configURIBaseQR}${encodeURIComponent(w)}`;
qr.addData(uri);
@@ -90,6 +89,10 @@ export class ModuleSetupObsidian extends AbstractObsidianModule implements IObsi
const fullIndexes = Object.entries(KeyIndexOfSettings) as [keyof ObsidianLiveSyncSettings, number][];
const newSettings = { ...DEFAULT_SETTINGS } as ObsidianLiveSyncSettings;
for (const [settingKey, index] of fullIndexes) {
if (index < 0) {
// This setting should be ignored.
continue;
}
if (index >= settingArr.length) {
// Possibly a new setting added.
continue;

View File

@@ -10,6 +10,22 @@ Nevertheless, that being said, to be more honest, I still have not decided what
Note: Already you have noticed this, but let me mention it again, this is a significantly large update. If you have noticed anything, please let me know. I will try to fix it as soon as possible (Some address is on my [profile](https://github.com/vrtmrz)).
## 0.24.25
### Improved
- Peer-to-peer synchronisation has been got more robust.
### Fixed
- No longer broken falsy values in settings during set-up by the QR code generation.
### Refactored
- Some `window` references now have pointed to `globalThis`.
- Some sloppy-import has been fixed.
- A server side implementation `Synchromesh` has been suffixed with `deno` instead of `server` now.
## 0.24.24
### Fixed
@@ -24,7 +40,7 @@ Note: Already you have noticed this, but let me mention it again, this is a sign
Note: If you have encountered about too less chunks, please let me know. However, you can send it to the server by `Overwrite remote`.
- Fetching conflicted files from the server is now more reliable.
- Dependent libraries have been updated to the latest version.
- Also, let me know if you have encountered any issues with this update. Especially you are using a device that has been in use for a little longer.
- Also, let me know if you have encountered any issues with this update. Especially you are using a device that has been in use for a little longer.
## 0.24.23
@@ -73,37 +89,6 @@ Note: Already you have noticed this, but let me mention it again, this is a sign
- Now we can see the detail of `TypeError` using Obsidian API during remote database access.
## 0.24.19
### New Feature
- Now we can generate a QR Code for transferring the configuration to another device.
- This QR Code can be scanned by the camera app or something QR Code Reader of another device, and via Obsidian URL, the configuration will be transferred.
- Note: This QR Code is not encrypted. So, please be careful when transferring the configuration.
## 0.24.18
### Fixed
- Now no chunk creation errors will be raised after switching `Compute revisions for chunks`.
- Some invisible file can be handled correctly (e.g., `writing-goals-history.csv`).
- Fetching configuration from the server is now saves the configuration immediately (if we are not in the wizard).
### Improved
- Mismatched configuration dialogue is now more informative, and rewritten to more user-friendly.
- Applying configuration mismatch is now without rebuilding (at our own risks).
- Now, rebuilding is decided more fine grained.
### Improved internally
- Translations can be nested. i.e., task:`Some procedure`, check: `%{task} checking`, checkfailed: `%{check} failed` produces `Some procedure checking failed`.
- Max to 10 levels of nesting
## 0.24.17
Confession. I got the default values wrong. So scary and sorry.
### Behaviour and default changed
- **NOW INDEED AND ACTUALLY** `Compute revisions for chunks` are backed into enabled again. it is necessary for garbage collection of chunks.

View File

@@ -13,7 +13,36 @@ Finally, I would like to once again express my respect and gratitude to all of y
Thank you, and I hope your troubles will be resolved!
---
## 0.24.19
### New Feature
- Now we can generate a QR Code for transferring the configuration to another device.
- This QR Code can be scanned by the camera app or something QR Code Reader of another device, and via Obsidian URL, the configuration will be transferred.
- Note: This QR Code is not encrypted. So, please be careful when transferring the configuration.
## 0.24.18
### Fixed
- Now no chunk creation errors will be raised after switching `Compute revisions for chunks`.
- Some invisible file can be handled correctly (e.g., `writing-goals-history.csv`).
- Fetching configuration from the server is now saves the configuration immediately (if we are not in the wizard).
### Improved
- Mismatched configuration dialogue is now more informative, and rewritten to more user-friendly.
- Applying configuration mismatch is now without rebuilding (at our own risks).
- Now, rebuilding is decided more fine grained.
### Improved internally
- Translations can be nested. i.e., task:`Some procedure`, check: `%{task} checking`, checkfailed: `%{check} failed` produces `Some procedure checking failed`.
- Max to 10 levels of nesting
## 0.24.17
Confession. I got the default values wrong. So scary and sorry.
## 0.24.16