Last 12 weeks · 1 commit
1 of 6 standards met
unfurl.js hardcodes . shellypalmer.com recently began rejecting that exact UA at its CDN bot-protection layer, returning a 403 JS proof-of-work challenge ("Checking your browser...") for every URL on the site, apex and www alike. unfurl throws on a non-200, the extract route swallows the error and falls back to deriving the publication from the hostname, so a blocked link renders with no title, no description, and a source of "Shellypalmer" rather than "Shelly Palmer" — the same failure mode already seen on openai.com and wsj.com. Pass an honest product UA instead. The block is narrowly scoped to the facebookexternalhit string: Twitterbot, Slackbot, WhatsApp, curl, an empty UA, and a custom UA all get 200, so nothing here needs to impersonate a browser to get a correct preview. unfurl replaces its default headers rather than merging them, so Accept is repeated to keep the request asking for HTML. Verified against the running route: shellypalmer.com articles now return the real title, description, and a source of "Shelly Palmer". A before/after sweep over Wikipedia, GitHub, nextjs.org, and MDN is byte-identical, so the only behavior change is the previously broken host starting to work. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_015Tp4NZiBeQLy5iy6M7M1X2
Updates core framework dependencies to latest stable versions. Changes next: 16.0.7 → 16.0.9 react: 19.2.1 → 19.2.2 react-dom: 19.2.1 → 19.2.2 eslint-config-next: 16.0.7 → 16.0.9 Documentation Updated CLAUDE.md to reflect current Next.js version Original prompt Upgrade next and react and react-dom to latest 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.
Summary Removed inline styles from email templates and replaced them with CSS classes Improved code maintainability by separating styling concerns from HTML markup Verified that juice properly inlines all CSS styles for email client compatibility Changes Made new-template.ts Replaced inline styles on story elements with CSS classes (, , , , , , ) Replaced inline styles on markdown/HTML containers with CSS classes Replaced inline styles on wrapper elements with CSS classes (, , , ) old-template.ts Added div with CSS class for better structure Added wrapper for HTML elements Moved element spacing to CSS classes Test Plan [x] Verified development server runs without errors [x] Tested email generation with new template via endpoint [x] Tested email generation with old template via endpoint [x] Confirmed juice properly inlines CSS styles in generated HTML [x] Verified HTML output maintains proper email client compatibility 🤖 Generated with Claude Code
Repository: jaredpalmer/react-email-workflow. Description: Newsletter design tool Stars: 191, Forks: 22. Primary language: TypeScript. Languages: TypeScript (96.1%), CSS (3.8%), JavaScript (0.1%), Procfile (0%). Open PRs: 1, open issues: 3. Last activity: 1mo ago. Community health: 28%. Top contributors: jaredpalmer, greenkeeperio-bot, Copilot, s220284.