• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

php-bug-catcher / bug-catcher / 37220059635
94%
main: 94%

Build:
Build:
LAST BUILD BRANCH: v2.4.0
DEFAULT BRANCH: main
Ran 04 Oct 2026 05:20PM UTC
Jobs 1
Files 147
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

04 Oct 2026 05:13PM UTC coverage: 94.02% (-0.4%) from 94.373%
37220059635

push

github

tito10047
feat(dashboard): a manifest, so the alert sound stops asking permission

The sound notifier has had to beg for a click on every single page load.
warning-sound_controller probes autoplay in initialize(), the browser refuses
it, and a toast appears asking to be clicked - which is no way to run a wall
monitor, and the first thing anybody turns off.

The permission cannot be made to stick from the page. Chrome allows audio with
sound in three cases only: a gesture in the current document, a crossed Media
Engagement Index, or a site the user has installed as an app - and it dropped
its per-site autoplay setting, so there is nothing to click in the browser
either. The third one is the only one a dashboard can offer, and it is
permanent: install it once and the block is lifted for every page in the
manifest's scope, across restarts.

So /manifest.webmanifest, rendered by ManifestController. Two details are
load-bearing rather than cosmetic. Chromium refuses to install a manifest
without both a 192 and a 512 PNG, hence icon-192/icon-512 rasterised from the
SVG in all four logo variants - bug_catcher.logo picks the directory, so a
variant missing one is an installation that cannot install. And
background_color / theme_color are the one place here where a colour is a hex
literal and not a --bc-* token: the OS paints the window frame and the splash
before a stylesheet exists, so it has nothing to resolve a variable against.

Linked from base.html.twig only once logged in. The route sits behind the
application's catch-all access rule, so an anonymous visitor would be sent to
/login and left reporting a manifest it could not parse; nobody installs the app
from the login page, and this keeps the change inside the bundle rather than in
a security.yaml mirrored across three repositories.

No service worker. Chrome dropped it from the install criteria in v112, and the
one it would add here is the problem it is usually brought in to solve - a cache
holding yesterday's... (continued)

28 of 28 new or added lines in 2 files covered. (100.0%)

3176 of 3378 relevant lines covered (94.02%)

20.57 hits per line

Jobs
ID Job ID Ran Files Coverage
1 37220059635.1 04 Oct 2026 05:20PM UTC 147
94.02
GitHub Action Run
Source Files on build 37220059635
  • Tree
  • List 147
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • b6bbe2e5 on github
  • Prev Build on v2.0.3 (#37198715349)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc