OverviewFilesCommitsIssuesDocsReleasesPeers

keet-daemon commits / 3f3f3d5

keet-core 4.23.8 lockstep (Keet 4.23.0): re-pin the stack (1.1.27)
The network's production hyperconf now sets versions.autoupgrade=37 (and minVersion 4.23.1) while keet-core 4.22.28's production ceiling (STABLE) is 35: every room this daemon created upgraded itself to 37, the @keet/upgrade handler interrupted, and the room never applied another op. room.invite failed with "Cannot read properties of null (reading 'anchor')" on stortron and ashatron (keet-abi-upgrades §3/§10). keet-core 4.23.8: STABLE 37 (ABI 37 adds PREVIEWS + ADMIN_DEVICE_INDEXING), contract schemaVersion 29 -> 31. Re-pinned to Keet 4.23.0's dep-versions.json (hyper-fleeky/keet-audit-4.23): autobee 2.12.0, b4a 1.9.0, bare-bundle 1.11.0, blind-peering 2.9.5, hypercore-storage 3.3.1 (dep + override), hyperswarm 4.17.2, rocksdb-native 3.18.0, b4a override 1.9.0; NEW keet-core deps bare-hrtime 2.1.2, ble-swarm 2.3.4 (bluetooth backend is an optional `#bluetooth` require), speedometer 1.1.0. @holepunchto/* from holepunchto-deps 0ac5f33 (keet-core 4.23.8, keet-indexing 6.4.2). Same deliberate exception as 1.1.22: bare-inspector stays 6.0.1 (6.1.0 needs bare >= 1.29; our runtimes are 1.28.x). Boot-verified on fresh throwaway storage: version reports keet-core 4.23.8, abi.production 37; room.create, send, read ("hello 4.23" read back), state.set, state.list and room.invite (token) all ok; no interrupt / "Autobase is closing" / broken room in the log. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3f3f3d54b8b1567a8d08a97a25978436d99a58e1
by plankatron <fleeky@gmail.com> · 2026-10-12T01:22:47.000Z

Changed files (2) +102 -48

