Browsers now offer to install the console, and it opens in its own window with the inbuxa icon.
public/manifest.json: every URL is relative to <base>, which the server rewrites per mount, so /admin and /account each install as their own app. It's .json because the server's bundle loader types files by extension and doesn't know .webmanifest. There's no id on purpose.
public/img/: the 192, 512, maskable and apple-touch icons, the same 2026-09-27a cut the webmail ships.
index.html: the manifest link, the theme color (--primary), and the apple-touch icon and title.
No service worker: installing doesn't need one any more, and a cached shell would only pin a stale build.
Verified: I served the build under /admin/ with the base rewritten the way the server does it. The manifest, start URL, scope and all four icons resolved under /admin/, and Chrome fired beforeinstallprompt (platforms ["web"]).
No new strings.
Browsers now offer to install the console, and it opens in its own window with the inbuxa icon.
- `public/manifest.json`: every URL is relative to `<base>`, which the server rewrites per mount, so `/admin` and `/account` each install as their own app. It's `.json` because the server's bundle loader types files by extension and doesn't know `.webmanifest`. There's no `id` on purpose.
- `public/img/`: the 192, 512, maskable and apple-touch icons, the same 2026-09-27a cut the webmail ships.
- `index.html`: the manifest link, the theme color (`--primary`), and the apple-touch icon and title.
No service worker: installing doesn't need one any more, and a cached shell would only pin a stale build.
Verified: I served the build under `/admin/` with the base rewritten the way the server does it. The manifest, start URL, scope and all four icons resolved under `/admin/`, and Chrome fired `beforeinstallprompt` (platforms `["web"]`).
No new strings.
A web app manifest, the brand icons and the theme color, so browsers offer
to install the console and it opens in its own window. Every URL is relative
to <base>, which the server rewrites per mount, so /admin and /account each
install as their own app. No service worker: installing no longer needs one,
and the console has nothing to do offline.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Browsers now offer to install the console, and it opens in its own window with the inbuxa icon.
public/manifest.json: every URL is relative to<base>, which the server rewrites per mount, so/adminand/accounteach install as their own app. It's.jsonbecause the server's bundle loader types files by extension and doesn't know.webmanifest. There's noidon purpose.public/img/: the 192, 512, maskable and apple-touch icons, the same 2026-09-27a cut the webmail ships.index.html: the manifest link, the theme color (--primary), and the apple-touch icon and title.No service worker: installing doesn't need one any more, and a cached shell would only pin a stale build.
Verified: I served the build under
/admin/with the base rewritten the way the server does it. The manifest, start URL, scope and all four icons resolved under/admin/, and Chrome firedbeforeinstallprompt(platforms["web"]).No new strings.