diff --git a/package-lock.json b/package-lock.json index afb6219..45179d7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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", diff --git a/package.json b/package.json index eb48658..1162262 100644 --- a/package.json +++ b/package.json @@ -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" } } diff --git a/src/common/utils.ts b/src/common/utils.ts index d8910bd..5c6c98d 100644 --- a/src/common/utils.ts +++ b/src/common/utils.ts @@ -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(); diff --git a/src/lib b/src/lib index be13c18..c8bb4fe 160000 --- a/src/lib +++ b/src/lib @@ -1 +1 @@ -Subproject commit be13c18ec11b6ed56d8879b5d3e0b8dba6d86d07 +Subproject commit c8bb4fedbb162fa22a33b276c8599b8394ba1425 diff --git a/src/modules/features/ModuleSetupObsidian.ts b/src/modules/features/ModuleSetupObsidian.ts index 7459531..a8cc514 100644 --- a/src/modules/features/ModuleSetupObsidian.ts +++ b/src/modules/features/ModuleSetupObsidian.ts @@ -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;