TargetHUD setReport skips rebuild when composition/difficulty change but scan identity matches #1096

Closed
opened 2026-08-13 14:22:01 +00:00 by spikerj · 1 comment
Owner

In target-hud.ts setReport, after the identity check (this.report === report) a second guard skips rebuild whenever bodyId, quality, and scannedAtUtc all match — even if difficulty, signals, or composition differ on a new object.

updateTargetHudFrame / survey handlers that re-push a report object with the same scan identity therefore leave a stale THREAT line and composition list on screen.

Covered as characterization in target-hud.leftovers.spec.ts (wave 8 a3). If the skip is only meant to avoid wiping the live DIST readout, key the skip on a content hash or skip only on ===, not on the three identity fields.

In `target-hud.ts` `setReport`, after the identity check (`this.report === report`) a second guard skips rebuild whenever `bodyId`, `quality`, and `scannedAtUtc` all match — even if `difficulty`, signals, or `composition` differ on a new object. `updateTargetHudFrame` / survey handlers that re-push a report object with the same scan identity therefore leave a stale THREAT line and composition list on screen. Covered as characterization in `target-hud.leftovers.spec.ts` (wave 8 a3). If the skip is only meant to avoid wiping the live DIST readout, key the skip on a content hash or skip only on `===`, not on the three identity fields.
Author
Owner

Fixed in spikersoft-angular PR #823 (a0f0ccd9). Closing.

Fixed in `spikersoft-angular` [PR #823](https://git.spikersoft.com/spikerj/spikersoft-angular/pulls/823) (`a0f0ccd9`). Closing.
Sign in to join this conversation.