fix(persons): stop person preview covering row action buttons - #81595
fix(persons): stop person preview covering row action buttons#81595posthog[bot] wants to merge 2 commits into
Conversation
The person preview popover fell back to a side (right) placement when there was not enough space above or below the name. In the funnel actors modal that side placement lands on the row's own "View recording" button, so a click aimed at the button hits the popover instead — and for profile-less actors that popover is the "No profile associated with this ID" dead end. Constrain the fallback to above/below only, so the preview can never sit beside the name over the row's action controls. Generated-By: PostHog Desktop Task-Id: 0bcf3cdd-f2c7-4987-a729-9dcf8a818d97
|
Merging to
After your PR is submitted to the merge queue, this comment will be automatically updated with its status. If the PR fails, failure details will also be posted here |
🤖 CI report✅ Bundle size — 🟢 -8 B (-0.0%)Uncompressed size of every built Total: 67.75 MiB · 🟢 -8 B (-0.0%) No file changed by more than 1000 B. Posted automatically by build-bundle-size-report · uncompressed bytes from dist-report ✅ Eager graph — within budgetHow much code each root ships on the eager path — downloaded and parsed before the surface is interactive. Measured from the esbuild output chunks (post-tree-shake, static imports only); lazy
🟢 Largest files eagerly shipped from
|
| Size | File |
|---|---|
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 24.6 KiB | ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js |
| 6.3 KiB | ../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js |
| 4.5 KiB | ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js |
| 3.9 KiB | ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js |
| 1.4 KiB | ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js |
| 1.3 KiB | src/RootErrorBoundary.tsx |
| 912 B | ../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js |
| 789 B | src/scenes/ChunkLoadErrorBoundary.tsx |
| 762 B | src/index.tsx |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
| Size | File |
|---|---|
| 285.3 KiB | ../node_modules/.pnpm/posthog-js@1.410.1/node_modules/posthog-js/dist/rrweb.js |
| 267.7 KiB | ../node_modules/.pnpm/@posthog+icons@0.38.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 238.4 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 231.5 KiB | ../node_modules/.pnpm/posthog-js@1.410.1/node_modules/posthog-js/dist/module.js |
| 154.3 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 104.5 KiB | src/lib/api.ts |
| 94.6 KiB | ../packages/quill/packages/quill/dist/index.js |
| 93.3 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
| 90.6 KiB | ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js |
Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479
✅ Toolbar bundle — eager 2.20 MiB within budget
What the toolbar ships to customer pages, measured from the esbuild output (minified, post-tree-shake). The eager set is the entry plus everything statically imported from it — fetched before any feature runs; deferred chunks load lazily. The eager guardrail is 5.72 MiB. Each output file must also stay below 10 MB, where CloudFront stops compressing it. The module boundary is enforced separately by check-toolbar-graph.
| Metric | Size | Δ vs base | Budget |
|---|---|---|---|
| Eager (shipped) entry + static imports |
2.20 MiB · 17 files | no change | ████░░░░░░ 38.4% of 5.72 MiB |
| Deferred (lazy) | 2.08 MiB · 33 files | no change | n/a — loads on demand |
Loader dist/toolbar.js |
1.1 KiB | no change | █░░░░░░░░░ 5.8% of 19.5 KiB |
Largest eagerly-shipped chunks
| Size | File |
|---|---|
| 725.7 KiB | dist/toolbar/toolbar-app-VGLJI6DC.css |
| 552.7 KiB | dist/toolbar/chunk-chunk-EZ5S4CFD.js |
| 484.6 KiB | dist/toolbar/chunk-chunk-7QEIU5OS.js |
| 133.6 KiB | dist/toolbar/chunk-chunk-GBTDYOYN.js |
| 131.8 KiB | dist/toolbar/chunk-chunk-T5KY5WYR.js |
| 71.2 KiB | dist/toolbar/toolbar-app-EXXK5YIQ.js |
| 69.0 KiB | dist/toolbar/chunk-chunk-27JL52RE.js |
| 35.6 KiB | dist/toolbar/chunk-chunk-N5Q3HTBN.js |
| 20.9 KiB | dist/toolbar/chunk-chunk-6JVOILCC.js |
| 12.2 KiB | dist/toolbar/chunk-chunk-PIK3PADE.js |
Posted automatically by check-toolbar-size · sizes are toolbar output bytes (shipped, post-tree-shake) from the esbuild metafile
✅ Dist folder size — 🔺 +523 B (+0.0%)
Total size of the built frontend/dist folder (all assets), compared against the base branch.
Total: 1421.45 MiB · 🔺 +523 B (+0.0%)
…o-profile-popover-8b4e73 Generated-By: PostHog Desktop Task-Id: 0bcf3cdd-f2c7-4987-a729-9dcf8a818d97
|
👋 Visual changes detected for this PR. Review and approve in PostHog Visual Review If these changes are unexpected, they may be caused by a flaky test or a broken snapshot on master. Don't approve — rerun the job or wait for a fix. |
Problem
PersonDisplay's preview popover listsrightas a fallback placement. When there is not enough room above or below the name,flipmoves it beside the anchor — at the same height as the row's action buttons, on top of them.Changes
rightfrom the preview popover'sfallbackPlacementsinPersonDisplay, leavingtopandbottomonly.sizemiddleware already caps the popover height and scrolls its content, so removing the side escape hatch does not clip the preview.How did you test this code?
fallbackPlacementsstraight intoflip, so removingrightleaves onlytop/bottom, which are vertically offset from the row and cannot overlap an in-row button.toporbottom(the condition that madeflipchooseright), which the roomy Storybook mock does not reproduce. No automated test asserts popover geometry, so I added none — a unit test here would assert floating-ui internals rather than a real regression.Automatic notifications
Docs update
None — internal UI placement fix, no user-facing copy or documented workflow changes.
🤖 Agent context
Autonomy: Fully autonomous
Authored by Claude Code (Opus 4.8) from a PostHog inbox report.
PersonDisplay.tsxtoo, but its concern is link/click gating viaasLink; it does not touch popover placement, so this change is additive and does not conflict semantically.propertiescan be an empty-but-present object).Created with PostHog Desktop from this inbox report.