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

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

Build:
Build:
LAST BUILD BRANCH: v2.4.0
DEFAULT BRANCH: main
Repo Added 10 Sep 2024 01:22PM UTC
Files 153
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

LAST BUILD ON BRANCH v2.1.0
branch: v2.1.0
CHANGE BRANCH
x
Reset
  • v2.1.0
  • 0.1.4
  • 1.1.0
  • 1.1.1
  • 1.1.2
  • 1.1.3
  • 1.1.5
  • 1.1.6
  • 1.1.7
  • 1.1.8
  • 1.2.0
  • 1.2.1
  • 1.2.2
  • 1.2.3
  • 1.2.4
  • 1.3.0
  • 1.4.0
  • 1.5.0
  • 1.5.1
  • 1.5.2
  • 1.6.0
  • 1.7.0
  • 1.8.0
  • 1.8.1
  • 1.9.0
  • feat/mcp-server
  • fix/stacktrace-display
  • main
  • multi-login
  • selection
  • tailwind
  • v2.0.0
  • v2.0.0-RC1
  • v2.0.0-RC2
  • v2.0.0-RC3
  • v2.0.0-RC4
  • v2.0.1
  • v2.0.2
  • v2.0.3
  • v2.2.0
  • v2.3.0
  • v2.4.0

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

Relevant lines Covered
Build:
Build:
3378 RELEVANT LINES 3176 COVERED LINES
20.57 HITS PER LINE
Source Files on v2.1.0
  • Tree
  • List 147
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
37220059635 v2.1.0 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... push 04 Oct 2026 05:20PM UTC tito10047 github
94.02
See All Builds (111)
  • Repo on GitHub
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