Skip to content

ATO

v1.9.2 Bugfix

This release fixes issues for SREs watching stability and regressions.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Summary

AI summary

Favicon loading failures now fall back to a clean placeholder instead of showing a broken glyph.

Full changelog

What's Changed

Favicons that fail to load now fall back to a clean placeholder instead of a broken-image glyph.

The popup renders each tab's favicon as an <img> from a chrome-extension:// origin, which makes loading tab.favIconUrl a cross-origin request. It can fail when the favicon is served with a restrictive Cross-Origin-Resource-Policy (e.g. claude.ai's /favicon.ico ships CORP: same-origin), 404s, or is auth-only. The browser's tab bar still shows it via a privileged fetch, so it was invisible until a cross-origin consumer like ATO tried to render it — and showed a broken glyph.

Now every favicon <img> has an onerror handler that swaps to the existing placeholder, identical to a missing or chrome:// favicon.

Details

  • Favicon creation is factored into one shared helper, so both render paths (domain groups and per-tab rows) behave identically.
  • On failure the handler clears the broken src, switches to the placeholder, and nulls itself so it can't loop.
  • No new permissions and no extra network requests — it just reacts to the existing image load.
  • No regression for favicons that already render.

Fixes #46.

🤖 Generated with Claude Code

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track ATO

Get notified when new releases ship.

Sign up free

Related context

Beta — feedback welcome: [email protected]