Skip to content

chore(experiments): product folder migration details modal - #92589

Merged
trunk-io[bot] merged 2 commits into
masterfrom
experiments/product-folder-migration-details-modal
Sep 2, 2026
Merged

trunk-io[bot] merged 2 commits into
masterfrom
experiments/product-folder-migration-details-modal

Conversation

@rodrigoi

@rodrigoi rodrigoi commented Sep 1, 2026 •

Copy link
Copy Markdown
Member

Problem

The details modal still lives under frontend/src/scenes/experiments. It belongs in the experiments product folder.

Changes

Mechanical move of the details modal to products/experiments/frontend/modals. Its logic and test move with it. All importers now use products/ or scenes/ aliases, no ../. No behavior change.

How did you test this code?

pnpm --filter=@posthog/frontend jest products/experiments/frontend/modals frontend/src/scenes/experiments

cat-type-small

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Model: Opus 4.8 (1M context)
Manually refactored: no

Skills used:

  • /stacking-prs (local)
  • /writing-ui-components (local)
  • /writing-pull-requests (local)

Relevant decisions:

  • One modal per stacked PR, so each review stays small and mechanical.
  • Each modal lands in its own products/experiments/frontend/modals/<Name>/ folder with colocated logic and test.

@github-actions

github-actions Bot commented Sep 1, 2026 •

Copy link
Copy Markdown
Contributor

🤖 CI report

✅ Trunk lane — non-backend lane

This PR is assigned to the non-backend lane. It does not run backend Python tests and may merge in parallel with PRs in other lanes.

⚠️ Complexity (TypeScript) — 4 functions above the limit (max 54)

Cyclomatic complexity above the limit in changed typescript files (10 for production files, 15 for test files). Warn only: worth simplifying when you next touch these functions.

Function Location Complexity Limit
MetricRowGroup frontend/src/scenes/experiments/MetricsView/new/MetricRowGroup.tsx:541 54 10
<anonymous> frontend/src/scenes/experiments/MetricsView/new/MetricRowGroup.tsx:348 26 10
<anonymous> frontend/src/scenes/experiments/MetricsView/new/MetricRowGroup.tsx:1121 26 10
<anonymous> frontend/src/scenes/experiments/MetricsView/new/MetricRowGroup.tsx:190 17 10
✅ Bundle size — no change

Uncompressed size of every built .js bundle, compared against the base branch.

Total: 68.29 MiB · no change

No file changed by more than 1000 B.

Posted automatically by build-bundle-size-report · uncompressed bytes from dist-report

✅ Eager graph — within budget

How 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 import() / React.lazy chunks are not counted.

Root Eager (shipped) Δ vs base Budget
entry (logged-out pages, app bootstrap)
src/index.tsx
1.45 MiB · 22 files no change ███░░░░░░░ 32.2% of 4.51 MiB
authenticated shell (every logged-in page)
src/scenes/AuthenticatedShell.tsx
8.88 MiB · 3,265 files no change █████████░ 91.4% of 9.71 MiB

🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx

Largest files eagerly shipped from src/index.tsx
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
307.0 KiB ../node_modules/.pnpm/posthog-js@1.422.5_@types+react@18.3.27_react@18.3.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
263.5 KiB ../node_modules/.pnpm/posthog-js@1.422.5_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.js
258.4 KiB src/taxonomy/core-filter-definitions-by-group.json
154.2 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.7 KiB src/lib/api.ts
95.2 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.27 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.27 MiB · 18 files no change ████░░░░░░ 39.6% of 5.72 MiB
Deferred (lazy) 2.12 MiB · 45 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
753.6 KiB dist/toolbar/toolbar-app-INRFIPBN.css
590.5 KiB dist/toolbar/chunk-chunk-73WGE5HZ.js
484.7 KiB dist/toolbar/chunk-chunk-X6CDAHJV.js
135.6 KiB dist/toolbar/chunk-chunk-JYOA3KXW.js
131.8 KiB dist/toolbar/chunk-chunk-FDH2IBXT.js
71.3 KiB dist/toolbar/toolbar-app-JJ2QFXS6.js
69.0 KiB dist/toolbar/chunk-chunk-TSAL54PB.js
35.6 KiB dist/toolbar/chunk-chunk-2WYPTABE.js
21.0 KiB dist/toolbar/chunk-chunk-MRNDI7EB.js
6.8 KiB dist/toolbar/chunk-chunk-DV7IWQNF.js

Posted automatically by check-toolbar-size · sizes are toolbar output bytes (shipped, post-tree-shake) from the esbuild metafile

✅ Dist folder size — 🔺 +95 B (+0.0%)

Total size of the built frontend/dist folder (all assets), compared against the base branch.

Total: 1456.92 MiB · 🔺 +95 B (+0.0%)

✅ Playwright — all passed

All tests passed.

View test results →

@rodrigoi rodrigoi changed the title experiments/product folder migration details modal chore(experiments): product folder migration details modal Sep 1, 2026
@rodrigoi rodrigoi added skip-agent-review Save $$$, skip auto agent reviews (Greptile) — use for trivial or chore PRs skip-inkeep-docs Use this label to skip an Inkeep docs PR in posthog.com labels Sep 1, 2026
@trunk-io

trunk-io Bot commented Sep 1, 2026 •

Copy link
Copy Markdown

Static Badge   Static Badge   Static Badge

View Full Report ↗︎ ⋅ Docs

@rodrigoi
rodrigoi force-pushed the experiments/product-folder-migration-details-modal branch from 50cd35b to 3a7e3f1 Compare September 1, 2026 15:59
@rodrigoi
rodrigoi marked this pull request as ready for review September 1, 2026 20:19
@github-actions

