Every 3 s topology poll and every composer render called sendSync for the local-environment bootstraps and enabled flag, so a busy main process froze the renderer while typing (#12689). The preload now reads each value synchronously once for the first paint and caches it. The enabled flag only changes through a setter that relaunches the app, so the startup value stays correct. Bootstraps are refreshed by a new async bridge method over ipcRenderer.invoke on the same channel; the platform poll awaits it before reading the primary and secondary topology, so a WSL/secondary backend appearing, disappearing or changing still reaches the UI within one poll. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Julius Marminge committed on 10/22/2026, 12:03:36 PMparent2669a8b
8 files changedLine totals unavailable