Skip to content

fix: use hass setter to guarantee re-render on state changes#19

Merged
dmoo500 merged 1 commit intomainfrom
fix/hass-reactivity
Mar 13, 2026
Merged

fix: use hass setter to guarantee re-render on state changes#19
dmoo500 merged 1 commit intomainfrom
fix/hass-reactivity

Conversation

@dmoo500
Copy link
Owner

@dmoo500 dmoo500 commented Mar 13, 2026

Problem

The card did not update when GitHub entity data changed in Home Assistant.

Root cause: @property({ attribute: false }) on hass uses Lit's default reference-equality check (oldHass !== newHass). HA sometimes reuses the same hass object reference when an entity changes, so Lit skips the re-render entirely.

Changes

src/github-card.ts

  • Replaced @property decorator with an explicit getter/setter on hass
  • The setter unconditionally calls this.requestUpdate(), guaranteeing a re-render every time HA pushes new data — regardless of reference equality
  • Lit's update batching keeps this efficient (one re-render per animation frame)

.github/workflows/release.yml

  • Added --overwrite to gh release create to handle workflow re-runs for an already-published tag

Replace @Property decorator with explicit getter/setter on hass.
Lit's default reference-equality check caused the card to skip
re-renders when HA reused the same hass object reference.
The setter always calls requestUpdate() ensuring the card
updates whenever hass is set.

Also add --overwrite to gh release create to handle re-runs
for an existing tag.
@dmoo500 dmoo500 merged commit ea41813 into main Mar 13, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant