Skip to content

feat(apollo-vertex): update chart for Recharts 3 - #1383

Merged
ruudandriessen merged 5 commits into
mainfrom
cursor/recharts-3-chart-43f3
Oct 16, 2026
Merged

ruudandriessen merged 5 commits into
mainfrom
cursor/recharts-3-chart-43f3

Conversation

@ruudandriessen

@ruudandriessen ruudandriessen commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Bump to latest shadcn chart version (with recharts 3)

Pull the current shadcn new-york-v4 chart, which types tooltip content
with DefaultTooltipContentProps and legend content with
DefaultLegendContentProps. Pin recharts to 3.8.0 to match that component.
Copilot AI balanced review requested due to automatic review settings October 16, 2026 08:56
@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Apollo Coded App preview deployments are ready.

Project Status Preview Updated (PT)
apollo-design Ready Preview · Logs Oct 16, 2026, 02:20:34 AM
apollo-docs Ready Preview · Logs Oct 16, 2026, 02:20:34 AM
apollo-landing Ready Preview · Logs Oct 16, 2026, 02:20:34 AM
apollo-vertex Ready Preview · Logs Oct 16, 2026, 02:20:34 AM

@github-actions github-actions Bot added the size:L 100-499 changed lines. label Oct 16, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Dependency License Review

  • ✅ 1947 package(s) scanned
  • ✅ No license issues found
  • ⚠️ 2 package(s) excluded (see details below)
License distribution
License Packages
MIT 1713
ISC 91
Apache-2.0 56
BSD-3-Clause 28
BSD-2-Clause 23
BlueOak-1.0.0 8
MPL-2.0 4
MIT-0 3
CC0-1.0 3
MIT OR Apache-2.0 2
(MIT OR Apache-2.0) 2
Unlicense 2
LGPL-3.0-or-later 1
Python-2.0 1
CC-BY-4.0 1
(MPL-2.0 OR Apache-2.0) 1
Unknown 1
Artistic-2.0 1
(WTFPL OR MIT) 1
(BSD-2-Clause OR MIT OR Apache-2.0) 1
CC-BY-3.0 1
0BSD 1
(MIT OR CC0-1.0) 1
MIT AND ISC 1
Excluded packages
Package Version License Reason
@img/sharp-libvips-linux-x64 1.3.4 LGPL-3.0-or-later LGPL pre-built binary, not linked
khroma 2.1.0 Unknown MIT per GitHub repo, missing license field in package.json

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Five dependent registry items still pin Recharts 2, conflicting with the updated chart’s Recharts 3 requirement.

1 open finding
What changed in this PR

Updates Apollo Vertex’s chart component for Recharts 3, preparing it for downstream adoption after release.

Changes:

  • Updates tooltip and legend types and adds initial container dimensions.
  • Aligns package and chart registry dependencies with Recharts 3.8.0.
File Description
pnpm-lock.yaml Records Recharts 3.8.0 and its dependency graph.
packages/​apollo-vertex/​registry/​chart/​chart.tsx Updates chart types, sizing, and payload handling.
packages/​apollo-vertex/​registry.json Updates the chart’s Recharts dependency.
packages/​apollo-vertex/​package.json Updates Recharts peer and development versions.
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread packages/apollo-vertex/registry.json
line-chart, multi-line-chart, bar-chart, distribution-chart, and
solution-tests depend on @uipath/chart. Keep their registry install
on recharts@3.8.0 so shadcn does not pull 2.15.4.
Copilot AI balanced review requested due to automatic review settings October 16, 2026 09:02
@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

📊 Coverage + size by package

Per-package coverage and bundle size on this PR. New-line coverage = of the source lines this PR adds or changes, the % hit by tests.

Package Coverage New-line coverage Packed (gzip) Unpacked vs main
@uipath/apollo-core — — 42.02 MB 50.17 MB ±0
@uipath/apollo-react 51.3% — 7.99 MB 31.45 MB ±0
@uipath/apollo-ui-icons — — 2.86 MB 6.97 MB ±0
@uipath/apollo-vertex 84.0% — (111 untracked) 325.9 KB 1.84 MB +406 B
@uipath/apollo-wind — — 785.2 KB 4.55 MB ±0
@uipath/ap-chat 85.8% — 40.37 MB 45.58 MB ±0

"Coverage" is each package's own coverage.include scope (e.g. apollo-core instruments only scripts/). "Packed"/"Unpacked" come from npm pack --dry-run and only cover built packages — "—" means not measured this run (package not affected / not built). "vs main" is the packed (gzipped) delta against the last successful main build (the package-sizes artifact from the Release workflow); "—" there means no main baseline was available this run. The baseline is main's latest build, not this PR's exact merge-base, so it includes any drift since the branch diverged. Packages with no vitest config are omitted.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The major dependency upgrade needs downstream compatibility and provenance verification, and tooltip fallback regressions remain unresolved.

0 open findings

1 resolved since last review
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file
Previously missed (2)

In code that hasn't changed since last review

Medium severity Preserve empty-string fallback from labelKey or dataKey to item.name

packages/​apollo-vertex/​registry/​chart/​chart.tsx:151

When labelKey or the first payload item's dataKey is an empty string, ?? now keeps it instead of falling back to item.name. For example, { dataKey: "", name: "desktop" } no longer resolves config.desktop, so the tooltip heading disappears when no string label overrides it. Restore the previous empty-string fallback before calling chartConfigKey.

