fix(desktop): stop blocking the renderer during topology polling

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>
0427a89a55Julius Marminge committed on 10/22/2026, 12:03:36 PMparent2669a8b
8 files changedLine totals unavailable