The auto-generated manifest.json declares all PWA icons with "purpose": "any maskable", but uses the same logo for both contexts without ensuring it has the safe-zone padding required for maskable use.
On Android 12+, this causes the PWA splash screen to crop the outer ~20% of the icon — clipping any logo content near the edges (e.g., the top of a figure's head, raised arms, text on the edge). Chrome DevTools explicitly flags this combination as "discouraged":
"Declaring an icon with 'purpose' of 'any maskable' is discouraged. It is likely to look incorrect on some platforms due to too much or too little padding."
The native Android app (TWA generated from the AAB) is unaffected because it uses its own splash drawable — so the bug is invisible to anyone testing only the Play Store install, but every PWA user sees it on every launch.
Proposed solutions (either would solve it):
Dashboard setting for icon "purpose" — let app owners choose between "any", "maskable", or "any maskable" per icon. Default to "any" (the safe choice for any logo).
Dedicated "Maskable Icon" upload field — owner uploads a properly padded version (figure fits within the inner 80% safe zone). The platform then generates a manifest with two icons: one with "purpose": "any" pointing to the regular logo, and one with "purpose": "maskable" pointing to the padded version.
Option 2 is the PWA best practice and the cleaner long-term fix. Option 1 is the quick win that unblocks affected users immediately.
This affects any Base44 customer whose logo extends close to the canvas edges, which is common for figurative or text-based logos.
Please authenticate to join the conversation.
In Review
Feature Request
3 days ago

Moshe Sherf
Get notified by email when there are changes.
In Review
Feature Request
3 days ago

Moshe Sherf
Get notified by email when there are changes.