Skip to content

Reliability and hygiene batch for 1.34.8 - #107

Merged
dougrathbone merged 8 commits into
masterfrom
dougrathbone/next-work-batch-9cfb
Sep 11, 2026
Merged

dougrathbone merged 8 commits into
masterfrom
dougrathbone/next-work-batch-9cfb

Conversation

@dougrathbone

Copy link
Copy Markdown
Owner

Summary

Batch from the post-1.34.7 “what next” survey, minus HVAC hardware TODOs. Closes silent dimmer ramps, hardens CBZ import and the unbound web UI, and tightens tests around the connection pool and HTTP helpers.

Changes

  • Dimmer INCREASE/DECREASE abort with a warning when the current level is not reported in time
  • Startup warning when the web server binds off loopback without a web API key
  • Toolkit ZIP imports reject symbolic-link entries (adm-zip still has no extractAllTo fix)
  • Shared C-Bus numeric bounds (setpoint raw max, int16/int8, security zones)
  • Single pipeline for app event-line handlers; settings reload pushes labels into HA discovery
  • Connection pool: writable-socket preference tests, reconnect-failure coverage
  • Label PUT/import uses sanitizePlainObject; dedicated httpHelpers tests

Test plan

  • npm test passes locally with no failures (3106 tests)
  • npm run lint and npm run typecheck pass
  • New coverage on pool reconnect, httpHelpers, relative-level timeout, web bind warning, ZIP symlink preflight, reloadSettings → updateLabels

Checklist

  • Version bumped in package.json and homeassistant-addon/config.yaml (if releasing)
  • CHANGELOG.md updated (if releasing)
  • No sensitive data or credentials included
Open in Web Open in Cursor 

cursoragent and others added 8 commits September 11, 2026 20:11
Setpoint raw max, int16/int8 ranges, and security zone limits lived in
several decoders and routers. One table in constants.js keeps them from
drifting apart.

Co-authored-by: Doug Rathbone <dougrathbone@users.noreply.github.com>
Wire sanitizePlainObject into PUT/import payload normalization so
prototype-polluting keys are dropped before nested maps are copied, and
give httpHelpers its own tests instead of relying on webServer coverage.

Co-authored-by: Doug Rathbone <dougrathbone@users.noreply.github.com>
Invalidate the healthy-connection cache on backpressure so execute()
re-sorts, and add tests for that preference, event forwarding, and the
destroy-and-recreate path when a reconnect attempt fails.

Co-authored-by: Doug Rathbone <dougrathbone@users.noreply.github.com>
Add-on mode listens on all interfaces for Ingress. If the port is also
published, mutating routes need web_api_key; say so at startup.

Co-authored-by: Doug Rathbone <dougrathbone@users.noreply.github.com>
Relative ramps previously logged a warning and did nothing the MQTT
client could observe. The timeout now calls the operation callback so
the lighting router can skip the ramp and log that the command aborted.

Co-authored-by: Doug Rathbone <dougrathbone@users.noreply.github.com>
Run aircon, security, measurement, and clock handlers through one
pipeline so unparsed app traffic is dropped without four copy-pasted
branches. Settings reload now pushes the label snapshot into HA
discovery, which load() itself does not notify.

Co-authored-by: Doug Rathbone <dougrathbone@users.noreply.github.com>
adm-zip still has no fix for extractAllTo following destination
symlinks. We only inflate in memory, but preflight now refuses symlink
members so a later on-disk extract cannot inherit that bug.

Co-authored-by: Doug Rathbone <dougrathbone@users.noreply.github.com>
Co-authored-by: Doug Rathbone <dougrathbone@users.noreply.github.com>
@dougrathbone
dougrathbone marked this pull request as ready for review September 11, 2026 20:12
@dougrathbone
dougrathbone merged commit 63ceeb2 into master Sep 11, 2026
25 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.

2 participants