pyscript icon indicating copy to clipboard operation
pyscript copied to clipboard

fix module context starting before Home Assistant; see #784

Open dmamelin opened this issue 3 weeks ago • 2 comments

Explanation: Before this PR, all imported modules were always assigned auto_start = True, which caused their triggers to run immediately after the file was loaded:

load files from disk → import modules → module.set_auto_start(True) → run module triggers (including the factories) → wait for HA startup → run file-level triggers

After this PR, a module inherits the auto_start value of the current context: • If Home Assistant is already running, behavior remains unchanged. • If HA is still starting up, the current context has auto_start == False, and the module receives the same value. In this case, the module will start later in start_global_context, together with all other contexts.

dmamelin avatar Dec 09 '25 15:12 dmamelin

This PR did not break anything for me, it seems.

ALERTua avatar Dec 09 '25 15:12 ALERTua

Perhaps in start_global_context, modules should be launched first so that their triggers and trigger-factories can execute, and then everything else. This would preserve the startup order as before. But I don't see the point - the order of execution of pyscript triggers isn't guaranteed.

dmamelin avatar Dec 09 '25 15:12 dmamelin

Thanks for the PR!

craigbarratt avatar Dec 13 '25 00:12 craigbarratt