Skip to content

fix: stop favicon requests for private chat-link hosts - #245

Merged
leoisadev1 merged 3 commits into
mainfrom
fix/web-private-host-favicon
Sep 14, 2026
Merged

leoisadev1 merged 3 commits into
mainfrom
fix/web-private-host-favicon

Conversation

@leoisadev1

@leoisadev1 leoisadev1 commented Sep 10, 2026

Copy link
Copy Markdown
Member

Problem

Chat markdown and the mobile feed requested Google favicons for every link host, including loopback, private-network, Tailscale, and special-purpose addresses. That disclosed private hostnames to a public service.

Changes

Private, reserved, Tailscale, malformed, and special-purpose hosts now use the globe fallback. The classifier and favicon URL builder live in @t3tools/shared, so web preview tabs, web chat links, and mobile chat links use the same rule. Public links keep their favicon.

Adapted from pingdotgg/t3code#5838.

Verification

  • vp test run packages/shared/src/favicon.test.ts packages/shared/src/hostClassification.test.ts apps/web/src/browser/browserTargetResolver.test.ts: 53 passed.
  • Shared, web, and mobile typechecks passed.
  • Scoped lint and git diff --check passed. The lint run reports four pre-existing unused-symbol warnings in current main's ChatMarkdown change; this PR does not touch those symbols.

Native mobile was not run on this Linux host.

Implemented and verified by GPT-5.6 Sol in T3 Code via the Codex harness.

Chat markdown and mobile feed links asked Google for a favicon of every
host, including loopback, RFC1918, Tailscale, and .local names. Shared
classification now refuses those hosts so the globe fallback is used
instead.

Adapted from pingdotgg#5838.
@vercel

vercel Bot commented Sep 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
akeru-bot-landing Building Building Preview Sep 10, 2026 6:22pm UTC

Request Review

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L labels Sep 10, 2026
@greptile-apps

greptile-apps Bot commented Sep 10, 2026

Copy link
Copy Markdown

Greptile Summary

This update centralizes privacy-aware favicon URL generation in the shared package and applies it across web previews, web chat links, and mobile chat links. Private, loopback, reserved, Tailscale, special-purpose, malformed, and public-origin handling remains covered.

Confidence Score: 5/5

No blocking issues remain; the change is safe to merge.

There are no accepted new findings and no outstanding previous findings.

Reviews (3): Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." | Re-trigger Greptile

@leoisadev1
leoisadev1 merged commit b049db0 into main Sep 14, 2026
11 checks passed
@leoisadev1
leoisadev1 deleted the fix/web-private-host-favicon branch September 14, 2026 02:53
This was referenced Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant