Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. 4 Skipped Deployments
|
Code Review —
|
✅ Playwright Test ReportStatus: Tests passed 📊 Download Report & Snapshots (see Artifacts section) What's in the Visual SnapshotsThe gallery includes visual snapshots for:
Run ID: 24296431242 |
…d guard When the scroll area sits below a fixed header (e.g. deepcitation-web's ~64px marketing header), the usable space above a trigger is triggerTop - containerTop, not triggerTop. Two compounding bugs caused the popover to bleed into / be clipped by the header: 1. lockSide measured spaceAbove = triggerTop (overestimated by headerHeight), allowing side="top" when there wasn't enough real space above. 2. guardClamp clamped to elRect.top >= 0 (viewport top), but the Radix Root's overflow:hidden clips at containerTop — so the guard was leaving the popover partially behind the header. Fix: thread containerTop (= findPageScrollEl(trigger).getBoundingClientRect().top) into both functions via new default-0 params. useLockedPopoverSide and useViewportBoundaryGuard compute it once per open from the trigger's scroll ancestor. No change when portaling into document.body (containerTop = 0). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
0.3.11→0.4.0[Unreleased]content to[0.4.0] - 2026-04-11, incorporating all 7 commits since the last release (fix(cli): cowork verify hang + RC5 hydrate + parser/merge regressions #411–fix: popover position:fixed, miss/not_found ghost scale-up #417)size-limitforlib/react/index.js: 71 KB → 73 KB to accommodate intentional new exports added in refactor: rename fullPhrase/anchorText → sourceContext/sourceMatch #412 (DefaultPopoverContent,SnippetZone,getStatusFromVerification,getStatusLabel)Notable changes in this release
fullPhrase/anchorTextrenamed tosourceContext/sourceMatchwith backward-compat alias resolution (refactor: rename fullPhrase/anchorText → sourceContext/sourceMatch #412)reviewUrl()SDK method with full typed error coverage (fix: review_extract false-positives, prepareUrl status:error, date-only timezone #415)undicidependency (fix(cli): cowork verify hang + RC5 hydrate + parser/merge regressions #411)Test plan
npm run lint— passes (271 files, no violations)npm test— 88 suites, 2309 tests, all passingnpm run build— clean buildnpm run size— all bundles within limitsnpm pack --dry-run— README.md present in tarball