From dcf4f84cb77521efba79811b959bef85045a727c Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Sat, 24 Oct 2026 20:37:59 +0200 Subject: [PATCH] hub R-1254 (P2): the escrow key, its hash and the identity blob in ONE transaction; a bad identity blob is refused before anything is stored. Committed, not deployed. --- REUSE.md | 2 +- hub/CHANGELOG.md | 15 ++++ hub/internal/api/handler.go | 31 ++++---- hub/internal/api/r1254_escrow_put_test.go | 38 ++++++++++ .../store/r1254_escrow_one_tx_test.go | 70 +++++++++++++++++++ hub/internal/store/store.go | 25 +++++++ 6 files changed, 165 insertions(+), 16 deletions(-) create mode 100644 hub/internal/api/r1254_escrow_put_test.go create mode 100644 hub/internal/store/r1254_escrow_one_tx_test.go diff --git a/REUSE.md b/REUSE.md index a002ffde..299d70b5 100644 --- a/REUSE.md +++ b/REUSE.md @@ -96,7 +96,7 @@ | `(*Server).configFormData` (v0.49.0) | hub/internal/web/configs.go (~L430) | `(r, isNew, cfg, overrides, errMsg) configFormView` | The ONE view-model builder for the customer config form (standalone chrome + the customer page Edit tab) | `overrides=nil` → parses the STORED cfg.ConfigJSON; pass the SUBMITTED map on the update validation-error re-render or typed values reset (red-proofed). | | `config_form_body` sub-template (v0.49.0) | hub/internal/web/templates/config_form_body.html | `{{template "config_form_body" }}` | Rendering the config form on ANY surface (config_form.html chrome + customer Edit tab) | The floor/geo/danger cards on the Edit tab are SIBLINGS after `` — never nest a form inside it (breaks the offsite/PBS formaction sub-buttons). Includes the F5 in-flight `