mirror of
https://github.com/narrrl/narl-workspace.git
synced 2026-11-03 16:41:27 +01:00
The idle timeout was checked only when the key was next asked for, so a vault nobody touched kept its key in memory indefinitely while status reported it locked. A ticker now drops the key once it is idle, and status() expires it too. Vault passwords are Zeroizing from the request body to Argon2. Re-sealing a file rewrote links with a case-sensitive replace, and only in documents linked through node_media. Links are now matched by regex, whatever their case, in every document and card body that names the id. A folder re-seal carries on past a file that fails and reports how many failed. Two re-seals of one file no longer both commit. :share reports how many sealed files the document embeds, since a share link never serves them, and :encrypt reports how many shared documents embed what it just sealed. Vault status counts sealed files, so :export! asks for the password first rather than navigating into a 423 page. A sealed embed that fails to load while the vault is shut becomes a button that unlocks it and puts the embed back.