anomalyco / anomalyco/opencode

V2 PWA manifest lacks an any-purpose launcher icon

Open
#47,466 0 comments 0 reactions 1 assignee View on GitHub

@Hona is already working on this.

Since Sep 5, 2026.

2.0
Dominant language
TypeScript
Stars
209k
Forks
27.5k
Avg merge
7h 2m
Merged PRs (30d)
384

Description

Description

The V2 web manifest marks both launcher icons as maskable only. Chrome on Android offers “Add shortcut” rather than app installation.

Chromium's Page.getInstallabilityErrors reports manifest-missing-suitable-icon and no-acceptable-icon, even though both PNGs load successfully at 192×192 and 512×512. Overriding only their purpose to any maskable in an isolated Chromium browser makes that error list empty.

Plugins

Not applicable to the web manifest.

OpenCode version

0.0.0-beta-19151; also present on v2 at 7ad705225e52160e9956fb727ac7c0801b3ac979.

Steps to reproduce
  1. Serve the V2 web UI over trusted HTTPS.
  2. Inspect /site.webmanifest: both icons have "purpose": "maskable".
  3. Check Chromium's Application/Manifest installability diagnostics, or call CDP Page.getInstallabilityErrors.
  4. Change only the icon purposes to "any maskable" and reload; the icon errors disappear.

Chromium's required-icon check explicitly selects purpose ANY: https://chromium.googlesource.com/chromium/src/+/main/components/webapps/browser/installable/installable_evaluator.cc

Screenshot and/or share link

Diagnostic output: manifest-missing-suitable-icon, no-acceptable-icon; after the manifest override: []. No session data is needed to reproduce.

Operating System

Arch Linux server; Android Chrome user report; independently reproduced using Chromium on Linux.

Terminal

Not applicable.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.