@dotrino/vaultd 0.107.2 → 0.108.0
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 +1 -1
- package/src/tui/app.js +19 -1
- package/src/tui/i18n.js +7 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dotrino/vaultd",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.108.0",
|
|
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": {
|
package/src/tui/app.js
CHANGED
|
@@ -134,7 +134,10 @@ function mergeMembersAndCerts (members, issued) {
|
|
|
134
134
|
addedAt: m.addedAt || null,
|
|
135
135
|
// El master es la propia bóveda: no tiene (ni necesita) certificado. Un servicio
|
|
136
136
|
// tampoco lleva uno de dispositivo. Marcarlos «sin acceso» sería una alarma falsa.
|
|
137
|
-
noAccess: !cert && !m.isMaster && !m.cn
|
|
137
|
+
noAccess: !cert && !m.isMaster && !m.cn,
|
|
138
|
+
// QUÉ CORRE ESE APARATO (CONVENCIONES §14). Lo apunta la bóveda cuando le habla, así
|
|
139
|
+
// que aquí solo hay que dejarlo pasar — que es justo lo que le faltaba a `addedAt`.
|
|
140
|
+
running: m.running || null
|
|
138
141
|
}
|
|
139
142
|
})
|
|
140
143
|
}
|
|
@@ -266,8 +269,23 @@ function deviceRows (st, t) {
|
|
|
266
269
|
const vars = devVarsOf(st, d.sub).length
|
|
267
270
|
const debt = debtOf(st, d.sub)
|
|
268
271
|
const desde = d.addedAt ? t.muted(` ${i.deviceSince}:${fmtExp(d.addedAt)}`) : ''
|
|
272
|
+
// QUÉ VERSIÓN CORRE, y en color de aviso si no cuadra con la nuestra.
|
|
273
|
+
//
|
|
274
|
+
// Sin esto una incompatibilidad de versiones se ve como que ese aparato «no responde»,
|
|
275
|
+
// que es el fallo más caro que ha tenido el ecosistema: el apagón del 1-2 de septiembre
|
|
276
|
+
// fueron tres servicios reintentando cada 60 s contra una bóveda que ya no les
|
|
277
|
+
// entendía, un día entero y sin una sola línea que lo dijera.
|
|
278
|
+
//
|
|
279
|
+
// Un aparato que todavía no ha hablado desde que arrancamos no sale: `null` es «no lo
|
|
280
|
+
// sé», y escribir «desconocido» en cada fila sería ruido, no información.
|
|
281
|
+
const corre = d.running
|
|
282
|
+
? (d.running.compatible
|
|
283
|
+
? t.muted(` ${i.runs}:${d.running.version}`)
|
|
284
|
+
: t.warn(` ${i.mismatch(d.running.product, d.running.version)}`))
|
|
285
|
+
: ''
|
|
269
286
|
const extra = (d.certCount > 1 ? t.muted(` certs:${d.certCount}`) : '') +
|
|
270
287
|
(vars ? t.muted(` vars:${vars}`) : '') +
|
|
288
|
+
corre +
|
|
271
289
|
// EN DEUDA: en el acta y sin poder abrir lo suyo. Va en color de aviso al lado de
|
|
272
290
|
// sus variables, que es donde se mira cuando algo no arranca.
|
|
273
291
|
(debt ? t.warn(` ${i.deviceDebt(debt)}`) : '')
|
package/src/tui/i18n.js
CHANGED
|
@@ -166,6 +166,11 @@ const es = {
|
|
|
166
166
|
// Está en el acta y no puede entrar: o le retiraron el certificado, o se le venció.
|
|
167
167
|
deviceNoAccess: 'SIN ACCESO — está en el perfil pero no puede entrar',
|
|
168
168
|
deviceDebt: (n) => `no abre ${n}`,
|
|
169
|
+
// QUÉ CORRE CADA APARATO (CONVENCIONES §14). `runs` va en gris —es un dato— y el aviso
|
|
170
|
+
// en color, porque una versión que no cuadra es lo que hace que ese aparato parezca
|
|
171
|
+
// apagado cuando en realidad no os entendéis.
|
|
172
|
+
runs: 'corre',
|
|
173
|
+
mismatch: (producto, version) => `⚠ ${producto} ${version} no cuadra`,
|
|
169
174
|
thisVault: 'esta bóveda (manda ella)',
|
|
170
175
|
cantRemoveMaster: 'Esta bóveda es la que manda: no se quita a sí misma.',
|
|
171
176
|
revokedCount: (n) => ` Revocados: ${n}`,
|
|
@@ -489,6 +494,8 @@ const en = {
|
|
|
489
494
|
noLabel: '(no label)',
|
|
490
495
|
deviceNoAccess: 'NO ACCESS — it is on the record but cannot get in',
|
|
491
496
|
deviceDebt: (n) => `cannot open ${n}`,
|
|
497
|
+
runs: 'runs',
|
|
498
|
+
mismatch: (product, version) => `⚠ ${product} ${version} does not match`,
|
|
492
499
|
thisVault: 'this vault (it is the Master)',
|
|
493
500
|
cantRemoveMaster: 'This vault is the Master: it does not remove itself.',
|
|
494
501
|
revokedCount: (n) => ` Revoked: ${n}`,
|