fix(zigbee): allow explicit retry after transient reload failure (#800)

Issue: #800
User-Visible: yes
This commit is contained in:
Matysh
2026-10-05 20:12:25 +03:00
parent 4a7abf531b
commit 67af859e8c
8 changed files with 181 additions and 5 deletions
+11
View File
@@ -9878,6 +9878,17 @@ const MUTANT_DEFINITIONS = [
replace: ' async with asyncio.timeout(600):\n await self.hass.loop.create_future()',
}],
},
{
id: 'zigbee-background-reload-error-poisons-explicit-retry',
guard: 'npx tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs '
+ '&& node --test --test-name-pattern="explicit retry recovers" test/zigbee-topology-runtime-routes.test.mjs',
because: '#800: a temporary config/get not_ready during integration reload must not cache a rejected promise forever',
patches: [{
file: 'src/zigbee-topology-runtime.ts',
find: ' if (cache.capability === pending) cache.capability = undefined;',
replace: ' void pending; // mutant: retain the rejected capability forever',
}],
},
{
id: 'zigbee-background-unload-leaves-ui-waiting',
guard: 'node scripts/backend-test-guard.mjs issue_800_entry_unload_clears_jobs_and_new_entry_session_is_idle '