Matter.js corrects update loops in which a controller announces a locally supplied firmware file, then tells the device that no update is available. The library uses the same selection rule for both steps: local test files are offered only when test-image support is enabled.

It also keeps permission tied to the chosen firmware version and stops repeatedly announcing an undeliverable update. A failed attempt is held back from further announcements for 24 hours unless fresh consent is given; the device can still request it itself. Applications using Matter.js need to adopt the change, and separate failures while transferring firmware remain outside this correction.