Electron Shell¶
Status: implemented as the baseline release-oriented shell in this repo.
The current production-grade shell path in this repository is shells/electron/.
Current responsibilities:
supervise Django and the task worker as child processes
generate a fresh per-session shell-to-Django auth token and pass it to Django as
DESKTOP_DJANGO_AUTH_TOKENinject
X-Desktop-Django-Tokenonly for the exact local Django origin, including the Electron health poll, without exposing the token through preloadkeep using hidden exact-origin header injection rather than the bootstrap cookie flow used by the experimental Tauri and Positron shells
deny child-window creation from the renderer by default and block top-level navigation away from the local Django origin, opening safe external URLs through the OS shell instead
consume the shared staged backend from
.stage/backend/package desktop artifacts with
electron-buildergenerate Electron updater metadata and use
electron-updaterfor connected update checksexpose update checks through
Help > Check for Updates...without adding a Django update API or broadening the preload bridgegenerate shell-local icon outputs in
shells/electron/assets/icons/from the shared brand source underassets/brand/
Use this shell when you need the most complete desktop path in the repo today.
Current update scope:
default feed: GitHub Releases for this repo, configurable through the Electron builder config environment variables documented in the release guide
workflow support:
.github/workflows/desktop-packages.ymluploadslatest*.ymlmetadata and can publish to a draft GitHub Release when manually triggered withpublish_release=truelocal behavior: development runs show a harmless “updates unavailable” dialog instead of attempting a feed check
release-readiness boundary: a signed/notarized macOS update from installed
0.1.2to publishedv0.1.4now proves detection, download, restart/install, andapp.sqlite3persistence, but a Windows NSIS update still needs live validation before claiming production updater readiness