david raistrick
|
d979b03f2e
|
tests: BUG-4 RED locked (hide-HP clobbers activeDisplay), add write recorder
src/tests/HideHpToggle.test.js: renders App, selects campaign, toggles
hide-player-HP switch, asserts setDoc data includes activeCampaignId +
activeEncounterId. RED: data only {hidePlayerHp:true}, both clobbered.
Root cause proven with evidence (recorder):
setDoc(activeDisplay/status, {hidePlayerHp:true}, {merge:true})
data written = {hidePlayerHp:true} ONLY
activeCampaignId = undefined
activeEncounterId = undefined
setDoc = replace per contract. {merge:true} arg ignored. Toggle wipes
encounter pointer → DisplayView reads null → 'Game Session Paused'.
Fix: use updateDoc (patch), not setDoc.
src/storage/firebase.js: adapter recorder now captures setDoc + updateDoc
(data + opts). Was subscribe-only. Enables write-path assertions.
|
2026-06-30 13:55:14 -04:00 |
|