a8d87ac1d9
Deciding whether the OS can back glass needs os.release(), but every Hermes window runs its preload with sandbox: true, where require is a polyfill limited to electron, events, timers and url. The node:os import threw before contextBridge ran, so window.hermesDesktop was never defined and the app booted straight into "Desktop IPC bridge is unavailable". Main already computes both verdicts, so preload asks for them over a synchronous channel instead. No reply degrades to no glass, which is an ordinary opaque window rather than a page thinned over nothing.