fix: harden Anniversaries widget against non-JSON API responses#18117
Draft
posthog[bot] wants to merge 1 commit into
Draft
fix: harden Anniversaries widget against non-JSON API responses#18117posthog[bot] wants to merge 1 commit into
posthog[bot] wants to merge 1 commit into
Conversation
Guard the Squeak profiles fetch in the Anniversaries widget: verify res.ok and a JSON content type before parsing, and add a .catch() that logs the failure and clears the loading state with an empty team list. Previously a non-JSON response (an HTML error/proxy page, or an undefined GATSBY_SQUEAK_API_HOST resolving against the site itself) threw an uncaught SyntaxError in res.json(), and the failure path never cleared loading — leaving the skeleton spinning forever. Generated-By: PostHog Code Task-Id: f6ec1a29-dc6c-4f5a-8691-9fcf4ea7f334
Contributor
Deploy preview
|
Contributor
Bundle reportTotal JS (gzip)6.29 MiB (+0.1 KiB / +0.0%) Eager graph (static-import closure per entrypoint)
Largest modules in the
|
| Module | Size |
|---|---|
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 |
708.0 KiB |
./src/components/Stickers/Stickers.tsx |
696.4 KiB |
./.cache/caches/gatsby-plugin-mdx/mdx-scopes-dir/31a094f140f119e73085d847ae81b99b.js + 2 modules |
579.3 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/@codemirror+view@6.38.2/node_modules/@codemirror/view/dist/index.js |
458.1 KiB |
./node_modules/.pnpm/rehype-raw@7.0.0/node_modules/rehype-raw/lib/index.js + 29 modules |
395.1 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.cjs.js |
364.8 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 |
./src/hooks/useCustomers.tsx + 54 modules |
353.9 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 |
./node_modules/.pnpm/cloudinary-core@2.14.0_lodash@4.17.21/node_modules/cloudinary-core/cloudinary-core.js |
281.9 KiB |
./src/components/ProductComparisonTable/index.tsx + 116 modules |
267.6 KiB |
./node_modules/.pnpm/@codesandbox+sandpack-react@2.20.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@codesandbox/sandpack-react/dist/index.mjs |
266.6 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 |
239.9 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Hardens the Anniversaries widget on the community page against non-JSON API responses.
The
useEffectthat fetches team profiles from the Squeak API calledres.json()with nores.okcheck and no.catch(). When the endpoint returned HTML instead of JSON (an error/proxy<!DOCTYPE ...>page, or an undefinedGATSBY_SQUEAK_API_HOSTresolving the fetch against the site itself), the parse threw an uncaughtSyntaxError: Unexpected token '<'. The failure path also never clearedloading, so the affected user watched the skeleton spin forever.Now the response is checked for
res.okand a JSON content type before parsing, and a.catch()logs the failure and setsloadingto false with an empty team list so the component degrades gracefully instead of throwing and hanging.Why: A team member hit this uncaught
SyntaxErroron the community page from a one-off non-JSON API response. Low-impact hardening — one file, no core flow affected.Checklist
vercel.jsonCreated with PostHog Code from an inbox report.