Skip to content

Upgrade bippy to 0.7.1 - #621

Open
aidenybai wants to merge 3 commits into
mainfrom
aiden/upgrade-bippy-0-7-0-7d2d
Open

Upgrade bippy to 0.7.1#621
aidenybai wants to merge 3 commits into
mainfrom
aiden/upgrade-bippy-0-7-0-7d2d

Conversation

@aidenybai

@aidenybai aidenybai commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Summary

Upgrades bippy from ^0.6.1 to ^0.7.1 in packages/react-grab and adapts to the 0.7.x API changes.

API adaptations in react-grab

  • src/core/element-anchors.ts: bippy 0.7.x removed getNearestHostFibers. Replaced with a local findNearestHostElementWithTag walk that preserves the nearest-host-boundary semantics while early-returning the first connected element with the anchor's tag.
  • src/core/context.ts: Fiber._debugOwner is now typed Fiber | ServerComponentInfo | null | undefined. getSourceComponentName accepts the full _debugOwner type and narrows with bippy's isFiber.
  • src/utils/freeze-updates.ts: FiberRoot.current is now typed non-null, so the defensive FiberRootLike widening extends Omit<FiberRoot, "current">.

History

The initial 0.7.0 upgrade surfaced two runtime regressions in bippy itself, traced with instrumented debugging and temporarily fixed via pnpm patch on this branch:

  1. react-refresh hook activation was dropped, so isInstrumentationActive() stayed false forever when bippy loaded after React in stock Vite/Next dev — list keys, component names, owner stacks, and Next server-frame symbolication all silently broke.
  2. The commit dispatcher threw a TypeError on roots whose current fiber has no memoizedState and misclassified them as unmounting.

Both fixes landed upstream in bippy 0.7.1, so the final revision bumps to ^0.7.1 and removes the local patch — this PR now carries only source adaptations plus the dependency bump.

Testing

  • Previously failing specs re-verified individually on stock 0.7.1: freeze-updates (15/15), list-keys in vite-upstream (3/3), and all 13 Next specs (list-keys, owner-semantics, next-symbolication-blocking).
  • Full suite on stock 0.7.1: CLI unit 230 passed, react-grab unit 356 passed, e2e 908 passed / 0 failed across all 8 environments (vite-plus, vite-upstream, next, tanstack × development/production), perf suite 73 passed.
  • pnpm typecheck, pnpm lint, pnpm format, pnpm build: all pass.
Open in Web Open in Cursor 

Summary by cubic

Upgrades bippy to ^0.7.1 in packages/react-grab and adapts to the 0.7 API. Removes the local runtime patch since 0.7.1 includes the react-refresh activation and root tracking fixes.

  • Replace removed getNearestHostFibers with a local findNearestHostElementWithTag walk. Old: helper returned nearest host fibers. New: walk from the parent fiber and return the first connected element whose tag matches the anchor. Side effect: when multiple same‑tag siblings exist under the same composite ancestor, we resolve to the first match.
  • Update getSourceComponentName to accept Fiber["_debugOwner"] and gate with isFiber; behavior unchanged.
  • Narrow FiberRootLike to extend Omit<FiberRoot, "current"> since FiberRoot.current is now non‑null.
  • Update lockfile; @types/react-reconciler is now pulled via bippy.

Written for commit c877aa0. Summary will update on new commits.

Review in cubic

Co-authored-by: aiden <aiden@million.dev>
@vercel

vercel Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
react-grab-storybook Ready Ready Preview Aug 17, 2026 9:02pm
react-grab-website Ready Ready Preview Aug 17, 2026 9:02pm

@pkg-pr-new

pkg-pr-new Bot commented Aug 17, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@react-grab/cli@621
npm i https://pkg.pr.new/grab@621
npm i https://pkg.pr.new/react-grab@621

commit: c877aa0

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No issues found across 7 files

Re-trigger cubic

Co-authored-by: aiden <aiden@million.dev>
@cursor cursor Bot changed the title Upgrade bippy to 0.7.0 Upgrade bippy to 0.7.1 Aug 17, 2026
aidenybai added a commit that referenced this pull request Aug 22, 2026
The paired perf bench checked out base `packages/react-grab/src` while
leaving the PR's installed dependencies in place, so a dependency bump
left base src importing an export the new version dropped. All 15 shards
died at fixture startup and the aggregate gate failed a PR whose own code
was fine — bippy 0.7.2 removing `getNearestHostFibers` did this to #626
and #621.

The swap now takes the base manifests and lockfile too whenever the PR
touches one, which both makes the baseline buildable and makes it the
comparison a dependency bump actually wants. Manifests the PR adds are
dropped first so the base lockfile passes its frozen check, and a base
install that still fails falls back to skipping the baseline.

The baseline run is also no longer fatal. It is a measurement, not a gate:
the base ref has its own CI, and diff-perf-runs.mjs already reports a
missing comparison instead of failing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants