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

microlinkhq / metascraper / 30459137568
94%

Build:
DEFAULT BRANCH: master
Ran 29 Jul 2026 02:06PM UTC
Jobs 0
Files 0
Run time –
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

pending completion
30459137568

push

github

web-flow
feat: add metascraper-logo-bimi (#861)

* feat: add metascraper-logo-bimi

Resolve the logo from the BIMI DNS record (`default._bimi.<domain>` TXT),
the standard behind the brand logo mailbox providers show next to an email.

The spec constrains the logo to SVG Tiny P/S, so hits are vector, square and
transparent, and a VMC (`a=`) means a CA verified the mark against the
trademark owner. It needs no markup, so it works on JavaScript rendered or
unreachable pages.

Measured coverage over 124 domains: 47/100 top brands, 4/24 of the domains
used across this repo's tests. High precision, low recall, so it ships as its
own package to be composed ahead of metascraper-logo and
metascraper-logo-favicon rather than folded into either.

The lookup uses the registrable domain and is memoized, including misses.
`resolveTxt` is injectable for runtimes without `node:dns`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VYx23URhjLXNWiUELZqPoq

* fix(logo-bimi): reject logos that redirect away from https

reachable-url follows redirects and the final URL is what gets emitted, so an
https record location could still resolve to an http SVG, defeating the check
parseRecord does on the record itself.

Splits the response decision into a pure `toLogoUrl` so the downgrade is covered
deterministically without standing up TLS in the test suite.

Also documents that the memoize store is unbounded by default and that the
result is a BIMI published logo, not a VMC verified one: `a=` is never read.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VYx23URhjLXNWiUELZqPoq

* docs(logo-bimi): label the dig fence

Resolves markdownlint MD040 on the only unlabeled code fence in the README.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VYx23URhjLXNWiUELZqPoq

* refactor(logo-bimi):... (continued)
Source Files on build 30459137568
Detailed source file information is not available for this build.
  • Back to Repo
  • Github Actions Build #30459137568
  • b178b761 on github
  • Prev Build on master (#30379884295)
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