github-actions Bot commented Sep 1, 2026 •

Copy link
Copy Markdown
Contributor

🦔 Hogbox preview · ❌ build failed

The preview didn't come up for commit d7c2e61. See the build log for the failing step. It'll retry on the next push.

Previews are optional and never block merging. A failure here is often a hogland or tailnet hiccup rather than anything in your PR, so the check stays green and this comment is the status.

@pr-assigner-resolver-posthog
pr-assigner-resolver-posthog Bot requested a review from a team September 1, 2026 20:19
@greptile-apps

greptile-apps Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "chore(experiments): update imports for d..." | Re-trigger Greptile

@rodrigoi rodrigoi added the stamphog Request AI approval (no full review) label Sep 1, 2026
stamphog[bot]
stamphog Bot previously approved these changes Sep 1, 2026

@stamphog stamphog Bot 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.

Approved.

Purely mechanical file move of the details modal into the product folder with import path updates only; no logic change, no risky territory, author is on the owning team.

  • Author wrote 0% of the modified lines and has 33 merged PRs in these paths (familiarity MODERATE).
  • 👍 on the PR from greptile-apps[bot].
Gate mechanics and policy version
Gate Result
prerequisites ✓ all clear
deny-list ✓ no deny categories matched
size ✓ 6L, 2F substantive — within ceiling
tier ✓ T1-agent / T1b-small (6L, 2F, two-areas, chore)
stamphog 2.0.0b4 .stamphog/policy.yml @ 3a7e3f1 · reviewed head 3a7e3f1

@rodrigoi
rodrigoi force-pushed the experiments/product-folder-migration-details-modal branch from 3a7e3f1 to 817b72e Compare September 1, 2026 21:03
@github-actions
github-actions Bot requested a deployment to preview-pr-92589 September 1, 2026 21:03 In progress
@rodrigoi
rodrigoi force-pushed the experiments/product-folder-migration-details-modal branch from 817b72e to c2b2be4 Compare September 2, 2026 18:16
@github-actions
github-actions Bot requested a deployment to preview-pr-92589 September 2, 2026 18:16 In progress
@trunk-io

trunk-io Bot commented Sep 2, 2026

Copy link
Copy Markdown

Stacked PR 92598 was cancelled: a user cancelled it.

@rodrigoi
rodrigoi force-pushed the experiments/product-folder-migration-details-modal branch from c2b2be4 to da82418 Compare September 2, 2026 21:06
@github-actions
github-actions Bot requested a deployment to preview-pr-92589 September 2, 2026 21:07 In progress
Base automatically changed from experiments/product-folder-migration-running-time-config-modal to master September 2, 2026 22:36
@stamphog
stamphog Bot dismissed their stale review September 2, 2026 22:36

The PR was retargeted to a different base branch, so the approved diff is no longer what was reviewed. Stamphog re-reviews automatically.

@trunk-io

trunk-io Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

😎 This pull request was merged.

stamphog[bot]
stamphog Bot previously approved these changes Sep 2, 2026

@stamphog stamphog Bot 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.

Approved.

Purely mechanical move of modal components/imports into the products/experiments folder with no logic changes; author is on the owning team and the change is low-risk and reversible.

  • Author wrote 11% of the modified lines and has 71 merged PRs in these paths (familiarity MODERATE).
  • 👍 on the PR from greptile-apps[bot].
Gate mechanics and policy version
Gate Result
prerequisites ✓ all clear
deny-list ✓ no deny categories matched
size ✓ 35L, 6F substantive — within ceiling
tier ✓ T1-agent / T1c-medium (35L, 6F, two-areas, chore)
stamphog 2.0.0b4 .stamphog/policy.yml @ da82418 · reviewed head da82418

@rodrigoi
rodrigoi force-pushed the experiments/product-folder-migration-details-modal branch from da82418 to d7c2e61 Compare September 2, 2026 22:41
@stamphog
stamphog Bot dismissed their stale review September 2, 2026 22:41

A new stamphog review started for this PR — the fresh verdict replaces this approval.

@stamphog stamphog Bot 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.

Approved.

Purely mechanical file move with import path updates, no logic changes, author is on the owning team, and the change is outside any risky territory.

  • Author wrote 0% of the modified lines and has 33 merged PRs in these paths (familiarity MODERATE).
  • 👍 on the PR from greptile-apps[bot].
Gate mechanics and policy version
Gate Result
prerequisites ✓ all clear
deny-list ✓ no deny categories matched
size ✓ 6L, 2F substantive — within ceiling
tier ✓ T1-agent / T1b-small (6L, 2F, two-areas, chore)
stamphog 2.0.0b4 .stamphog/policy.yml @ d7c2e61 · reviewed head d7c2e61

@trunk-io
trunk-io Bot merged commit 0a0b77c into master Sep 2, 2026
201 checks passed
@trunk-io
trunk-io Bot deleted the experiments/product-folder-migration-details-modal branch September 2, 2026 23:33
@trunk-io

trunk-io Bot commented Sep 2, 2026

Copy link
Copy Markdown

This pull request was merged into master as part of stacked PR 92591.

@deployment-status-posthog

deployment-status-posthog Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-09-02 23:50 UTC Run
prod-us ✅ Deployed 2026-09-03 08:35 UTC Run
prod-eu ✅ Deployed 2026-09-03 08:36 UTC Run

This branch had an error being deployed

1 failed deployment
preview-pr-92589 — d7c2e613 Deployed Sep 2, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-agent-review Save $$$, skip auto agent reviews (Greptile) — use for trivial or chore PRs skip-inkeep-docs Use this label to skip an Inkeep docs PR in posthog.com stamphog Request AI approval (no full review)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant