@dotrino/vaultd 0.131.0 → 0.131.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/daemon.js +27 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dotrino/vaultd",
|
|
3
|
-
"version": "0.131.
|
|
3
|
+
"version": "0.131.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Certificador personal de Dotrino: daemon headless que custodia la clave maestra y delega capacidades a tus dispositivos por el proxy. Tu CA propia.",
|
|
6
6
|
"bin": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@dotrino/proxy-client": "0.24.0",
|
|
29
29
|
"@dotrino/roadmap": "0.3.7",
|
|
30
30
|
"@dotrino/store": "0.11.0",
|
|
31
|
-
"@dotrino/update": "0.2.
|
|
31
|
+
"@dotrino/update": "0.2.2",
|
|
32
32
|
"ws": "^8.18.0"
|
|
33
33
|
},
|
|
34
34
|
"license": "MIT",
|
package/src/daemon.js
CHANGED
|
@@ -1025,12 +1025,24 @@ export async function runDaemon () {
|
|
|
1025
1025
|
* Lo que arregla es lo que de verdad dolió el 2026-09-19: el replicador llevaba quince
|
|
1026
1026
|
* días atrás y las bóvedas dos versiones, y NADA lo decía en ninguna pantalla.
|
|
1027
1027
|
*
|
|
1028
|
-
*
|
|
1029
|
-
* problema del usuario, y
|
|
1028
|
+
* SI NO SE PUEDE MIRAR, SE DICE — una vez por motivo, no en cada intento. Antes se callaba
|
|
1029
|
+
* («no saber si hay versión nueva no es un problema del usuario»), y eso choca con §15:
|
|
1030
|
+
* «no se pudo mirar» NUNCA es «estás al día». El 2026-09-24 una bóveda se quedó en la
|
|
1031
|
+
* 0.130.0 con la 0.131.0 publicada y el log no decía nada: no había forma de saber si
|
|
1032
|
+
* estaba al día o si no había podido preguntar.
|
|
1030
1033
|
*/
|
|
1034
|
+
let ultimoFallo = null
|
|
1031
1035
|
const mirarRelease = async () => {
|
|
1032
|
-
|
|
1033
|
-
|
|
1036
|
+
let r
|
|
1037
|
+
try { r = await latestRelease() } catch (e) { r = { ok: false, reason: e?.message || String(e) } }
|
|
1038
|
+
if (!r.ok) {
|
|
1039
|
+
if (r.reason !== ultimoFallo) console.log(`[vault] could not check for a new version: ${r.reason} · trying again in an hour`)
|
|
1040
|
+
ultimoFallo = r.reason
|
|
1041
|
+
// Un fallo al arrancar (la red todavía no está) no puede costar un día entero.
|
|
1042
|
+
setTimeout(mirarRelease, 60 * 60_000).unref?.()
|
|
1043
|
+
return
|
|
1044
|
+
}
|
|
1045
|
+
ultimoFallo = null
|
|
1034
1046
|
ultimaPublicada = { version: r.version, checkedAt: Date.now() }
|
|
1035
1047
|
writeState()
|
|
1036
1048
|
if (!isNewer(r.version, daemonVersion)) return
|
|
@@ -1074,7 +1086,17 @@ export async function runDaemon () {
|
|
|
1074
1086
|
console.log(`[vault] update to ${r.version} NOT installed: ${res.reason}${res.file ? ` (file left at ${res.file})` : ''}`)
|
|
1075
1087
|
return
|
|
1076
1088
|
}
|
|
1077
|
-
|
|
1089
|
+
// SE REINICIA YA, no cuando lo note el vigilante: este proceso sabe que acaba de cambiar
|
|
1090
|
+
// el binario. Esperar al vigilante (mira cada minuto y exige verlo dos veces) dejaba ~2
|
|
1091
|
+
// minutos con el CLI y la TUI nuevos hablando con el daemon viejo; el dueño abrió la
|
|
1092
|
+
// TUI justo ahí y no arrancó (2026-09-24). Solo bajo systemd, que es quien nos levanta:
|
|
1093
|
+
// sin él, irnos sería quedarnos apagados.
|
|
1094
|
+
if (vigia) {
|
|
1095
|
+
console.log(`[vault] update: ${r.version} installed · restarting now to run it`)
|
|
1096
|
+
shutdown(`updated to ${r.version}`)
|
|
1097
|
+
} else {
|
|
1098
|
+
console.log(`[vault] update: ${r.version} installed · restart the vault to run it`)
|
|
1099
|
+
}
|
|
1078
1100
|
} catch (e) {
|
|
1079
1101
|
console.log(`[vault] update to ${r.version} failed: ${e.message}`)
|
|
1080
1102
|
} finally { actualizando = false }
|