Repository navigation
feat(signals): record personal ranking readiness on inbox viewed - #134845
Conversation
The first page of the report list now returns the viewer's own personal_ranking_status for every sort, read from the latest stored ranking row with one indexed query and never starting a build. Later pages and flag-off viewers get null. Inbox viewed now carries personal_list_state, size, age, checked age and fallback reason from that status, plus for_you_report_count, sort_field and ranker_id. Refs #134818 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Generated-By: PostHog Desktop Task-Id: 17205fb1-b95c-40f9-b271-9eea49702af5
|
😎 Merged successfully - details. |
|
Risk: No findings The change adds a read-only Sentinel reviewed |
🤖 CI report
|
| Function | Location | Complexity | Limit |
|---|---|---|---|
ReportsTab |
products/signals/frontend/inbox/components/tabs/ReportsTab.tsx:261 |
35 | 10 |
✅ Duplication (Python) — clean
New Python code duplication introduced by this branch. Fails at 70+ tokens in app code, or 150+ tokens when both copies live in test files. Advisory while the gate proves itself: extract a shared helper instead of copying.
✅ Duplication (TypeScript) — clean
New TypeScript code duplication introduced by this branch. Fails at 70+ tokens in app code, or 150+ tokens when both copies live in test files. Advisory while the gate proves itself: extract a shared helper instead of copying.
⚠️ Comment density — 3% of added code lines are comments (11 of 316)
This section warns when comments are more than 3% of the code lines a PR adds, and alerts above 6%. Before agent-assisted PRs, the typical share was about 2%. Only full-line comments count. Docstrings, generated files, snapshots, migrations, and workflow files are left out.
Comments that restate the code, record how the change came about, or narrate the next line add noise for the next reader. Keep the comments that explain a reason the code cannot show, and remove the rest. See .agents/skills/writing-code-comments/SKILL.md for the house rules.
Files with the most added comment lines:
| File | Comment lines | Added lines |
|---|---|---|
products/signals/frontend/inbox/inboxAnalytics.ts |
3 | 20 |
products/signals/backend/personal_ranking/list_sort.py |
2 | 57 |
products/signals/frontend/inbox/components/tabs/ReportsTab.tsx |
2 | 31 |
products/signals/frontend/inbox/logics/reportListLogic.ts |
2 | 14 |
products/signals/backend/views.py |
1 | 66 |
products/signals/frontend/inbox/components/tabs/ReportsTab.test.tsx |
1 | 48 |
This check does not block merging. It updates on every push and clears when the share drops.
⚠️ Bundle size — 🔺 +374 B (+0.0%)
Uncompressed size of every built .js bundle, compared against the base branch.
Total: 79.48 MiB · 🔺 +374 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 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.05 MiB · 25 files | no change | █████████░ 91.7% of 1.14 MiB |
logged-out boot: index + App + bootApp (preloaded by every page, including /login)src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts |
2.87 MiB · 538 files | no change | ██████████ 99.1% of 2.89 MiB |
authenticated shell (every logged-in page)src/scenes/AuthenticatedShell.tsx |
3.89 MiB · 1,237 files | no change | ██████████ 99.5% of 3.91 MiB |
dashboard scenesrc/scenes/dashboard/Dashboard.tsx |
7.86 MiB · 3,042 files | no change | ██████████ 99.3% of 7.92 MiB |
today home pathsrc/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx |
4.88 MiB · 1,872 files | 🔺 +348 B (+0.0%) | ██████████ 100.0% of 4.88 MiB |
AI-first home pathsrc/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx |
6.11 MiB · 2,297 files | 🔺 +348 B (+0.0%) | ██████████ 99.6% of 6.13 MiB |
events scenesrc/scenes/activity/explore/EventsScene.tsx |
6.83 MiB · 2,568 files | no change | ██████████ 98.9% of 6.91 MiB |
web analytics scenesrc/scenes/web-analytics/WebAnalyticsScene.tsx |
7.92 MiB · 2,973 files | no change | ██████████ 99.6% of 7.96 MiB |
replay detail scenesrc/scenes/session-recordings/detail/SessionRecordingDetail.tsx |
7.01 MiB · 2,622 files | no change | ██████████ 98.9% of 7.09 MiB |
🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 products/product_analytics/frontend/insights/activityDescriptions stays out of src/index.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/svg/ stays out of src/index.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/components/ stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/lemon-ui/LemonTable/LemonTable.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 node_modules/@dnd-kit/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/layout/navigation-3000/navigationLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/scenes/dashboard/dashboardLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/lemon-ui/LemonMarkdown/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/RichContentEditor/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/CodeSnippet/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/taxonomy/core-filter-definitions-by-group.json stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 node_modules/zod/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/logic/billing/billingLogic.tsx stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 src/lib/components/ProductEmptyState/productSetupPreloadLogic.ts stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 node_modules/kea-test-utils/ stays out of src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 products/product_analytics/frontend/insights/activityDescriptions stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/kea-test-utils/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 products/dashboards/frontend/widgets/previews/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/session-recordings/player/sessionRecordingPlayerLogic.ts stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/panel-layout/ProjectTree/menus/SessionReplayMenuItems.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/taxonomy/core-filter-definitions-by-group.json stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/navigation/projectNoticeLogic.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/navigation/ImpersonationNotice/ImpersonationNotice.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/cohorts/cohortSavedToast.ts stays out of src/scenes/AuthenticatedShell.tsx
🟢 products/wizard/frontend/runs/WizardRunDetailsDrawer.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/TodayShell.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/TodayContextPanelFloating.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/TodaySidePanel.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/TodayTopBar.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/layout/today/todayRailItems.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 products/subscriptions/frontend/components/Subscriptions/exportNudge/exportNudgeLogic.ts stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/billing/paymentEntryLogic.ts stays out of src/scenes/AuthenticatedShell.tsx
🟢 products/conversations/frontend/components/SidePanel/sidepanelTicketsLogic.ts stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/zod/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/authentication/auth/loginLogic.ts stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/authentication/shared/passkeyLogic.ts stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/cohorts/CohortFilters/constants.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 products/persons/frontend/logics/personsLogic.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/scenes/surveys/constants.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/@tiptap/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/prosemirror- stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/re2js/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/react-markdown/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/Command/Command.tsx stays out of src/scenes/AuthenticatedShell.tsx
🟢 packages/quill/packages/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 zod/v4/locales/de.js stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/svg/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 node_modules/@posthog/brand/dist/generated/hoggies/components/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 packages/quill/packages/quill/dist/ stays out of src/scenes/dashboard/Dashboard.tsx
🟢 node_modules/@tiptap/ stays out of src/scenes/dashboard/Dashboard.tsx
🟢 node_modules/prosemirror- stays out of src/scenes/dashboard/Dashboard.tsx
🟢 node_modules/marked/ stays out of src/scenes/dashboard/Dashboard.tsx
🟢 node_modules/frimousse/ stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/scenes/session-recordings/playlist/SessionRecordingsPlaylist.tsx stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/scenes/web-analytics/tiles/WebAnalyticsTile.tsx stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/queries/validators.js stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/queries/web-analytics-validators.js stays out of src/scenes/dashboard/Dashboard.tsx
🟢 node_modules/re2js/ stays out of src/scenes/dashboard/Dashboard.tsx
🟢 node_modules/kea-test-utils/ stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/scenes/debug/HogDebug.tsx stays out of src/scenes/dashboard/Dashboard.tsx
🟢 src/queries/QueryEditor/QueryEditor.tsx stays out of src/scenes/dashboard/Dashboard.tsx
🟢 packages/quill/packages/quill/dist/ stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 src/scenes/project-homepage/today/TodayReportPage.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 src/queries/Query/Query.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 packages/quill/packages/charts/ stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
🟢 packages/quill/packages/quill/dist/ stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 products/posthog_ai/frontend/components/tool/widgets/VisualizationWidget.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 products/posthog_ai/frontend/components/tool/widgets/RecordingsWidget.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 src/queries/Query/Query.tsx stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 products/posthog_ai/frontend/api/primitives.ts stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 src/scenes/notebooks/Notebook/notebookLogic.ts stays out of src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
🟢 packages/quill/packages/quill/dist/ stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 node_modules/@tiptap/ stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 node_modules/prosemirror- stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 node_modules/marked/ stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 node_modules/frimousse/ stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/scenes/session-recordings/playlist/SessionRecordingsPlaylist.tsx stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/scenes/web-analytics/tiles/WebAnalyticsTile.tsx stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/queries/validators.js stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/queries/web-analytics-validators.js stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 node_modules/re2js/ stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 node_modules/kea-test-utils/ stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/queries/nodes/InsightViz/InsightViz.tsx stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/queries/nodes/DataVisualization/DataVisualization.tsx stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/queries/nodes/WebOverview/WebOverview.tsx stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/scenes/debug/HogDebug.tsx stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 src/queries/QueryEditor/QueryEditor.tsx stays out of src/scenes/activity/explore/EventsScene.tsx
🟢 packages/quill/packages/quill/dist/ stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 node_modules/@tiptap/ stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 node_modules/prosemirror- stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 node_modules/marked/ stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 node_modules/frimousse/ stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 src/scenes/web-analytics/LiveMetricsDashboard/LiveWebAnalyticsMetrics.tsx stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 products/product_analytics/frontend/insights/trends/WorldMap/countryVectors.tsx stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 src/queries/validators.js stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 node_modules/re2js/ stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 node_modules/kea-test-utils/ stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 src/scenes/debug/HogDebug.tsx stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 src/queries/QueryEditor/QueryEditor.tsx stays out of src/scenes/web-analytics/WebAnalyticsScene.tsx
🟢 packages/quill/packages/quill/dist/ stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
🟢 node_modules/@tiptap/ stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
🟢 node_modules/prosemirror- stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
🟢 node_modules/marked/ stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
🟢 src/scenes/settings/SettingsMap.tsx stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
🟢 @jspm/core/nodelibs/browser/fs stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
🟢 node_modules/re2js/ stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
🟢 node_modules/kea-test-utils/ stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
🟢 node_modules/d3/src/ stays out of src/scenes/session-recordings/detail/SessionRecordingDetail.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.7 KiB | ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js |
| 4.0 KiB | ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js |
| 1.8 KiB | src/lib/utils/bootTiming.ts |
| 1.7 KiB | ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js |
| 1.7 KiB | src/index.tsx |
| 1.2 KiB | src/RootErrorBoundary.tsx |
| 1.1 KiB | src/lib/utils/deferredAppContext.ts |
Largest files eagerly shipped from src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
| Size | File |
|---|---|
| 363.5 KiB | ../node_modules/.pnpm/posthog-js@1.447.13_@types+react@18.3.31_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 224.1 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.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 |
| 108.1 KiB | src/products.tsx |
| 93.2 KiB | src/lib/api.ts |
| 69.0 KiB | src/lib/lemon-ui/icons/icons.tsx |
| 36.4 KiB | ../node_modules/.pnpm/kea@4.0.0-pre.6_patch_hash=139b8d1f1304f9d9da452a9a1244c94ea679dbcb85687d8999563146879fb6f5_react@18.3.1/node_modules/kea/lib/index.cjs.js |
| 29.4 KiB | src/lib/constants.tsx |
| 24.8 KiB | ../node_modules/.pnpm/fuse.js@7.3.0/node_modules/fuse.js/dist/fuse.mjs |
| 24.6 KiB | ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
| Size | File |
|---|---|
| 363.5 KiB | ../node_modules/.pnpm/posthog-js@1.447.13_@types+react@18.3.31_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 224.1 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.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 |
| 108.1 KiB | src/products.tsx |
| 93.2 KiB | src/lib/api.ts |
| 69.0 KiB | src/lib/lemon-ui/icons/icons.tsx |
| 40.3 KiB | ../node_modules/.pnpm/@dnd-kit+core@6.3.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/core/dist/core.esm.js |
| 36.4 KiB | ../node_modules/.pnpm/kea@4.0.0-pre.6_patch_hash=139b8d1f1304f9d9da452a9a1244c94ea679dbcb85687d8999563146879fb6f5_react@18.3.1/node_modules/kea/lib/index.cjs.js |
| 32.6 KiB | src/lib/utils/eventUsageLogic.ts |
| 29.4 KiB | src/lib/constants.tsx |
Largest files eagerly shipped from src/scenes/dashboard/Dashboard.tsx
| Size | File |
|---|---|
| 363.5 KiB | ../node_modules/.pnpm/posthog-js@1.447.13_@types+react@18.3.31_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 224.1 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.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 |
| 116.4 KiB | ../node_modules/.pnpm/posthog-js@1.447.13_@types+react@18.3.31_react@18.3.1/node_modules/posthog-js/dist/surveys-preview.js |
| 112.7 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 108.1 KiB | src/products.tsx |
| 98.3 KiB | ../packages/quill/packages/components/dist/index.js |
| 93.2 KiB | src/lib/api.ts |
| 78.9 KiB | src/scenes/dashboard/dashboardLogic.tsx |
| 69.0 KiB | src/lib/lemon-ui/icons/icons.tsx |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
| Size | File |
|---|---|
| 363.5 KiB | ../node_modules/.pnpm/posthog-js@1.447.13_@types+react@18.3.31_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 224.1 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.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 |
| 112.7 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 108.1 KiB | src/products.tsx |
| 93.2 KiB | src/lib/api.ts |
| 69.0 KiB | src/lib/lemon-ui/icons/icons.tsx |
| 68.5 KiB | ../products/posthog_ai/frontend/logics/runStreamLogic.ts |
| 40.3 KiB | ../node_modules/.pnpm/@dnd-kit+core@6.3.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/core/dist/core.esm.js |
| 36.4 KiB | ../node_modules/.pnpm/kea@4.0.0-pre.6_patch_hash=139b8d1f1304f9d9da452a9a1244c94ea679dbcb85687d8999563146879fb6f5_react@18.3.1/node_modules/kea/lib/index.cjs.js |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
| Size | File |
|---|---|
| 363.5 KiB | ../node_modules/.pnpm/posthog-js@1.447.13_@types+react@18.3.31_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 224.1 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.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 |
| 112.7 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 108.1 KiB | src/products.tsx |
| 93.2 KiB | src/lib/api.ts |
| 69.0 KiB | src/lib/lemon-ui/icons/icons.tsx |
| 68.5 KiB | ../products/posthog_ai/frontend/logics/runStreamLogic.ts |
| 41.7 KiB | src/scenes/hog-functions/sub-templates/sub-templates.ts |
| 40.3 KiB | ../node_modules/.pnpm/@dnd-kit+core@6.3.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/core/dist/core.esm.js |
Largest files eagerly shipped from src/scenes/activity/explore/EventsScene.tsx
| Size | File |
|---|---|
| 363.5 KiB | ../node_modules/.pnpm/posthog-js@1.447.13_@types+react@18.3.31_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 224.1 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.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 |
| 112.7 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 108.1 KiB | src/products.tsx |
| 98.3 KiB | ../packages/quill/packages/components/dist/index.js |
| 93.2 KiB | src/lib/api.ts |
| 78.9 KiB | src/scenes/dashboard/dashboardLogic.tsx |
| 69.0 KiB | src/lib/lemon-ui/icons/icons.tsx |
| 68.5 KiB | ../products/posthog_ai/frontend/logics/runStreamLogic.ts |
Largest files eagerly shipped from src/scenes/web-analytics/WebAnalyticsScene.tsx
| Size | File |
|---|---|
| 363.5 KiB | ../node_modules/.pnpm/posthog-js@1.447.13_@types+react@18.3.31_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 224.1 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.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 |
| 116.4 KiB | ../node_modules/.pnpm/posthog-js@1.447.13_@types+react@18.3.31_react@18.3.1/node_modules/posthog-js/dist/surveys-preview.js |
| 112.7 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 108.1 KiB | src/products.tsx |
| 98.3 KiB | ../packages/quill/packages/components/dist/index.js |
| 93.2 KiB | src/lib/api.ts |
| 78.9 KiB | src/scenes/dashboard/dashboardLogic.tsx |
| 69.0 KiB | src/lib/lemon-ui/icons/icons.tsx |
Largest files eagerly shipped from src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
| Size | File |
|---|---|
| 363.5 KiB | ../node_modules/.pnpm/posthog-js@1.447.13_@types+react@18.3.31_react@18.3.1/node_modules/posthog-js/dist/module.mjs |
| 329.8 KiB | ../node_modules/.pnpm/posthog-js@1.447.13_@types+react@18.3.31_react@18.3.1/node_modules/posthog-js/dist/rrweb.js |
| 224.1 KiB | ../node_modules/.pnpm/@posthog+icons@0.39.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.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 |
| 112.7 KiB | ../packages/quill/packages/primitives/dist/index.js |
| 108.1 KiB | src/products.tsx |
| 98.3 KiB | ../packages/quill/packages/components/dist/index.js |
| 93.2 KiB | src/lib/api.ts |
| 69.0 KiB | src/lib/lemon-ui/icons/icons.tsx |
| 68.5 KiB | ../products/posthog_ai/frontend/logics/runStreamLogic.ts |
Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479
✅ Frontend layers — no new upward imports, 0 removed
Static imports from a lower frontend layer into a higher one (layers, lowest first: kernel, shell, query, features). Compared with the base branch, so an import that a PR also adds to layer-baseline.txt still shows here. Sizes are the source bytes on the eager path of every logged-in page.
| Layer | Eager source bytes | Δ vs base |
|---|---|---|
| kernel | 3.01 MiB | no change |
| shell | 2.42 MiB | no change |
| query | 56.9 KiB | no change |
| features | 274.3 KiB | no change |
Download the interactive layer graph for this PR.
Posted automatically by check-layers
✅ Toolbar bundle — eager 2.45 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.45 MiB · 19 files | no change | ████░░░░░░ 42.9% of 5.72 MiB |
| Deferred (lazy) | 2.64 MiB · 43 files | no change | n/a — loads on demand |
Loader dist/toolbar.js |
1.2 KiB | no change | █░░░░░░░░░ 6.0% of 19.5 KiB |
Largest eagerly-shipped chunks
| Size | File |
|---|---|
| 987.5 KiB | dist/toolbar/toolbar-app-EX7SSHH5.css |
| 739.3 KiB | dist/toolbar/chunk-chunk-PFFJQBT4.js |
| 290.5 KiB | dist/toolbar/chunk-chunk-E2SUTX3R.js |
| 137.6 KiB | dist/toolbar/chunk-chunk-IULJRZNM.js |
| 131.8 KiB | dist/toolbar/chunk-chunk-FQJO25M6.js |
| 75.7 KiB | dist/toolbar/toolbar-app-ASWEJWJW.js |
| 69.0 KiB | dist/toolbar/chunk-chunk-BFAXZMC5.js |
| 33.8 KiB | dist/toolbar/chunk-chunk-QPDUWEQB.js |
| 21.9 KiB | dist/toolbar/chunk-chunk-PBF5VFNQ.js |
| 6.8 KiB | dist/toolbar/chunk-chunk-RVLGRPCH.js |
Posted automatically by check-toolbar-size · sizes are toolbar output bytes (shipped, post-tree-shake) from the esbuild metafile
✅ Dist folder size — 🔺 +12.3 KiB (+0.0%)
Total size of the built frontend/dist folder (all assets), compared against the base branch.
Total: 1013.71 MiB · 🔺 +12.3 KiB (+0.0%)
ℹ️ MCP UI apps size — 35 app(s), 37013.2 KB JS
Built size of each MCP UI app (main.js + styles.css).
| App | JS | CSS |
|---|---|---|
| debug | 1067.4 KB | 225.2 KB |
| explain-chart | 1351.3 KB | 225.2 KB |
| action | 994.6 KB | 225.2 KB |
| action-list | 1058.3 KB | 225.2 KB |
| cohort | 993.6 KB | 225.2 KB |
| cohort-list | 1057.3 KB | 225.2 KB |
| email-template | 993.4 KB | 225.2 KB |
| error-details | 998.5 KB | 225.2 KB |
| error-issue | 995.5 KB | 225.2 KB |
| error-issue-list | 1059.5 KB | 225.2 KB |
| experiment | 1055.5 KB | 225.2 KB |
| experiment-list | 1059.1 KB | 225.2 KB |
| experiment-results | 1057.5 KB | 225.2 KB |
| feature-flag | 1057.7 KB | 225.2 KB |
| feature-flag-list | 1061.5 KB | 225.2 KB |
| feature-flag-testing | 996.8 KB | 225.2 KB |
| inline-scan | 994.0 KB | 225.2 KB |
| insight-actors | 1056.8 KB | 225.2 KB |
| llm-costs | 1054.1 KB | 225.2 KB |
| session-recording | 995.8 KB | 225.2 KB |
| survey | 995.2 KB | 225.2 KB |
| survey-global-stats | 1054.2 KB | 225.2 KB |
| survey-list | 1059.0 KB | 225.2 KB |
| survey-stats | 1054.1 KB | 225.2 KB |
| trace-span | 993.9 KB | 225.2 KB |
| trace-span-list | 1058.3 KB | 225.2 KB |
| vision-observation-list | 1057.4 KB | 225.2 KB |
| workflow | 993.9 KB | 225.2 KB |
| workflow-list | 1057.7 KB | 225.2 KB |
| workflow-setup-status | 993.6 KB | 225.2 KB |
| query-results | 1320.7 KB | 225.2 KB |
| render-ui | 1427.2 KB | 225.2 KB |
| visual-review-snapshots | 998.4 KB | 225.2 KB |
| workflow-data-suggestions | 996.2 KB | 225.2 KB |
| workflow-sending-rules | 994.9 KB | 225.2 KB |
⚠️ Playwright — 3 flaky
🎭 Playwright report · View test results →
- password-protected insight sharing (chromium)
- Delete a person property (chromium)
- Remove an insight from a notebook and verify text persists (chromium)
These issues are not necessarily caused by your changes.
Annoyed by this section? Help fix flakies and failures and it will go green!
⚠️ Backend coverage — 92.0% of changed backend lines covered — 6 uncovered
🧪 Backend test coverage
Patch coverage — changed backend lines (products + core): ██████████████████░░ 92.0% (79 / 85)
| File | Patch | Uncovered changed lines |
|---|---|---|
products/signals/backend/personal_ranking/list_sort.py |
84.8% | 75, 77–78, 80–81 |
products/signals/backend/views.py |
90.9% | 1541 |
🤖 Agents: add a test only if an uncovered line exposes a realistic regression that existing tests miss. Otherwise explain why no new test is needed under "How did you test this code?". Gap list: the patch-coverage artifact on this run (gh run download 376429377953416 -n patch-coverage), or the coverage-data block at the end of this comment.
Per-product line coverage (touched products)
| Product | Coverage | Lines |
|---|---|---|
platform_features |
██░░░░░░░░░░░░░░░░░░ 12.1% |
7 / 58 |
data_tools |
████████████░░░░░░░░ 57.6% |
95 / 165 |
warehouse_sources_queue |
█████████████░░░░░░░ 65.9% |
2,194 / 3,330 |
demo |
██████████████░░░░░░ 71.6% |
2,006 / 2,803 |
knowledge_writer |
████████████████░░░░ 77.8% |
1,474 / 1,895 |
batch_exports |
█████████████████░░░ 83.0% |
24,969 / 30,076 |
engineering_analytics |
█████████████████░░░ 85.6% |
12,515 / 14,615 |
ml_inference |
█████████████████░░░ 86.3% |
524 / 607 |
commands |
█████████████████░░░ 86.7% |
1,674 / 1,930 |
mcp_analytics |
██████████████████░░ 87.8% |
6,827 / 7,777 |
posthog_ai |
██████████████████░░ 88.2% |
4,514 / 5,116 |
notebooks |
██████████████████░░ 88.6% |
15,599 / 17,612 |
apm |
██████████████████░░ 89.2% |
2,250 / 2,523 |
dashboards |
██████████████████░░ 89.6% |
9,057 / 10,105 |
cohorts |
██████████████████░░ 90.5% |
9,895 / 10,932 |
warehouse_suggestions |
██████████████████░░ 90.7% |
4,276 / 4,712 |
actions |
██████████████████░░ 90.9% |
1,524 / 1,677 |
data_warehouse |
██████████████████░░ 91.0% |
15,846 / 17,407 |
cdp |
██████████████████░░ 91.1% |
11,814 / 12,967 |
signals |
██████████████████░░ 91.2% |
113,783 / 124,769 |
canvas |
██████████████████░░ 91.5% |
8,559 / 9,351 |
tasks |
██████████████████░░ 91.6% |
86,759 / 94,722 |
autoresearch |
██████████████████░░ 91.6% |
12,301 / 13,422 |
today |
██████████████████░░ 91.7% |
4,270 / 4,655 |
streamlit_apps |
██████████████████░░ 92.0% |
3,200 / 3,478 |
alerts_platform |
██████████████████░░ 92.1% |
11,062 / 12,013 |
business_knowledge |
██████████████████░░ 92.2% |
10,900 / 11,824 |
data_modeling |
██████████████████░░ 92.3% |
13,023 / 14,117 |
visual_review |
██████████████████░░ 92.4% |
13,437 / 14,550 |
review_hog |
██████████████████░░ 92.4% |
18,498 / 20,025 |
conversations |
██████████████████░░ 92.4% |
33,298 / 36,038 |
metrics |
██████████████████░░ 92.4% |
13,031 / 14,101 |
wizard |
██████████████████░░ 92.4% |
7,323 / 7,922 |
slack_app |
███████████████████░ 92.6% |
25,685 / 27,748 |
notifications |
███████████████████░ 92.8% |
1,230 / 1,326 |
error_tracking |
███████████████████░ 92.8% |
21,541 / 23,219 |
early_access_features |
███████████████████░ 92.8% |
1,400 / 1,509 |
legal_documents |
███████████████████░ 93.0% |
2,380 / 2,558 |
ai_training |
███████████████████░ 93.1% |
605 / 650 |
managed_warehouse |
███████████████████░ 93.2% |
15,792 / 16,947 |
authorization |
███████████████████░ 93.2% |
850 / 912 |
webmcp |
███████████████████░ 93.3% |
277 / 297 |
stamphog |
███████████████████░ 93.3% |
11,751 / 12,592 |
alerts |
███████████████████░ 93.3% |
14,214 / 15,228 |
surveys |
███████████████████░ 93.6% |
7,847 / 8,388 |
web_analytics |
███████████████████░ 93.6% |
27,149 / 29,018 |
approvals |
███████████████████░ 93.6% |
4,944 / 5,284 |
exports |
███████████████████░ 93.7% |
4,474 / 4,777 |
cross_project_dashboards |
███████████████████░ 93.7% |
867 / 925 |
context_layer |
███████████████████░ 93.8% |
4,082 / 4,350 |
marketing_analytics |
███████████████████░ 93.9% |
22,448 / 23,903 |
mcp_store |
███████████████████░ 94.0% |
9,391 / 9,991 |
ai_observability |
███████████████████░ 94.0% |
42,027 / 44,703 |
billing_alerts |
███████████████████░ 94.0% |
2,332 / 2,480 |
messaging |
███████████████████░ 94.0% |
10,646 / 11,320 |
annotations |
███████████████████░ 94.1% |
1,460 / 1,552 |
workflows |
███████████████████░ 94.1% |
31,731 / 33,718 |
managed_migrations |
███████████████████░ 94.2% |
1,886 / 2,003 |
customer_analytics |
███████████████████░ 94.4% |
33,637 / 35,649 |
replay_vision |
███████████████████░ 94.4% |
33,459 / 35,453 |
access_control |
███████████████████░ 94.4% |
8,663 / 9,179 |
ai_gateway |
███████████████████░ 94.4% |
1,580 / 1,674 |
logs |
███████████████████░ 94.4% |
20,579 / 21,794 |
reminders |
███████████████████░ 94.5% |
837 / 886 |
experiments |
███████████████████░ 94.7% |
49,044 / 51,779 |
growth |
███████████████████░ 95.0% |
11,603 / 12,217 |
endpoints |
███████████████████░ 95.0% |
9,725 / 10,239 |
warehouse_sources |
███████████████████░ 95.0% |
143,195 / 150,748 |
release |
███████████████████░ 95.0% |
703 / 740 |
product_tours |
███████████████████░ 95.1% |
1,271 / 1,337 |
skills |
███████████████████░ 95.1% |
7,658 / 8,053 |
uptime_monitoring |
███████████████████░ 95.3% |
306 / 321 |
subscriptions |
███████████████████░ 95.7% |
14,326 / 14,977 |
ui_customization |
███████████████████░ 95.7% |
714 / 746 |
data_catalog |
███████████████████░ 95.7% |
5,410 / 5,651 |
tracing |
███████████████████░ 95.8% |
5,113 / 5,339 |
feature_flags |
███████████████████░ 95.8% |
31,130 / 32,505 |
product_analytics |
███████████████████░ 95.8% |
31,510 / 32,901 |
revenue_analytics |
███████████████████░ 95.9% |
1,877 / 1,958 |
data_quality |
███████████████████░ 96.0% |
8,583 / 8,937 |
groups |
███████████████████░ 96.4% |
2,068 / 2,145 |
aeo |
███████████████████░ 96.4% |
4,958 / 5,141 |
account_audits |
███████████████████░ 96.5% |
823 / 853 |
security |
███████████████████░ 96.8% |
1,594 / 1,647 |
pulse |
███████████████████░ 97.0% |
2,044 / 2,107 |
analytics_platform |
████████████████████ 98.0% |
2,962 / 3,022 |
field_notes |
████████████████████ 98.4% |
181 / 184 |
Report-only. Patch coverage = changed backend lines covered vs origin/master. Sorted lowest first.
Known gaps: lines covered only by Temporal tests show as uncovered; core line numbers may drift if master changed the same file.
|
/trunk merge |
Deploy status
This table shows the |
Problem
Closes #134818
Origin
Changes
personal_ranking_status, for every sort and withscope=teammate.Inbox viewedadds fivepersonal_list_*properties,for_you_report_count,sort_fieldandranker_id.for_you_report_countreuses the counts the event already sums. It is null outside the viewer's own scope or with filters.How did you test this code?
Test rationale: New cases cover each state, teammate scope, later pages, flag off, the event wiring, and one added query (28 to 29).
@posthog/quill.Release status
Docs update
🤖 Agent context
Autonomy: Fully autonomous
Agent: Claude Code, Claude Opus 5.5 (
claude-opus-5-5)Skills:
/improving-drf-endpoints,/adopting-generated-api-types,/writing-tests,/writing-code-comments,/writing-pr-descriptionsSecurity review: not needed
More context for AI agents
serve.pydoes, so a newer fallback row reportsfallbackeven when an older personalized row still orderssort=personal.sizecounts ranked plus folded reports, the same setpersonal_list_orderorders.Inbox viewed.personal_ranking_stateinlist_sort.py, and theservedpick inReportsTab.tsx.Created with PostHog Desktop from an inbox report
🤖 Generated with Claude Code