Medium severity Fall back from empty item.name to dataKey for tooltip labels

packages/​apollo-vertex/​registry/​chart/​chart.tsx:199

For a payload item with name: "" and dataKey: "desktop", the new nullish fallback selects the empty name instead of desktop. This loses the configured label and icon, and the fallback name is also empty, leaving the tooltip row unlabeled. Restore the empty-string fallback to item.dataKey.

🧠 Review effort: Balanced

Recharts 3 deprecates Cell. The single-series bar now sets its palette
fill through Bar's shape prop, which is the replacement.
Copilot AI balanced review requested due to automatic review settings October 16, 2026 09:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Tooltip configuration fallbacks and single-series color matching regress in the migration.

1 open finding
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file
Previously missed (2)

In code that hasn't changed since last review

Medium severity Preserve payload name fallback when resolving tooltip headers

packages/​apollo-vertex/​registry/​chart/​chart.tsx:151

The header lookup loses its intentional empty-string fallback. With dataKey: "", name: "revenue", and an absent or numeric tooltip label, this now looks up config[""] instead of config.revenue, so the configured heading disappears. Preserve the fallback to the payload name before normalizing the key.

Medium severity Preserve dataKey fallback when resolving series configuration

packages/​apollo-vertex/​registry/​chart/​chart.tsx:199

The series lookup also loses its empty-string fallback. With { name: "", dataKey: "revenue", value: 1 }, this selects config[""] instead of config.revenue. The configured label and icon are lost, leaving a blank series label. Preserve the fallback to dataKey before normalizing the key.

🧠 Review effort: Balanced

Comment on lines +49 to +50
function PaletteBar(props: BarShapeProps) {
return <Rectangle {...props} fill={PALETTE[props.index % PALETTE.length]} />;
@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Storybook visual diff

✅ No stories are affected by this PR's changes; nothing to compare. Logs

Updated (PT): Oct 16, 2026, 03:17:26 AM

getBarColor preferred the shared series color over the row palette.
A matched single-series row now uses that row's palette color, which
is the fill drawn on the bar.
Copilot AI balanced review requested due to automatic review settings October 16, 2026 09:15
@ruudandriessen
ruudandriessen marked this pull request as ready for review October 16, 2026 09:17
@ruudandriessen
ruudandriessen requested a review from a team as a code owner October 16, 2026 09:17

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Empty-string tooltip key fallbacks regress, dropping configured headings, row labels, and icons.

1 open finding
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file
Previously missed (1)

In code that hasn't changed since last review

Medium severity Preserve empty-string fallbacks in tooltip config lookups

packages/​apollo-vertex/​registry/​chart/​chart.tsx:151

The new ?? chains remove the intentional empty-string fallbacks in both tooltip lookups. At line 151, { dataKey: "", name: "revenue" } no longer finds config.revenue, so its configured heading disappears when label is absent or numeric. At line 199, { name: "", dataKey: "revenue", value: 123 } loses its configured row label and icon for the same reason. Restore chartConfigKey((labelKey ?? item?.dataKey) || item?.name) for the heading and chartConfigKey((nameKey ?? item.name) || item.dataKey) for the row, retaining the existing lint exception for intentional empty-string fallback.

🧠 Review effort: Balanced

The check wants @uipath/apollo-wind on the same recharts pin as
apollo-vertex. Wind stays on 2.15.4; only the recharts mismatch is ignored.
Copilot AI balanced review requested due to automatic review settings October 16, 2026 10:09
@github-actions
github-actions Bot temporarily deployed to preview/apollo-landing October 16, 2026 10:09 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-design October 16, 2026 10:10 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-docs October 16, 2026 10:10 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-vertex October 16, 2026 10:10 Destroyed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Empty-string fallback regressions can remove configured tooltip headings, labels, and icons.

1 open finding
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file
Previously missed (2)

In code that hasn't changed since last review

Medium severity Preserve item.name fallback when dataKey or labelKey is empty

packages/​apollo-vertex/​registry/​chart/​chart.tsx:151

Preserve the empty-string fallback to item.name. With dataKey: "" (or an empty labelKey) and name: "revenue", this now looks up config[""] instead of config.revenue. When the axis label is numeric or absent, the configured tooltip heading disappears and labelFormatter receives undefined instead of that heading.

Medium severity Preserve item.dataKey fallback when resolved series name is empty

packages/​apollo-vertex/​registry/​chart/​chart.tsx:199

Preserve the fallback to item.dataKey when the resolved series name is empty. For { name: "", dataKey: "revenue" }, this now looks up config[""] rather than config.revenue, losing the configured label and icon and leaving the tooltip row label blank. An empty nameKey has the same regression.

🧠 Review effort: Balanced

@ruudandriessen
ruudandriessen merged commit effb417 into main Oct 16, 2026
55 checks passed
@ruudandriessen
ruudandriessen deleted the cursor/recharts-3-chart-43f3 branch October 16, 2026 11:01

This branch was successfully deployed

No deployments
preview/apollo-vertex — 8e3ed9a4 Deployed Oct 16, 2026 by github-actions[bot]
preview/apollo-docs — 8e3ed9a4 Deployed Oct 16, 2026 by github-actions[bot]
preview/apollo-design — 8e3ed9a4 Deployed Oct 16, 2026 by github-actions[bot]
preview/apollo-landing — 8e3ed9a4 Deployed Oct 16, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app:apollo-vertex size:L 100-499 changed lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants