@dotrino/vaultd 0.139.0 → 0.139.1
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/threadStore.js +8 -3
- package/src/vault.js +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dotrino/vaultd",
|
|
3
|
-
"version": "0.139.
|
|
3
|
+
"version": "0.139.1",
|
|
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": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@dotrino/compat": "0.4.0",
|
|
25
|
-
"@dotrino/identity": "^0.107.
|
|
25
|
+
"@dotrino/identity": "^0.107.1",
|
|
26
26
|
"@dotrino/opaque": "0.1.0",
|
|
27
27
|
"@dotrino/passmanager": "0.17.0",
|
|
28
28
|
"@dotrino/proxy-client": "0.27.1",
|
package/src/threadStore.js
CHANGED
|
@@ -220,15 +220,19 @@ export function openThreadStore (dir) {
|
|
|
220
220
|
* sirve nada cerrado con ella (dueño, 2026-09-30). Cada entrada que cambia estrena `ts`,
|
|
221
221
|
* para que los aparatos la bajen en su siguiente sincronización.
|
|
222
222
|
*
|
|
223
|
+
* También MIGRA los sobres de la cuenta anteriores a la marca (`{ gen, iv, ct }` a secas,
|
|
224
|
+
* identity < 0.107): si abren con la llave de la cuenta se vuelven a cerrar marcados; si no,
|
|
225
|
+
* no eran de la cuenta y se cuentan en `skipped` sin tocarlos.
|
|
226
|
+
*
|
|
223
227
|
* La versión anterior NO se tira: queda en `resealed` con la fecha, por si algo sale mal
|
|
224
228
|
* (lo pidió el dueño: «podría retenerlos… pero no los envía»), y se guarda AL MENOS un
|
|
225
229
|
* año (`RESEALED_KEEP_MS`). No se sirve por ningún método.
|
|
226
230
|
*
|
|
227
231
|
* @param {{ gen: number, reseal: (env: object) => Promise<object> }} o
|
|
228
|
-
* @returns {Promise<{ changed: number, entries: number }>}
|
|
232
|
+
* @returns {Promise<{ changed: number, entries: number, skipped: number }>}
|
|
229
233
|
*/
|
|
230
234
|
async function resealStaleEnvelopes ({ gen, reseal }) {
|
|
231
|
-
let changed = 0; let entries = 0
|
|
235
|
+
let changed = 0; let entries = 0; let skipped = 0
|
|
232
236
|
const now = Date.now()
|
|
233
237
|
if (!data.resealed) data.resealed = []
|
|
234
238
|
// Solo sale lo que ya cumplió su año de respaldo.
|
|
@@ -238,6 +242,7 @@ export function openThreadStore (dir) {
|
|
|
238
242
|
for (const [key, arr] of Object.entries(data.threads)) {
|
|
239
243
|
for (let i = 0; i < arr.length; i++) {
|
|
240
244
|
const r = await resealStale(arr[i], { gen, reseal })
|
|
245
|
+
skipped += r.skipped || 0
|
|
241
246
|
if (!r.changed) continue
|
|
242
247
|
data.resealed.push({ threadKey: key, at: now, gen, before: arr[i] })
|
|
243
248
|
arr[i] = { ...r.value, ts: Math.max(now, (arr[i].ts || 0) + 1) }
|
|
@@ -245,7 +250,7 @@ export function openThreadStore (dir) {
|
|
|
245
250
|
}
|
|
246
251
|
}
|
|
247
252
|
if (entries || podados) save()
|
|
248
|
-
return { changed, entries }
|
|
253
|
+
return { changed, entries, skipped }
|
|
249
254
|
}
|
|
250
255
|
|
|
251
256
|
return { methods, raw: () => data, resealStaleEnvelopes }
|
package/src/vault.js
CHANGED
|
@@ -134,6 +134,7 @@ export async function startVault ({ dir = dataDir(), proxyUrl, log = console.log
|
|
|
134
134
|
audit('resealed', { envelopes: r.changed, entries: r.entries, gen: mine.gen })
|
|
135
135
|
log(`[vault] ${why}: resealed ${r.changed} envelope(s) in ${r.entries} entr${r.entries === 1 ? 'y' : 'ies'} with content key generation ${mine.gen}`)
|
|
136
136
|
}
|
|
137
|
+
if (r.skipped) log(`[vault] ${why}: ${r.skipped} unmarked envelope(s) that the account key does not open were left as they are`)
|
|
137
138
|
return r
|
|
138
139
|
}
|
|
139
140
|
const approvals = createApprovals()
|