diff --git a/AGENTS.md b/AGENTS.md
index d397502..3cf219f 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -147,6 +147,8 @@ Set in Settings > Environment (super admin), not `.env`. `envs` (private; encryp
### PWA and notifications
- Generated assets (manifest, icons, `offline.html`, `loading.html`) come from `bun run gen:favicon`, which reads `main.css`; outputs are committed. Shared paths in `src/data/pwa-data.ts`.
+- **Install name:** app setting `install_name` (Settings > General, super admin). `handlePwaFile` rewrites the manifest's `name`/`short_name` per request (`namePwaManifest`), the root head uses it for iOS tags, the loading page's `
` is the `{{name}}` placeholder. Devices pick up a new name only on reinstall.
+- Notification `badge` is `icons/badge-96.png` (white silhouette; Android masks by alpha, so never the opaque app icon). Brave on Android has no WebAPK, so its notifications always carry Brave's name and icon.
- `public/sw.js` is served `no-store`; navigations network-only (authenticated HTML never cached); `/api/`, `/ws`, `/media/`, `/computers/`, `/build-info.json` never intercepted. It never reloads on its own. In development the worker and caches are actively removed (`clear-development-service-worker.ts`, stub `/sw.js`).
- **Precache (production):** a navigation without the current build cookie gets `loading.html`, which downloads all of `.bunext/public` into `cobble-assets-`, verifies, sets the cookie and reloads (falls back to network on stall). React knows nothing of this.
- Phone shell: rail is a slide-over below `md`; rail internals use the `@rail:` container variant, not viewport `lg:`. `LiveSocket` is remounted on online/pageshow/visibility since twui stops retrying after three attempts. Nothing is queued offline.
diff --git a/public/icons/badge-96.png b/public/icons/badge-96.png
new file mode 100644
index 0000000..b9011a0
Binary files /dev/null and b/public/icons/badge-96.png differ
diff --git a/public/loading.html b/public/loading.html
index a6dec0e..45bdf5b 100644
--- a/public/loading.html
+++ b/public/loading.html
@@ -5,8 +5,11 @@
-cobble
+{{name}}
+
+
+