gui/pkg/preload
Snider fa4168e380 feat(gui): InjectPreload — storage polyfills + Electron shim + app preloads
New pkg/preload package:
- preload.go — InjectPreload(webview, origin) entry point; builds
  three-step preload: storage polyfills, Electron shim (origin-
  filtered), app preloads from .core/view.yaml manifest.preloads.
- assets/storage_polyfills.js — localStorage/sessionStorage/
  IndexedDB bridges.
- assets/electron_shim.js — minimal ipcRenderer.send/invoke
  mapping to core.QUERY/ACTION.
- Adds a minimal window.core.ml.generate shim — gates the
  AI-native browser path (RFC §11a).

pkg/window/wails.go wires into Wails OnPageLoad via reflection when
the runtime exposes the hook, with a clean fallback for the
stubbed/test runtime. Legacy display-preload code detected and
skipped when the new package is in play.

Good/Bad/Ugly tests in pkg/preload/preload_test.go. go vet + go
test clean.

Closes tasks.lthn.sh/view.php?id=16

Co-authored-by: Codex <noreply@openai.com>
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-24 06:17:34 +01:00
..
assets feat(gui): InjectPreload — storage polyfills + Electron shim + app preloads 2026-04-24 06:17:34 +01:00
electron_shim.go feat(gui): InjectPreload — storage polyfills + Electron shim + app preloads 2026-04-24 06:17:34 +01:00
preload.go feat(gui): InjectPreload — storage polyfills + Electron shim + app preloads 2026-04-24 06:17:34 +01:00
preload_test.go feat(gui): InjectPreload — storage polyfills + Electron shim + app preloads 2026-04-24 06:17:34 +01:00
storage_polyfills.go feat(gui): InjectPreload — storage polyfills + Electron shim + app preloads 2026-04-24 06:17:34 +01:00