feat(report): v0.139.0 — immediate out-of-cycle hub report on user actions (Direction 1)
New report.Trigger (buffered-1 chan + worker; quiet 2s, min spacing 15s, trailing-edge coalescing) generalizes the v0.70.0 geo out-of-band push. One canonical fire closure in main.go; wired: geo save/sync + app deploy/remove/delete (api reportPushNow), escrow recovery-code claim, notification-prefs save, app-email toggle, offsite config + per-app toggle, customer claim (web SetReportTrigger seam, nil-safe, fired only after a successful local commit). 15-min hub-report cycle untouched as the reconciliation backbone; hub.enabled=false stays a strict no-op. Tests: trigger engine (2 red-proofs), seam fires-after-commit-only, nil-seam no-ops.
This commit is contained in:
+19
-1
@@ -7,7 +7,25 @@
|
||||
>
|
||||
> Ask Claude Code: "Please update CONTEXT.md with what we did today"
|
||||
|
||||
Last updated: 2026-07-16 (v0.138.0 — escrow "awaiting hub confirmation" waiting state)
|
||||
Last updated: 2026-07-16 (v0.139.0 — immediate out-of-cycle hub report, Direction 1)
|
||||
|
||||
> **2026-07-16 — v0.139.0: immediate out-of-cycle hub report on user actions (Direction 1
|
||||
> SHIPPED; Direction 2 pending SPIKE-immediate-sync-transport).** Viktor's ruling: user actions
|
||||
> with hub-side effects round-trip in seconds. New `report.Trigger` (`internal/report/trigger.go`):
|
||||
> buffered-1 chan + worker, quiet 2 s → drain → min-interval 15 s → ONE full BuildReport+Claimed+
|
||||
> Push; trailing-edge coalescing (burst ≤ 1+ceil(burst/15 s) pushes, last state always lands),
|
||||
> no own retries, failures degrade to the UNTOUCHED 15-min cycle. Generalizes the v0.70.0 geo
|
||||
> `reportPushNow` seam (raw goroutine in main.go replaced by the debounced trigger). Wired: geo
|
||||
> save/sync + app deploy/remove/delete (api), and via `web.SetReportTrigger`/`reportTriggerNow`
|
||||
> (nil-safe, AFTER successful local commit only): escrow recovery-code claim (headline — the
|
||||
> v0.138.0 "megerősítésre vár" card now collapses in seconds via the unchanged EscrowAutoConfirmer
|
||||
> ACK hash-match), notification-prefs save, app-email toggle, offsite config + per-app toggle,
|
||||
> customer claim. `hub.enabled:false` → seams nil → strict no-op. NO hub change, NO UI copy change
|
||||
> ("legfeljebb 15 perc" stays the honest worst case; post-live-proof a soften to "általában néhány
|
||||
> másodperc" is a later one-liner). Tests: trigger_test.go (2 red-proofs recorded),
|
||||
> report_trigger_seam_test.go, report_trigger_nilsafe_test.go. Known pre-existing Windows-only
|
||||
> test failures (appexport df=0, stacks paperless, web fab pipelines) verified failing on base
|
||||
> 8f3564c too.
|
||||
|
||||
> **2026-07-16 — v0.138.0: escrow "awaiting hub confirmation" waiting state.** Fixes the customer-zero
|
||||
> (N100) UX gap: after a completed escrow ceremony the Távoli mentés page kept showing the yellow
|
||||
|
||||
Reference in New Issue
Block a user