Goal
Make howcode's headless/browser mode installable as a real PWA from supported browser surfaces.
Scope
- Add a linked web app manifest for the Vite/browser build used by
howcode --headless / server mode.
- Include app metadata, theme/background colors, start URL, scope, standalone display mode, and installable app icons.
- Add the smallest useful service worker/PWA setup if needed for Chromium installability and basic cache behavior.
- Document the secure-origin requirement: localhost or HTTPS should be installable, plain LAN HTTP such as
http://192.168.x.x:4173/ may not show browser install UI.
- Keep Electron/desktop packaging behavior unchanged.
Acceptance criteria
index.html links a manifest and includes an appropriate theme-color.
/manifest.webmanifest or equivalent returns manifest JSON instead of falling through to app HTML.
- Manifest icons resolve correctly from the served headless/browser build.
- Chromium can install howcode as an app when served from a secure origin such as localhost or HTTPS.
- Docs mention how to run/open headless mode in a PWA-friendly way and explain why raw LAN HTTP may only work with
--app launchers.
Notes
This came from trying to install a remote howcode instance running on a desktop PC from a laptop at http://192.168.0.228:4173/. The app itself loaded, but Chromium did not expose normal PWA install behavior. A quick check showed no linked manifest, /manifest.json returned the app HTML, and no service worker endpoint was present.
Agent implementation prompt
Implement PWA installability for howcode's headless/browser build. Inspect the Vite public asset setup, index.html, server/headless static serving paths, and existing app icon assets. Add a manifest, manifest link/theme metadata, and minimal service worker/PWA wiring only where it helps installability. Preserve Electron packaging behavior, avoid changing desktop runtime assumptions, and update README/headless docs with the secure-origin requirement for Chromium PWAs.
Goal
Make howcode's headless/browser mode installable as a real PWA from supported browser surfaces.
Scope
howcode --headless/ server mode.http://192.168.x.x:4173/may not show browser install UI.Acceptance criteria
index.htmllinks a manifest and includes an appropriatetheme-color./manifest.webmanifestor equivalent returns manifest JSON instead of falling through to app HTML.--applaunchers.Notes
This came from trying to install a remote howcode instance running on a desktop PC from a laptop at
http://192.168.0.228:4173/. The app itself loaded, but Chromium did not expose normal PWA install behavior. A quick check showed no linked manifest,/manifest.jsonreturned the app HTML, and no service worker endpoint was present.Agent implementation prompt
Implement PWA installability for howcode's headless/browser build. Inspect the Vite public asset setup,
index.html, server/headless static serving paths, and existing app icon assets. Add a manifest, manifest link/theme metadata, and minimal service worker/PWA wiring only where it helps installability. Preserve Electron packaging behavior, avoid changing desktop runtime assumptions, and update README/headless docs with the secure-origin requirement for Chromium PWAs.