Repository navigation
Conversation
A Codecov outage (curl exit 35) failed unit_tests-latest before any tests ran. Download with -f and continue; upload only if the binary exists. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QDVmN5NNnPCy3tAPkwgWpT
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
|
Staff engineer (Cursor agent): LGTM at 4d75f4c. I checked the failure modes: Optional nit: the curl has no timeout. Today the host fails fast (TLS handshake, exit 35), but if it ever hangs instead the job sits until CircleCI's no-output timeout. FOLLOW_UP (after merge, not this PR):
|
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QDVmN5NNnPCy3tAPkwgWpT
|
Took the timeout nit in 0a51706 ( Generated by Claude Code |
|
Staff engineer (Cursor agent): LGTM at 0a51706. The only change is |
Ported from #4176 so unit_tests-latest is not blocked by the codecov uploader outage; it no-ops once #4176 lands on master. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f
ntucker
left a comment
There was a problem hiding this comment.
Reviewed 0a517068e15b4c790b9f98c94253d652f3211da8. No actionable correctness findings. Traced the curl failure/timeout → skipped chmod → non-executable partial download → skipped upload path and confirmed coverage test failures still propagate under -e. The token/no-token upload paths retain their behavior. Validation: diff and surrounding CI configuration review; I did not run CircleCI or contact the uploader.
Same change as #4176 so unit_tests-latest isn't failed by a Codecov uploader download outage. No-ops once #4176 merges. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vgk3hcd3isv6cRrgAuADg4
* docs(website): Restyle playground chrome and diff highlighting - Editor tab bar: selected tab joins the code panel with a primary top edge; light mode bar matches the Live Preview header - EndpointPlayground: one dark header style, "Usage" label for the calling code, status pill (e.g. "200 OK") - Tighter Store toggle letters; base styles for preview buttons and inputs - DiffEditor: highlight only changed characters; slim Before/After labels aligned with each pane Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * docs(website): Simplify playground chrome styles Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * docs(website): Limit preview control skin to unclassed elements Keeps DesignSystem rt-* inputs and vote arrow buttons on their own chrome. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * fix(website): Build previews whose previous deploy is the commit itself Vercel can report the commit being built as VERCEL_GIT_PREVIOUS_SHA on a preview branch with no successful preview yet. Diffing HEAD against itself is empty, so every new site PR's preview was skipped. Ignore that value and fall back to the merge-base with master. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * Revert "fix(website): Build previews whose previous deploy is the commit itself" The preview for that commit was still skipped, so this was not the cause. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * fix(website): Stop skipping every site preview on Vercel Vercel logged "skip — preview changes vs master" for site PRs. Its clone can carry a master ref at the commit being built, so the merge-base was HEAD and the diff was empty. Always fetch master, never treat a ref equal to HEAD as master, and log the base sha. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * fix(website): Fetch master once so deepen() keeps its history Refetching master with --depth=80 inside upstream() undid deepen(), so PRs forked more than 80 commits behind master fell back to a full build. Fetch once before the preview checks; upstream() only looks refs up. Adds a file:// shallow-clone test with a far fork point and a master ref at HEAD. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * fix(website): Deepen master in its own fetch Under git 2.55 a single fetch of the branch and master with --deepen leaves master at its earlier depth, so forks far behind master found no merge base and always built. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * fix(website): Give the preview side the editor's bar colors The live preview header and Store toggle kept the neutral grey while the editor bar turned slate, so dark mode showed two clashing bands. All playground headers now share the bar color, the dark preview body takes a slate tint, and the line between the tab rows is gone. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * fix(website): Tone dark playground chrome down to near-neutral grey The slate bars and preview tint read too blue in dark mode. Keep the hue but drop saturation so the chrome sits close to the site's neutral greys. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * refactor(website): Drop bar colors the base header rule already sets Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * fix(website): Desaturate the endpoint playground edge to match its bar Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * fix(website): Use master's neutral greys for dark playground chrome Dark mode bars and the preview body go back to the Infima greys master used, now shared by every playground header. Only the always-dark endpoint playground keeps its own bar tokens. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * ci: Skip Codecov upload when the uploader download fails Ported from #4176 so unit_tests-latest is not blocked by the codecov uploader outage; it no-ops once #4176 lands on master. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f * fix(website): Restore full-contrast text in playground header bars Header and tab labels used a muted grey and read faintly; they now use the content color master used, and the endpoint playground's labels are opaque. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KR7TVj44kxYCnGtVXVkx3f --------- Co-authored-by: Claude <noreply@anthropic.com>
|
Closing: #4174 merged with this exact change, so Generated by Claude Code |
Ported from #4176 (already on master via #4174) so unit_tests-latest isn't blocked by the Codecov uploader outage; it no-ops once this branch reaches master. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SfViJqNPeWjfhvq9wLhPZ3
|
Sol review bot (GPT-6.1 Sol, High): I posted this review of commit |
* docs: Add social card generator and v0.19 card Renders static/img/social/X.Y-card.png from a release post's title, description and summary bullets, matching the v0.16/v0.18 card style. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vgk3hcd3isv6cRrgAuADg4 * docs: Use the site's bundled fonts for social cards Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vgk3hcd3isv6cRrgAuADg4 * docs: Accept CRLF blog posts in social card script Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vgk3hcd3isv6cRrgAuADg4 * internal: Port #4176 Codecov uploader fallback Same change as #4176 so unit_tests-latest isn't failed by a Codecov uploader download outage. No-ops once #4176 merges. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vgk3hcd3isv6cRrgAuADg4 * docs: Show headline feature code on social cards The card's right side now shows the headline feature's Before/After code (or each new feature's first code block) plus any 'Nx faster' claim, and falls back to the What's new list when the post has no code. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vgk3hcd3isv6cRrgAuADg4 * Pick each social card feature's chart, diagram, image or code, and theme the background Feature sections can show a PerfChart or xychart as bars, a mermaid diagram, an /img image, or code; {/* card */} before a block picks it. The background motif (speed, network, grid or flow) follows the release's title. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vgk3hcd3isv6cRrgAuADg4 * List mermaid as a website devDependency for social card diagrams Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vgk3hcd3isv6cRrgAuADg4 * Simplify social card script Parse frontmatter with Docusaurus's own parser (drops js-yaml), match the mermaid range @docusaurus/theme-mermaid uses, and load mermaid with addScriptTag instead of inlining it into the page. Each feature window gets its own speedup chip, {/* card */} marks the next visual however far after it, background themes carry their own draw function, and the fitter starts from the CSS font sizes. Multi-window diagrams and images are capped in height so they don't cover the window above. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vgk3hcd3isv6cRrgAuADg4 * Match bullets to headings without an explicit {#id} by their generated anchor Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vgk3hcd3isv6cRrgAuADg4 * Generate heading anchors with Docusaurus's own slugger Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vgk3hcd3isv6cRrgAuADg4 * Parse heading ids with Docusaurus and slug every heading level like it does Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vgk3hcd3isv6cRrgAuADg4 --------- Co-authored-by: Claude <noreply@anthropic.com>
) * docs(skills): Generate skill references from the docs Skill references were symlinks to docs MDX, so agents saw raw :::react/:::vue blocks, never saw imported partials (e.g. the install code in _installation.mdx), and Vue skills shipped React-only pages. Each skill now lists its docs in references.json; `yarn build:skills` renders them per framework into plain markdown (website/framework-docs/ docsToMarkdown.mjs, reusing remarkFramework.js and Docusaurus' MDX preprocessing), writing <name>.vue.md where the Vue page differs. A `skills` workflow fails on drift, and Cursor/Claude Code edit hooks regenerate automatically. Also fixes docs this surfaced: :::react blocks whose nested admonition had more colons rendered a stray ":::" on React pages, and several relative links in rest docs pointed at missing pages. The Vue testing skill now imports from @data-client/vue/test and no longer ships the React-only hooks testing guide. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018tec5Fuv98wJacsP97Sg2H * docs(skills): Add skills-sync rule and dead reference link check Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018tec5Fuv98wJacsP97Sg2H * fix(skills): Generate references from docs only, keep <name>.md for any framework Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018tec5Fuv98wJacsP97Sg2H * ci(skills): Check on lockfile bumps and master; reject symlinks and unmentioned variants Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018tec5Fuv98wJacsP97Sg2H * docs(skills): Bundle protocol setup guides into data-client-setup references.json can now list `skills` to bundle. `yarn build:skills` copies each bundled skill's SKILL.md body to references/<skill>.md and its references and scripts under references/<skill>/, so data-client-setup works without the REST, GraphQL or endpoint setup skills installed. The --check drift check covers the copies. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SfViJqNPeWjfhvq9wLhPZ3 * internal(skills): Simplify skill bundling Reuse the front matter regex, memoize skill generation, rewrite every relative link in a bundled SKILL.md, and only rerun the edit hook for skills another skill bundles. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SfViJqNPeWjfhvq9wLhPZ3 * docs(skills): Word setup guides to read right when bundled Setup skills describe themselves as guides used after provider setup, since data-client-setup now carries them. The bundler keeps a script's shebang first and leaves links in fenced code alone. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SfViJqNPeWjfhvq9wLhPZ3 * internal(skills): Drop duplicated comment Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SfViJqNPeWjfhvq9wLhPZ3 * internal(skills): Regenerate bundles when the axios codemod changes data-client-rest-setup symlinks its codemod from website/static/codemods, so the skills check and edit hook now watch that folder too. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SfViJqNPeWjfhvq9wLhPZ3 * internal(skills): Regenerate references once per agent turn instead of per edit Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018tec5Fuv98wJacsP97Sg2H * docs(skills): Regenerate references for master's Vue concept docs Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018tec5Fuv98wJacsP97Sg2H * internal(skills): Tell the agent about skill problems at end of turn; survive stale stamps Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018tec5Fuv98wJacsP97Sg2H * internal(skills): Regenerate references before agent pushes instead of every turn Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018tec5Fuv98wJacsP97Sg2H * docs(skills): Don't require data-client-rest before REST setup data-client-setup bundles the REST setup guide but not data-client-rest, so the guide now points at its own RestEndpoint and resource references and treats data-client-rest as optional. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SfViJqNPeWjfhvq9wLhPZ3 * ci: Skip Codecov upload when the uploader download fails Ported from #4176 (already on master via #4174) so unit_tests-latest isn't blocked by the Codecov uploader outage; it no-ops once this branch reaches master. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SfViJqNPeWjfhvq9wLhPZ3 * internal(skills): Follow git symlinks in checkouts without symlink support With core.symlinks=false, git writes the axios codemod symlink as a file holding its target path, so bundling copied the path instead of the codemod. Resolve paths git tracks as symlinks either way. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SfViJqNPeWjfhvq9wLhPZ3 * Move bundled-skill push inputs into pre-push.js Master folded build-skills.js into pre-push.js; the merge had kept the old file, which no hook runs. Bundled skills' files and the codemods they symlink now trigger regeneration from pre-push.js. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SfViJqNPeWjfhvq9wLhPZ3 * Simplify skill bundling: reuse index.js walk and FM, skip generated files before reading Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SfViJqNPeWjfhvq9wLhPZ3 * Add GraphQL and custom async rows to setup's skills table Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SfViJqNPeWjfhvq9wLhPZ3 * Simplify skillReferences: generateSkill reads its own manifest, one git helper Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SfViJqNPeWjfhvq9wLhPZ3 --------- Co-authored-by: Claude <noreply@anthropic.com>
Requested by Nathaniel · project thread
Before: when
uploader.codecov.iois unreachable,curl -Osexits 35 underbash -eo pipefail, sounit_tests-latestfails before any test runs, on every branch.After: the download failure is logged and tests run normally; the coverage upload is skipped only when the uploader binary is missing.
How:
curl -fsSO ... && chmod +x codecov || echo ..., and the upload is wrapped inif [ -x ./codecov ].🤖 Generated with Claude Code
https://claude.ai/code/session_01QDVmN5NNnPCy3tAPkwgWpT
Generated by Claude Code
Note
Low Risk
CI-only change to the coverage upload path; test execution is unchanged and upload is simply skipped when the binary is missing.
Overview
Makes the latest React
unit_testsjob resilient when the Codecov uploader cannot be downloaded, so CI no longer fails before Jest runs.The Codecov
curlstep now uses fail-soft flags (-fsSO, connect/time limits) and|| echo ...so a network error does not abort the step underpipefail. Coverage tests still run and writelcov.info; upload runs only insideif [ -x ./codecov ], preserving token vs. no-token behavior when the binary is present.Reviewed by Cursor Bugbot for commit 0a51706. Bugbot is set up for automated code reviews on this repo. Configure here.