The app is installable and already met Chrome's bar: a manifest with a name,
192px and 512px icons, a start_url in scope, display: standalone, and a
service worker with a fetch handler. display_override, launch_handler,
handle_links and shortcuts were added as polish.
What is missing is screenshots. Without at least one carrying
form_factor: "wide", desktop Chrome shows its small install dialog rather than
the rich one.
Why it has not been done
Capturing them means running a browser at deploy time, and the deploy runs under
systemd where a browser is neither installed nor wanted. This is deliberate
rather than forgotten.
Possible approaches
- Capture by hand, commit the PNGs, and reference them from the manifest. Cheap,
and they go stale silently — which is the failure mode this project usually
refuses.
- Capture in a CI job (see the CI issue) and publish them as build artifacts.
- Accept the small dialog and remove this from the known-gaps list.
Note the manifest is a fourth place shipped text lives and is not covered by
grep '—' web/*.js web/*.html. One em dash survived a whole pass there.
The app is installable and already met Chrome's bar: a manifest with a name,
192px and 512px icons, a
start_urlin scope,display: standalone, and aservice worker with a fetch handler.
display_override,launch_handler,handle_linksand shortcuts were added as polish.What is missing is
screenshots. Without at least one carryingform_factor: "wide", desktop Chrome shows its small install dialog rather thanthe rich one.
Why it has not been done
Capturing them means running a browser at deploy time, and the deploy runs under
systemd where a browser is neither installed nor wanted. This is deliberate
rather than forgotten.
Possible approaches
and they go stale silently — which is the failure mode this project usually
refuses.
Note the manifest is a fourth place shipped text lives and is not covered by
grep '—' web/*.js web/*.html. One em dash survived a whole pass there.