package-lock.json +88 -37
……@@ -1,26 +1,27 @@
11{
22 "name": "keet-daemon",
3 "version": "1.1.22",
3 "version": "1.1.27",
44 "lockfileVersion": 3,
55 "requires": true,
66 "packages": {
77 "": {
88 "name": "keet-daemon",
9 "version": "1.1.22",
9 "version": "1.1.27",
1010 "hasInstallScript": true,
1111 "dependencies": {
1212 "@hyperswarm/rpc": "3.5.0",
1313 "@hyperswarm/secret-stream": "6.9.2",
1414 "autobase": "7.28.2",
15 "autobee": "2.11.8",
15 "autobee": "2.12.0",
1616 "autobee-encryption": "0.1.4",
17 "b4a": "1.8.1",
17 "b4a": "1.9.0",
1818 "bare-addon-resolve": "1.10.1",
19 "bare-bundle": "1.10.0",
19 "bare-bundle": "1.11.0",
2020 "bare-console": "6.2.0",
2121 "bare-events": "2.9.2",
2222 "bare-file-logger": "1.2.3",
2323 "bare-fs": "4.8.1",
24 "bare-hrtime": "2.1.2",
2425 "bare-inspector": "6.0.1",
2526 "bare-logger": "2.0.4",
2627 "bare-os": "3.9.3",
……@@ -31,8 +32,9 @@
3132 "bare-tcp": "2.6.1",
3233 "bare-zlib": "1.4.1",
3334 "bip39-mnemonic": "2.5.0",
35 "ble-swarm": "2.3.4",
3436 "blind-pairing-core": "2.10.1",
35 "blind-peering": "2.9.3",
37 "blind-peering": "2.9.5",
3638 "blind-push": "1.0.2",
3739 "bundlebee": "1.4.0",
3840 "compact-encoding": "3.5.0",
……@@ -55,12 +57,12 @@
5557 "hypercore-crypto": "3.7.0",
5658 "hypercore-id-encoding": "1.3.0",
5759 "hypercore-proof-queue": "2.1.0",
58 "hypercore-storage": "3.3.0",
60 "hypercore-storage": "3.3.1",
5961 "hyperdb": "6.9.0",
6062 "hyperdht": "6.34.0",
6163 "hyperdispatch": "1.6.0",
6264 "hyperschema": "1.26.2",
63 "hyperswarm": "4.17.0",
65 "hyperswarm": "4.17.2",
6466 "hypertrace": "1.4.2",
6567 "index-encoder": "3.3.1",
6668 "keet-identity-key": "3.2.0",
……@@ -78,13 +80,14 @@
7880 "ready-resource": "1.2.0",
7981 "resolve-reject-promise": "1.1.0",
8082 "rocksdb-blobs": "1.1.0",
81 "rocksdb-native": "3.17.4",
83 "rocksdb-native": "3.18.0",
8284 "safety-catch": "1.0.3",
8385 "scope-lock": "1.2.4",
8486 "sdp-transform": "2.15.0",
8587 "sentry-bare": "0.2.1",
8688 "signal-promise": "1.0.3",
8789 "sodium-native": "5.1.0",
90 "speedometer": "1.1.0",
8891 "streamx": "2.28.1",
8992 "sub-encoder": "2.1.3",
9093 "suspendify": "1.7.2",
……@@ -189,9 +192,9 @@
189192 }
190193 },
191194 "node_modules/autobee": {
192 "version": "2.11.8",
193 "resolved": "https://registry.npmjs.org/autobee/-/autobee-2.11.8.tgz",
194 "integrity": "sha512-zT3w3rWVY1HIdjtJt2NXfTT/POktFLf7aY1aGR7WFmz8ZBzuc2G5OmECKB9ZhgnNHw+IAsEKmghjzOs/J1n9FA==",
195 "version": "2.12.0",
196 "resolved": "https://registry.npmjs.org/autobee/-/autobee-2.12.0.tgz",
197 "integrity": "sha512-GtIoIdYi66oeFULMtJEHD1NtHvI6kLBADzzuinUmHYrJ/Nj7MnKR1wvGb6HnXdoffVEa51E7TKvRAHtVkTSEaQ==",
195198 "license": "Apache-2.0",
196199 "dependencies": {
197200 "autobee-wakeup": "^1.1.3",
……@@ -237,9 +240,9 @@
237240 }
238241 },
239242 "node_modules/b4a": {
240 "version": "1.8.1",
241 "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.1.tgz",
242 "integrity": "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==",
243 "version": "1.9.0",
244 "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.9.0.tgz",
245 "integrity": "sha512-dpfcF9fDNR6++cthXR67iyhgqWy9CBouAvIWhIntzBG6cvK/cnIPiZQjBwi/ZqjjBEDGfoNDtmB0kTjroOJ3pQ==",
243246 "license": "Apache-2.0",
244247 "peerDependencies": {
245248 "react-native-b4a": "*"
……@@ -300,6 +303,37 @@
300303 "bare-inspect": "^3.1.2"
301304 }
302305 },
306 "node_modules/bare-bluetooth": {
307 "version": "0.5.2",
308 "resolved": "https://registry.npmjs.org/bare-bluetooth/-/bare-bluetooth-0.5.2.tgz",
309 "integrity": "sha512-jIjGwZGgqH9e7+gxqElCmI1Iy36oBYus8DZYFsNSInTA5kst3TcPh1heJy+2dTnzFWetek4WCTs6p+x4st7ZFw==",
310 "license": "Apache-2.0",
311 "dependencies": {
312 "bare-bluetooth-android": "^0.9.0",
313 "bare-bluetooth-apple": "^0.5.1",
314 "fast-fifo": "^1.3.2"
315 }
316 },
317 "node_modules/bare-bluetooth-android": {
318 "version": "0.9.3",
319 "resolved": "https://registry.npmjs.org/bare-bluetooth-android/-/bare-bluetooth-android-0.9.3.tgz",
320 "integrity": "sha512-X/7VuvDq5sGQ3yP+hR6Chnj2a1ifqbFkKz53VKprJlUe/w1j7AvfY+AP3+pDo9DRmjap2VOugZxMzgi6QyoqgQ==",
321 "license": "Apache-2.0",
322 "dependencies": {
323 "bare-events": "^2.8.2",
324 "bare-stream": "^2.11.0"
325 }
326 },
327 "node_modules/bare-bluetooth-apple": {
328 "version": "0.5.1",
329 "resolved": "https://registry.npmjs.org/bare-bluetooth-apple/-/bare-bluetooth-apple-0.5.1.tgz",
330 "integrity": "sha512-mZ0t4GtdXmNOiWxPhVM5GPk+sP1QCR3XqX2UPJ9hafNBDQEe9K/62rtQNqRaeoHg7JfZ/34IUvKBmRokwZJSew==",
331 "license": "Apache-2.0",
332 "dependencies": {
333 "bare-events": "^2.8.2",
334 "bare-stream": "^2.11.0"
335 }
336 },
303337 "node_modules/bare-buffer": {
304338 "version": "3.6.0",
305339 "resolved": "https://registry.npmjs.org/bare-buffer/-/bare-buffer-3.6.0.tgz",
……@@ -311,9 +345,9 @@
311345 }
312346 },
313347 "node_modules/bare-bundle": {
314 "version": "1.10.0",
315 "resolved": "https://registry.npmjs.org/bare-bundle/-/bare-bundle-1.10.0.tgz",
316 "integrity": "sha512-4LVlnJAHr00Hh6Vu6ZUJS38rcEtJT3b3vChXSsBsJ2mk1TN0lQ+gzd+Dw5L0aV7uqDZv84smuwW+O02X7PfDlw==",
348 "version": "1.11.0",
349 "resolved": "https://registry.npmjs.org/bare-bundle/-/bare-bundle-1.11.0.tgz",
350 "integrity": "sha512-msaGQLaojz+EszDhf0qvCTmVWgJFSqbC5bUmEb9AKyVeglmJpx1EbCGqQTiXycCV7oA++MYqTagh/YdIZ//bmQ==",
317351 "license": "Apache-2.0",
318352 "peerDependencies": {
319353 "bare-buffer": "*",
……@@ -472,9 +506,9 @@
472506 }
473507 },
474508 "node_modules/bare-hrtime": {
475 "version": "2.1.1",
476 "resolved": "https://registry.npmjs.org/bare-hrtime/-/bare-hrtime-2.1.1.tgz",
477 "integrity": "sha512-VMb3tHo05gsnbu3OXTmkDiwTjMlOsbQmKoysKqKEyR09m77TuDrYFbj3Q5GGk10dAKsUHrnXmwCaeJqzVpB5ZA==",
509 "version": "2.1.2",
510 "resolved": "https://registry.npmjs.org/bare-hrtime/-/bare-hrtime-2.1.2.tgz",
511 "integrity": "sha512-ePu0axonbewvuUv9TFqjfvnZTaw+mL4JNx1q79dw8T3DIQEjqHs+pXyj92ghepa8K14KLtX3GdUuAVB+faaGDw==",
478512 "license": "Apache-2.0"
479513 },
480514 "node_modules/bare-http-parser": {
……@@ -948,6 +982,23 @@
948982 "b4a": "^1.5.0"
949983 }
950984 },
985 "node_modules/ble-swarm": {
986 "version": "2.3.4",
987 "resolved": "https://registry.npmjs.org/ble-swarm/-/ble-swarm-2.3.4.tgz",
988 "integrity": "sha512-k/ucpIf7WB02d/eaY/CrlcBqpWiEcNgXKEtzHLZmT7x3dFp6myTCpF7dC/oeNKzdJ+ggWl9mh+wQRL13+tJ/wQ==",
989 "license": "Apache-2.0",
990 "dependencies": {
991 "@hyperswarm/secret-stream": "^6.9.2",
992 "b4a": "^1.9.0",
993 "bare-bluetooth": "^0.5.0",
994 "bare-events": "^2.9.2",
995 "hypercore-crypto": "^3.7.0",
996 "ready-resource": "^1.2.0",
997 "safety-catch": "^1.0.3",
998 "streamx": "^2.28.1",
999 "which-runtime": "^1.4.0"
1000 }
1001 },
9511002 "node_modules/blind-pairing-core": {
9521003 "version": "2.10.1",
9531004 "resolved": "https://registry.npmjs.org/blind-pairing-core/-/blind-pairing-core-2.10.1.tgz",
……@@ -976,9 +1027,9 @@
9761027 }
9771028 },
9781029 "node_modules/blind-peering": {
979 "version": "2.9.3",
980 "resolved": "https://registry.npmjs.org/blind-peering/-/blind-peering-2.9.3.tgz",
981 "integrity": "sha512-8U79Yj3SsFFjn5LAwJZL54hsLGeIfbK+KSdGFzICa7b3bwhM/bPoMSo9pPi/bDOU3fxnsCqsZa5JPCoBLGKanQ==",
1030 "version": "2.9.5",
1031 "resolved": "https://registry.npmjs.org/blind-peering/-/blind-peering-2.9.5.tgz",
1032 "integrity": "sha512-ZUfmCnlsBDiFu3jGbCWk2Tk0mfBv2uUWal7C4nHObuIeaCQ0hG12F+Ich+mlLqUSTIVVeeDe/NYccq/I/9CgtQ==",
9821033 "license": "Apache-2.0",
9831034 "dependencies": {
9841035 "b4a": "^1.6.7",
……@@ -1527,9 +1578,9 @@
15271578 }
15281579 },
15291580 "node_modules/hypercore-storage": {
1530 "version": "3.3.0",
1531 "resolved": "https://registry.npmjs.org/hypercore-storage/-/hypercore-storage-3.3.0.tgz",
1532 "integrity": "sha512-fCVf4rzuXS6rqOiwvvwZTXws1ImDTo/9G7y0Hc1HLLQzEsuEte94BlHvSQj44t+1jrKKbApKjdDq6QOu2JDmuA==",
1581 "version": "3.3.1",
1582 "resolved": "https://registry.npmjs.org/hypercore-storage/-/hypercore-storage-3.3.1.tgz",
1583 "integrity": "sha512-JQsJVdoNiLI1dBK5ryUC/XfP32MAzQk87jM7fXyatp6hZHMQLE6pGLh5D7kSo/7QqBf+GFgBAnqKwndkvfd4mQ==",
15331584 "license": "Apache-2.0",
15341585 "dependencies": {
15351586 "b4a": "^1.6.7",
……@@ -1541,7 +1592,7 @@
15411592 "hyperschema": "^1.21.0",
15421593 "index-encoder": "^3.3.2",
15431594 "resolve-reject-promise": "^1.0.0",
1544 "rocksdb-native": "^3.11.0",
1595 "rocksdb-native": "^3.18.0",
15451596 "scope-lock": "^1.2.4",
15461597 "streamx": "^2.21.1",
15471598 "xache": "^1.2.1"
……@@ -1653,9 +1704,9 @@
16531704 }
16541705 },
16551706 "node_modules/hyperswarm": {
1656 "version": "4.17.0",
1657 "resolved": "https://registry.npmjs.org/hyperswarm/-/hyperswarm-4.17.0.tgz",
1658 "integrity": "sha512-oe86sK961Ueg7rvDN/veFwG8xH+Iv6vObPhGDkPJcDVxk/NduW41ZhAcVDnHzRbm7S0eLU7WaDUvehOYoKSpRQ==",
1707 "version": "4.17.2",
1708 "resolved": "https://registry.npmjs.org/hyperswarm/-/hyperswarm-4.17.2.tgz",
1709 "integrity": "sha512-yKTNgHjijwrmSj5neC2Lu5JyKDvj9gZK/zkVLySP6J2M7nF+uvFMoxzRlWKKjdySfZVHZXPLfhk4xAnpqibm5A==",
16591710 "license": "MIT",
16601711 "dependencies": {
16611712 "b4a": "^1.3.1",
……@@ -2015,9 +2066,9 @@
20152066 }
20162067 },
20172068 "node_modules/rocksdb-native": {
2018 "version": "3.17.4",
2019 "resolved": "https://registry.npmjs.org/rocksdb-native/-/rocksdb-native-3.17.4.tgz",
2020 "integrity": "sha512-Y9iFKhgxT4mS8+uXxThBvvijCUl+ykFtNH++zbVZaE3ih30KyZ7Hz57BSwO6Q5VK08VkF3LiPzao3Xgr4Pi4NA==",
2069 "version": "3.18.0",
2070 "resolved": "https://registry.npmjs.org/rocksdb-native/-/rocksdb-native-3.18.0.tgz",
2071 "integrity": "sha512-Dzl1o3tb3Vit7M1Dn/80VvXMx2NhB4b36FboEr/WdhLta1TEDHPLAUheN3jAnYvyzZfIarGSDl609/bp1AKmtg==",
20212072 "license": "Apache-2.0",
20222073 "dependencies": {
20232074 "compact-encoding": "^3.0.0",
……@@ -2355,9 +2406,9 @@
23552406 "license": "MIT"
23562407 },
23572408 "node_modules/which-runtime": {
2358 "version": "1.3.2",
2359 "resolved": "https://registry.npmjs.org/which-runtime/-/which-runtime-1.3.2.tgz",
2360 "integrity": "sha512-5kwCfWml7+b2NO7KrLMhYihjRx0teKkd3yGp1Xk5Vaf2JGdSh+rgVhEALAD9c/59dP+YwJHXoEO7e8QPy7gOkw==",
2409 "version": "1.4.0",
2410 "resolved": "https://registry.npmjs.org/which-runtime/-/which-runtime-1.4.0.tgz",
2411 "integrity": "sha512-0ugbP4CJW4e2D20jvEcC4973dCgIaHI4Rw1PT+26U9zEve7FyYdWAIwUnoeOYvoCfn+wXHoHTKb1KhkYlb60Pw==",
23612412 "license": "Apache-2.0"
23622413 },
23632414 "node_modules/xache": {
package.json +14 -11
……@@ -1,6 +1,6 @@
11{
22 "name": "keet-daemon",
3 "version": "1.1.26",
3 "version": "1.1.27",
44 "type": "module",
55 "description": "Shared daemon module for keet-cli and godot-keet",
66 "main": "index.js",
……@@ -32,20 +32,21 @@
3232 "test:home-get": "HOME=$(mktemp -d) bare test/home-get.test.js",
3333 "postinstall": "node scripts/copy-keet-core-mirror.cjs"
3434 },
35 "//pin-note": "ALL keet-stack versions pinned EXACTLY to what Keet AppImage 4.22.5 (keet-core 4.22.28) ships — from its resources/app/dep-versions.json, captured 2026-09-30 (hyper-fleeky/keet-audit-4.22/dep-versions.json). Refresh by extracting versions from a current AppImage; do not relax pins on a hunch. ONE DELIBERATE EXCEPTION: bare-inspector stays 6.0.1 (Keet 4.22.5 ships 6.1.0), because 6.1.0 declares engines bare >=1.29.0 and our runtimes are 1.28.x (pgh runtime 1.28.7, Windows bare.exe 1.28.7) — it throws UNSUPPORTED_ENGINE at boot. keet-core 4.22.28 requires only ^6.0.1. Lift when every runtime is >= 1.29.",
35 "//pin-note": "ALL keet-stack versions pinned EXACTLY to what Keet AppImage 4.23.0 (keet-core 4.23.8) ships — from its resources/app/dep-versions.json, captured 2026-10-11 (hyper-fleeky/keet-audit-4.23/dep-versions.json). Refresh by extracting versions from a current AppImage; do not relax pins on a hunch. ONE DELIBERATE EXCEPTION: bare-inspector stays 6.0.1 (Keet 4.23.0 ships 6.1.0), because 6.1.0 declares engines bare >=1.29.0 and our runtimes are 1.28.x (pgh runtime 1.28.7, Windows bare.exe 1.28.7) — it throws UNSUPPORTED_ENGINE at boot. keet-core 4.23.8 requires only ^6.0.1. Lift when every runtime is >= 1.29.",
3636 "dependencies": {
3737 "@hyperswarm/rpc": "3.5.0",
3838 "@hyperswarm/secret-stream": "6.9.2",
3939 "autobase": "7.28.2",
40 "autobee": "2.11.8",
40 "autobee": "2.12.0",
4141 "autobee-encryption": "0.1.4",
42 "b4a": "1.8.1",
42 "b4a": "1.9.0",
4343 "bare-addon-resolve": "1.10.1",
44 "bare-bundle": "1.10.0",
44 "bare-bundle": "1.11.0",
4545 "bare-console": "6.2.0",
4646 "bare-events": "2.9.2",
4747 "bare-file-logger": "1.2.3",
4848 "bare-fs": "4.8.1",
49 "bare-hrtime": "2.1.2",
4950 "bare-inspector": "6.0.1",
5051 "bare-logger": "2.0.4",
5152 "bare-os": "3.9.3",
……@@ -56,8 +57,9 @@
5657 "bare-tcp": "2.6.1",
5758 "bare-zlib": "1.4.1",
5859 "bip39-mnemonic": "2.5.0",
60 "ble-swarm": "2.3.4",
5961 "blind-pairing-core": "2.10.1",
60 "blind-peering": "2.9.3",
62 "blind-peering": "2.9.5",
6163 "blind-push": "1.0.2",
6264 "bundlebee": "1.4.0",
6365 "compact-encoding": "3.5.0",
……@@ -80,12 +82,12 @@
8082 "hypercore-crypto": "3.7.0",
8183 "hypercore-id-encoding": "1.3.0",
8284 "hypercore-proof-queue": "2.1.0",
83 "hypercore-storage": "3.3.0",
85 "hypercore-storage": "3.3.1",
8486 "hyperdb": "6.9.0",
8587 "hyperdht": "6.34.0",
8688 "hyperdispatch": "1.6.0",
8789 "hyperschema": "1.26.2",
88 "hyperswarm": "4.17.0",
90 "hyperswarm": "4.17.2",
8991 "hypertrace": "1.4.2",
9092 "index-encoder": "3.3.1",
9193 "keet-identity-key": "3.2.0",
……@@ -103,13 +105,14 @@
103105 "ready-resource": "1.2.0",
104106 "resolve-reject-promise": "1.1.0",
105107 "rocksdb-blobs": "1.1.0",
106 "rocksdb-native": "3.17.4",
108 "rocksdb-native": "3.18.0",
107109 "safety-catch": "1.0.3",
108110 "scope-lock": "1.2.4",
109111 "sdp-transform": "2.15.0",
110112 "sentry-bare": "0.2.1",
111113 "signal-promise": "1.0.3",
112114 "sodium-native": "5.1.0",
115 "speedometer": "1.1.0",
113116 "streamx": "2.28.1",
114117 "sub-encoder": "2.1.3",
115118 "suspendify": "1.7.2",
……@@ -126,9 +129,9 @@
126129 "hyperbee2": "2.18.0",
127130 "autobase": "7.28.2",
128131 "hypercore": "11.37.0",
129 "hypercore-storage": "3.3.0",
132 "hypercore-storage": "3.3.1",
130133 "corestore": "7.12.6",
131 "b4a": "1.8.1",
134 "b4a": "1.9.0",
132135 "compact-encoding": "3.5.0"
133136 },
134137 "//keet-core-note": "@holepunchto/keet-core (4.22.28) and its private @holepunchto/* peer deps are NOT on public npm. They are not declared in dependencies — the `postinstall` script copies them from ../../holepunchto-deps/@holepunchto/, which is refreshed from hyper-fleeky/keet-audit-<v>/extracted (keet-cli/tools/extract-bundle.cjs on the AppImage's core-worker.bundle). The PUBLIC peers keet-core needs at runtime ARE declared above so npm install resolves them."