feat(pwa): experimental — add my.dash.board virtual host for secure PWA install
CI / Build & Test (push) Successful in 2m51s
CI / Build & Test (push) Successful in 2m51s
Serve the dashboard over a local HTTPS virtual host (my.dash.board) so Chrome treats it as a secure origin and shows the PWA install prompt. - Add native-host/dashboard-server.js: bare-http1 static file server backed by bare-bundle assets in distribution mode, disk fallback in dev - Add setLocalVirtualHost() to virtual-hosts.js; type:local entries are protected from removal and filtered out of saveState persistence - Export setLocalVirtualHost from holesail-manager/index.js - Start dashboard server in startup.js after proxies are ready and register my.dash.board as a local virtual host - Stop dashboard server in message-router.js cleanup() - Update manifest.webmanifest: start_url, id, scope → https://my.dash.board/ - Embed all extension/dashboard/ files as bare-bundle assets in build-distributable.js patchBundle() — no installer copy step needed - Hide checkbox, hs:// URL, Reconnect, and Remove controls for built-in my.dash.board row in the virtual hosts table UI
This commit is contained in:
@@ -29,9 +29,9 @@ function saveState() {
|
||||
const serversList = serversModule.getServers().map(s => ({
|
||||
id: s.id, port: s.port, host: s.host, secure: s.secure, udp: s.udp || false, label: s.label || ''
|
||||
}));
|
||||
const virtualHostsList = vhostsModule.getVirtualHosts().map(v => ({
|
||||
hostname: v.hostname, hsUrl: v.hsUrl
|
||||
}));
|
||||
const virtualHostsList = vhostsModule.getVirtualHosts()
|
||||
.filter(v => v.type !== 'local') // never persist built-in local hosts
|
||||
.map(v => ({ hostname: v.hostname, hsUrl: v.hsUrl }));
|
||||
const serviceTunnelsList = svcModule.getServiceTunnels().map(t => ({
|
||||
id: t.id, label: t.label, hsUrl: t.hsUrl, localPort: t.localPort
|
||||
}));
|
||||
@@ -125,6 +125,7 @@ module.exports = {
|
||||
getServers: serversModule.getServers,
|
||||
// Virtual hosts
|
||||
setVirtualHost: vhostsModule.setVirtualHost,
|
||||
setLocalVirtualHost: vhostsModule.setLocalVirtualHost,
|
||||
removeVirtualHost: vhostsModule.removeVirtualHost,
|
||||
getVirtualHosts: vhostsModule.getVirtualHosts,
|
||||
getLocalPortForHostname: vhostsModule.getLocalPortForHostname,
|
||||
|
||||
Reference in New Issue
Block a user