Files
holesail-browser/extension/dashboard/manifest.webmanifest
T
Raven Scott e6658d4421
CI / Build & Test (push) Successful in 2m47s
fix(pwa): resolve proxy connection reset and manifest same-origin warnings
Fix "Proxy error: connection reset by peer" caused by dashboard-server.js
looking for files in native-host/ instead of extension/dashboard/. Remove
the devBasePath parameter and resolve DEV_DASHBOARD_DIR directly from
__dirname so dev and distribution mode both find the correct files.

Fix all manifest warnings (start_url/id/scope/protocol_handlers ignored)
by reverting manifest.webmanifest to relative/extension-origin URLs for
the chrome-extension:// context, and having dashboard-server.js dynamically
generate a manifest at /manifest.webmanifest with absolute
https://my.dash.board/ URLs — satisfying Chrome's same-origin requirement
for PWA installability.

Also serve extension icons at https://my.dash.board/icons/<file> with
correct bundle key mapping, and embed them in the distributable binary
via build-distributable.js.
2026-03-01 03:10:11 -05:00

41 lines
1.2 KiB
JSON

{
"id": "/dashboard/dashboard.html",
"name": "Holesail Browser",
"short_name": "Holesail",
"description": "P2P Holesail tunnels in the browser",
"start_url": "dashboard.html",
"scope": ".",
"display": "standalone",
"display_override": ["window-controls-overlay", "standalone"],
"background_color": "#0f1117",
"theme_color": "#0f1117",
"protocol_handlers": [
{
"protocol": "web+holesail",
"url": "dashboard.html?lookup=%s"
}
],
"screenshots": [
{
"src": "screenshots/wide.png",
"sizes": "1024x515",
"type": "image/png",
"form_factor": "wide",
"label": "Holesail Browser Dashboard"
},
{
"src": "screenshots/narrow.png",
"sizes": "390x844",
"type": "image/png",
"form_factor": "narrow",
"label": "Holesail Browser Dashboard"
}
],
"icons": [
{ "src": "../icons/48.png", "sizes": "48x48", "type": "image/png", "purpose": "any" },
{ "src": "../icons/128.png", "sizes": "128x128", "type": "image/png", "purpose": "any" },
{ "src": "../icons/192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" },
{ "src": "../icons/512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" }
]
}