fix: keep bridge readiness stable during live state updates #33

Merged
Wuast94 merged 6 commits from fix/bridge-readiness into main 2026-10-13 14:45:33 +02:00
Owner

Normal WLED state updates invalidated whole-Bridge readiness until each entity and availability ACK, causing 117/844 production probes to return 503 despite connected HA/MQTT. Readiness now retains confirmed initialization for the current HA generation during state/attribute writes. Every write and latest-revision recovery remains independent and ACK-bound; new entities, configuration changes, restore/reconnect and cleanup still invalidate initialization.

Three real HA/HTTP regressions cover held identical writes, rejection/stale ACK/recovery, new entities, configuration/reconnect/offline and successful probes with one async worker and held CPU capacity. Existing generation watchers reset on a new reconcile attempt. The previously failing resize fixture captures visible marker geometry atomically while preserving all assertions.

Validation: reproduced the original 503, targeted connector/HTTP/browser tests passed, then full just gate exit 0 (82 Rust tests, existing frontend/tooling suites, strict Clippy/deny/machete). Shared S3 cache verified without backend errors. JSON formats, automations, production resources and image namespace unchanged. Native CI/candidate acceptance required before merge; release/SBOM and primary kube GitOps follow.

Normal WLED state updates invalidated whole-Bridge readiness until each entity and availability ACK, causing 117/844 production probes to return 503 despite connected HA/MQTT. Readiness now retains confirmed initialization for the current HA generation during state/attribute writes. Every write and latest-revision recovery remains independent and ACK-bound; new entities, configuration changes, restore/reconnect and cleanup still invalidate initialization. Three real HA/HTTP regressions cover held identical writes, rejection/stale ACK/recovery, new entities, configuration/reconnect/offline and successful probes with one async worker and held CPU capacity. Existing generation watchers reset on a new reconcile attempt. The previously failing resize fixture captures visible marker geometry atomically while preserving all assertions. Validation: reproduced the original 503, targeted connector/HTTP/browser tests passed, then full just gate exit 0 (82 Rust tests, existing frontend/tooling suites, strict Clippy/deny/machete). Shared S3 cache verified without backend errors. JSON formats, automations, production resources and image namespace unchanged. Native CI/candidate acceptance required before merge; release/SBOM and primary kube GitOps follow.
fix: keep bridge readiness stable during live state updates
Some checks failed
CI / Quality (pull_request) Successful in 4m13s
CI / Build production (pull_request) Has been cancelled
e7db56f193
chore: merge upstream Common dependency declaration
All checks were successful
CI / Quality (pull_request) Successful in 3m48s
CI / Build production (pull_request) Successful in 15m58s
1634c56856
chore: integrate upstream lockfile maintenance
All checks were successful
CI / Quality (pull_request) Successful in 2m54s
CI / Build production (pull_request) Successful in 11m30s
ab17b8292b
Wuast94 deleted branch fix/bridge-readiness 2026-10-13 14:45:34 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Wuast94/pypypew!33
No description provided.