Skip to content

fix(analytics): drop file:// exceptions from error tracking - #19792

Draft
posthog[bot] wants to merge 1 commit into
masterfrom
posthog-self-driving/fixanalytics-drop-file-exceptions-from-c04e96
Draft

fix(analytics): drop file:// exceptions from error tracking#19792
posthog[bot] wants to merge 1 commit into
masterfrom
posthog-self-driving/fixanalytics-drop-file-exceptions-from-c04e96

Conversation

@posthog

@posthog posthog Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Changes

  • Error tracking picked up a Gatsby crash no real posthog.com visitor can hit: it fires only from a page saved to disk and opened over file://. The cost is triage noise, not a broken flow.
  • The saved HTML still boots Gatsby and our posthog-js snippet. Gatsby resolves the local file path as the route, finds no page-data, and throws page resources for … not found. Not rendering React. Exception autocapture then files it as a new issue.
  • before_send in gatsby/onPreBootstrap.ts already drops dev-server exceptions, but it checked only window.location.hostname against localhost/127.0.0.1. On file:// the hostname is an empty string, so the guard missed it.
  • Fix: also return null when window.location.protocol === 'file:'. One condition silences the whole offline-copy category, not just this instance.
-        if (event && event.event === '$exception' && (hostname === 'localhost' || hostname === '127.0.0.1')) {
+        if (
+            event &&
+            event.event === '$exception' &&
+            (hostname === 'localhost' || hostname === '127.0.0.1' || window.location.protocol === 'file:')
+        ) {

No visual change, so no screenshots. The edit touches the generated posthog-init.js snippet only.

Checklist

  • I've read the docs and/or content style guides.
  • Words are spelled using American English
  • Use relative URLs for internal links
  • I've checked the pages added or changed in the Vercel preview build
  • If I moved a page, I added a redirect in vercel.json

Created with PostHog Desktop from this inbox report.

Extend the before_send guard so it returns null for exceptions raised on file:// pages, not only localhost/127.0.0.1.

A page saved to disk and opened over file:// still boots Gatsby and our posthog-js snippet. Gatsby resolves the local file path, finds no page-data, and throws. The old guard checked only window.location.hostname, which is an empty string on file://, so it missed these. Checking window.location.protocol closes the whole offline-copy category.

Generated-By: PostHog Desktop
Task-Id: 10e7a7e5-497b-44b3-b1d7-51b8aea69f46
@posthog

posthog Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor Author

🦔 PostHog Review reviewed this pull request

Nothing worth raising this time, so here's a calming picture instead:

A panda relaxing and waving

@github-actions github-actions Bot added the website About the website (beyond just landing pages) label Aug 28, 2026
@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Deploy preview

Status Details Updated (UTC)
🟢 Ready View preview Aug 28, 2026 01:23PM

@github-actions

Copy link
Copy Markdown
Contributor

Bundle report

Total JS (gzip)

8.15 MiB (+0.1 KiB / +0.0%)

Eager graph (modules shipped in each entrypoint's initial chunks)

Entrypoint Eager size Budget Modules
app 16.90 MiB (+0.0 KiB / +0.0%) report-only 2035
Largest modules in the app closure
Module Size
./src/data/mcp-tools.json 1053.0 KiB
css ./node_modules/.pnpm/css-loader@5.2.7_webpack@5.101.3/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[8].oneOf[1].use[1]!./node_modules/.pnpm/postcss-loader@4.3.0_postcss@8.5.6_webpack@5.101.3/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[8].oneOf[1].use[2]!./src/styles/global.css 754.4 KiB
./src/components/Stickers/Stickers.tsx 696.4 KiB
./node_modules/.pnpm/@radix-ui+react-icons@1.3.2_react@18.3.1/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js 481.4 KiB
./node_modules/.pnpm/rehype-raw@7.0.0/node_modules/rehype-raw/lib/index.js + 29 modules 395.1 KiB
./src/hooks/useCustomers.tsx + 55 modules 370.0 KiB
./node_modules/.pnpm/@posthog+icons@0.36.6_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js 354.8 KiB
./node_modules/.pnpm/react-markdown@8.0.7_@types+react@16.14.66_react@18.3.1/node_modules/react-markdown/lib/react-markdown.js + 88 modules 351.4 KiB
./src/components/ProductComparisonTable/index.tsx + 126 modules 301.7 KiB
./node_modules/.pnpm/cloudinary-core@2.14.0_lodash@4.17.21/node_modules/cloudinary-core/cloudinary-core.js 281.9 KiB
./src/components/SearchUI/index.tsx + 87 modules 273.0 KiB
./node_modules/.pnpm/@posthog+brand@0.8.0_react@18.3.1/node_modules/@posthog/brand/dist/generated/hoggies/svg/magnifying-glass.mjs 254.7 KiB
./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/motion.mjs + 109 modules 253.9 KiB
./node_modules/.pnpm/d3@7.9.0/node_modules/d3/src/index.js + 208 modules 247.4 KiB
./src/components/Pricing/PricingSlider/Slider.tsx + 87 modules 240.1 KiB

Eager-graph budgets are report-only until a baseline is established. Sizes are gzip of public/**/*.js; eager size is webpack module source bytes for the modules actually shipped in the entrypoint's initial chunks (post-tree-shake).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

website About the website (beyond just landing pages)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants