From cbfd3e56329b17181de76347ced6173b858298dd Mon Sep 17 00:00:00 2001 From: Jared Vititoe Date: Sun, 28 Jun 2026 21:27:57 -0400 Subject: [PATCH] docs: N108 -> Needs-Verification; add L2 maskable-icon test Co-Authored-By: Claude Opus 4.8 --- LOTUS_BUGS.md | 2 +- LOTUS_TESTING.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/LOTUS_BUGS.md b/LOTUS_BUGS.md index 855c1c5db..c951de753 100644 --- a/LOTUS_BUGS.md +++ b/LOTUS_BUGS.md @@ -29,6 +29,7 @@ Implemented and gate-green; confirm each per `LOTUS_TESTING.md`, then delete the | #12 | PiP mute badge attribution (you vs. all-muted) | `CallEmbedProvider.tsx` | G1 | | N96 | Call-recovery overlay single "Back" button | `call/CallView.tsx` | A7 | | N95 | AFK-monitor mic released on mute (OS indicator clears) | `hooks/useAfkAutoMute.ts` | L1 | +| N108 | Maskable PWA icons (Android adaptive) | `public/manifest.json` + `res/android/maskable-*` | L2 | | EC | EC iframe load watchdog + self-heal + recovery UI | `plugins/call/CallEmbed.ts`, `CallView.tsx` | A7 | | Gal | MediaGallery lazy-decrypt (true virtualization deferred) | `room/MediaGallery.tsx` | H1 | | a11y | aria-labels: edit-history / reaction / thread / reply | `message/*` (`FallbackContent`, `Reaction`, `Reply`) | I | @@ -51,7 +52,6 @@ Implemented and gate-green; confirm each per `LOTUS_TESTING.md`, then delete the - **N105 — Service worker has no `notificationclick` handler** — notification clicks are broken when the tab is closed. Needs `showNotification()` via the SW + a `notificationclick` listener. - **N107 — SW has no `push` handler** — Web Push delivery is entirely non-functional. Needs a `push` listener + a Matrix push-gateway integration. -- **N108 — No maskable PWA icon** — Android adaptive icons render incorrectly. Needs a maskable icon asset + `purpose: "maskable"` manifest entry. - **No app-asset caching strategy** (`src/sw.ts`) — no offline capability. - **`manifest: false`** in `vite.config.js` — may block correct PWA install if not handled externally. diff --git a/LOTUS_TESTING.md b/LOTUS_TESTING.md index 24ffd0011..613cdab82 100644 --- a/LOTUS_TESTING.md +++ b/LOTUS_TESTING.md @@ -355,6 +355,13 @@ Trigger a desktop/browser notification for a new message. 3. **Unmute** → the indicator should re-appear (capture re-acquired). 4. Also confirm AFK still works end-to-end: stay unmuted and silent past the configured timeout → mic auto-mutes with the "muted after inactivity" toast, and the indicator clears. +### L2. Maskable PWA icon (N108) — Android install + +1. On **Android Chrome**, install Lotus Chat as a PWA (Add to Home Screen). +2. Look at the **home-screen icon**. + +**Expected:** the icon fills the adaptive-icon shape cleanly (the logo centered with safe-zone padding on the dark background), **not** clipped at the corners or floating in an odd box. Also worth a quick check in Chrome DevTools → Application → Manifest that the two `purpose: maskable` icons load without a 404 (this also validates the manifest's icon paths resolve in production — a pre-existing path convention I couldn't verify statically). + --- ## M. New features (this round)