Skip to content

feat(error-tracking): sync issue status from linear tickets - #125338

Merged
trunk-io[bot] merged 13 commits into
masterfrom
feat/error-tracking-linear-status-sync
Nov 2, 2026
Merged

trunk-io[bot] merged 13 commits into
masterfrom
feat/error-tracking-linear-status-sync

Conversation

@ablaszkiewicz

@ablaszkiewicz ablaszkiewicz commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Problem

  • Teams that track error tracking issues as Linear tickets resolve each issue by hand after closing its ticket.
  • A reopened ticket leaves its issue resolved.

Changes

Stacked on #125472, which adds the Linear webhook endpoint.

flowchart LR
    L[Linear App] --> E["/webhooks/linear in EU"] --> R[200, nothing acts]
    class L phRed;
    class E phBlue;
    class R phYellow;
    classDef phRed fill:#f54e00,stroke:#f54e00,color:#fff;
    classDef phBlue fill:#1d4aff,stroke:#1d4aff,color:#fff;
    classDef phYellow fill:#f9bd2b,stroke:#f9bd2b,color:#000;
Loading
flowchart LR
    L[Linear App] --> E["/webhooks/linear in EU"]
    E --> O{Workspace connected in EU?}
    O -->|yes| T[Celery task]
    O -->|no, state change| U["/webhooks/linear in US"] --> T
    T --> G[Linear API: current ticket states]
    G --> S[Issue status]
    class L,G phRed;
    class E,U,T phBlue;
    class O phYellow;
    class S phGray;
    classDef phRed fill:#f54e00,stroke:#f54e00,color:#fff;
    classDef phBlue fill:#1d4aff,stroke:#1d4aff,color:#fff;
    classDef phYellow fill:#f9bd2b,stroke:#f9bd2b,color:#000;
    classDef phGray fill:#e5e7eb,stroke:#c7ccd1,color:#000;
Loading
  • Settings → Error tracking → Integrations → Linear has a new "Sync error tracking issue status from Linear" switch, off by default per project.
  • The error-tracking-linear-status-sync feature flag hides the switch.
  • The label and help text name error tracking, because the Linear connection beside it is shared with other products.
  • With it on, an issue resolves once all linked Linear tickets are closed and one is done.
  • A linked ticket that Linear does not return keeps the issue open, because the response cannot tell a deleted ticket from one the token cannot read.
  • It becomes active again when a linked ticket reopens.
  • Canceled tickets alone never resolve an issue.
  • Suppressed issues never change.
  • The task rereads ticket states from Linear, so a late delivery cannot apply a stale state.

Warning

Nothing syncs until the Linear App subscribes to Issues at https://eu.posthog.com/webhooks/linear and both regions share LINEAR_APP_WEBHOOK_SECRET.
Keep the error-tracking-linear-status-sync flag off until then.

The Linear section had only the connect controls before, so there is no before screenshot. These replace the earlier screenshots, which showed the old label.

No workspace connected Workspace connected, sync on
Full page no-workspace-full connected-full
Linear section no-workspace-1280 connected-1280

How did you test this code?

Test rationale
  • products/error_tracking/backend/test/test_linear_status_sync.py:
    • Job cases catch a sync for a title edit, a new ticket or a comment, and identifiers lost after a ticket moves between Linear teams.
    • Webhook cases catch a broken path to the Celery task, a US state change that is not forwarded, and a ticket edit that is.
    • Status cases cover each resolve and reopen rule, suppressed issues, PostHog attribution, and the opt-in and workspace scoping across projects.
  • test_settings.py patches the new field, which catches a serializer that drops it.
    • A moved-ticket case catches an issue that resolves while a ticket that moved teams is still open, with the move job before or after the completion job. Its last step catches a refresh that never runs.
    • An unreturned-ticket case catches an issue that resolves while a linked ticket's state is unknown.
    • A failing-token case catches one project's failed Linear read that stops another project from syncing.
    • A previous-state case catches one project's token that cannot see a private Linear team and stops another project from reopening.
    • A rate-limit case catches a retry that ignores Linear's reset time, and a job that keeps reading with a token Linear already rate limited.
      A second row puts a project whose read fails first, which catches a retry that takes the first error's terms.
    • A Redis case catches a lock connection error or timeout that the task does not retry.
    • The status cases need the database. Linear's API is faked at requests.post.

Not checked: a real Linear workspace, the live Linear API, or two workers syncing one issue at once.

👉 Stay up-to-date with PostHog coding conventions for a smoother review.

Release status

  • This change is behind a feature flag and is not available to users

Docs update

  • None.

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Agent: Claude Code, Opus 5.5 (claude-opus-5-5)

Skills: /adding-inbound-webhooks, /django-migrations, /improving-drf-endpoints, /writing-tests, /writing-dataclasses, /writing-ui-components, /writing-user-facing-copy, /writing-code-comments, /routing-outbound-api-calls, /stacking-prs, /writing-pr-descriptions

More context for AI agents
  • Session: https://claude.ai/code/session_01FkuJACbTMz8Ughe2yEnecV, Claude Code
  • Session: https://claude.ai/code/session_01NtZv9nJo1pWt8hS432B7fY, Claude Code (SDK move and feature flag)
  • Decisions: the requester set the rules: reopen on a reopened ticket, and resolve only when all linked tickets close.
  • Decisions: the requester dropped the opt-in switch for a while, then asked for it back. The switch, column, migration and screenshots are restored unchanged.
  • Decisions: the moved-ticket identifier refresh also touches only opted-in projects, so a project that has not opted in sees no writes from the sync.
  • Decisions: the requester asked to split the ingress provider into feat(ingress): add a linear provider #125472. This branch was rebuilt on it, and the combined diff matches the earlier single PR.
  • Decisions: the agent chose matching on Linear's state categories, because teams rename states, and the canceled-alone rule. Both are open for review.
  • Decisions: a workspace connected in both regions syncs only its EU projects, because the EU ownership lookup answers local.
  • Decisions: after review, moved tickets refresh their references, a per-issue Redis lock orders overlapping jobs, each issue fails on its own, and rate limits wait for Linear's reset.
  • Decisions: after review, the identifier refresh runs per issue inside the issue lock, and a ticket without a known state blocks a resolve. A live Linear response for an unreadable ticket was not checked, so the sync does not assume that a missing ticket was deleted.
  • Decisions: when several issues fail, the task retries on the terms of the failure that needs the longest wait: a rate limit, then a busy lock, then the first other failure. Retrying each failed issue as its own task was the alternative.
  • Decisions: the requester asked to hide the switch behind a frontend feature flag. The flag gates only the UI, so the settings API and the MCP tool still accept linear_status_sync_enabled.
  • Decisions: the sync reads integration rows through the integrations SDK, for the integration-model-through-sdk ratchet. One nosemgrep keeps the Integration import, because bounded_statement_timeout needs the model class to find the alias of the ownership lookup.
  • Decisions: after review, an expression index on (integration_id, external_context -> 'id') serves the reference lookup on each state change, so its cost does not grow with link history.
  • Decisions: after review, a job sends no more Linear reads with an integration that Linear rate limited. The memory lasts one job, not across deliveries, so a later job spends one read to find the limit.
  • Decisions: after review, every Linear answer in a job is kept per integration, so one project's token never decides for another project.
  • Read closely: products/error_tracking/backend/logic/linear_status_sync.py, and the GraphQL queries in posthog/models/integration/linear.py, which are not checked against the live Linear API.
  • Follow-ups: GitHub issue and PR status sync, which does not exist today. ClickHouse publish durability for every status change.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FkuJACbTMz8Ughe2yEnecV

@ablaszkiewicz ablaszkiewicz self-assigned this Oct 29, 2026
@trunk-io

trunk-io Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

😎 Stack merged successfully - details.

@posthog posthog 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.

PostHog Review · Standard · reviewed 165c306: 5 Should fix.

This is the only automatic review while this pull request is a draft. Comment @posthog review to review new changes sooner. Otherwise, a review of the new changes runs when you mark it ready for review.

See this review and its findings in PostHog Review. Comment @posthog review --deep for a Deep review. A Deep review takes longer and looks deeper than a Standard review.

@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

🤖 CI report

⚠️ Trunk lane — backend Python lane

This PR is assigned to the backend Python lane. It runs backend Python tests and may merge in parallel with PRs in other lanes.

✅ Complexity (TypeScript) — clean

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.

✅ 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 — 4% of added code lines are comments (40 of 1135)

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/error_tracking/backend/logic/linear_status_sync.py 21 309
products/error_tracking/backend/tasks/linear.py 5 69
products/error_tracking/backend/facade/contracts.py 4 13
products/error_tracking/frontend/scenes/ErrorTrackingConfigurationScene/linear_status_sync/linearStatusSyncLogic.ts 4 121
products/error_tracking/backend/models.py 2 11
products/error_tracking/backend/test/test_linear_status_sync.py 2 356
posthog/models/integration/linear.py 1 79
products/error_tracking/frontend/scenes/ErrorTrackingConfigurationScene/linear_status_sync/LinearStatusSyncSetting.tsx 1 39

This check does not block merging. It updates on every push and clears when the share drops.

✅ Bundle size — 🟢 -2.66 MiB (-3.4%)

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

Total: 76.16 MiB · 🟢 -2.66 MiB (-3.4%)

File Size Δ vs base
render-query/src/render-query/render-query.js 21.31 MiB 🟢 -3.72 MiB (-14.9%)
posthog-app/src/taxonomy/core-filter-definitions-by-group.js 288.3 KiB 🔺 +288.3 KiB (new)
posthog-app/src/lib/components/ActivityLog/describers.js removed 🟢 -176.3 KiB (-100.0%)
exporter/src/lib/components/ActivityLog/describers.js removed 🟢 -175.5 KiB (-100.0%)
posthog-app/src/scenes/AuthenticatedShell.js 141.8 KiB 🟢 -132.9 KiB (-48.4%)
exporter/_parent/products/workflows/frontend/Channels/ChannelSetupModal.js 115.7 KiB 🔺 +115.7 KiB (new)
posthog-app/src/lib/components/CommandKSearch/CommandKSearch.js 51.3 KiB 🔺 +51.3 KiB (new)
posthog-app/src/scenes/team-activity/teamActivityDescriber.js 35.5 KiB 🔺 +35.5 KiB (new)
exporter/src/scenes/team-activity/teamActivityDescriber.js 32.7 KiB 🔺 +32.7 KiB (new)
posthog-app/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluation.js 127.9 KiB 🟢 -23.5 KiB (-15.5%)
posthog-app/src/scenes/billing/PaymentEntryModal.js 21.6 KiB 🔺 +21.6 KiB (new)
posthog-app/src/scenes/marketing-analytics/MarketingAnalyticsScene.js 217.9 KiB 🔺 +19.7 KiB (+9.9%)
exporter/src/queries/schema.js 1.29 MiB 🔺 +19.3 KiB (+1.5%)
posthog-app/src/queries/schema.js 1.29 MiB 🔺 +19.3 KiB (+1.5%)
exporter/_parent/products/posthog_ai/frontend/scenes/TaskTracker/TaskTracker.js 107.9 KiB 🟢 -18.2 KiB (-14.4%)
exporter/src/exporter/scenes/ExporterNotebookScene.js 3.93 MiB 🔺 +18.0 KiB (+0.5%)
posthog-app/src/scenes/experiments/experimentActivityDescriber.js 17.9 KiB 🔺 +17.9 KiB (new)
posthog-app/src/scenes/welcome/WelcomeDialog.js 17.7 KiB 🔺 +17.7 KiB (new)
exporter/src/scenes/feature-flags/activityDescriptions.js 17.1 KiB 🔺 +17.1 KiB (new)
exporter/src/scenes/experiments/experimentActivityDescriber.js 16.9 KiB 🔺 +16.9 KiB (new)
posthog-app/src/layout/navigation/ProjectNotice.js 16.3 KiB 🔺 +16.3 KiB (new)
posthog-app/_parent/products/signals/frontend/inbox/InboxScene.js 497.6 KiB 🔺 +16.0 KiB (+3.3%)
posthog-app/src/scenes/feature-flags/activityDescriptions.js 15.8 KiB 🔺 +15.8 KiB (new)
posthog-app/_parent/products/dashboards/frontend/widgets/metrics/EditMetricsWidgetModal.js 14.8 KiB 🔺 +14.8 KiB (new)
posthog-app/_parent/products/ai_observability/frontend/evaluations/EvaluationsScene.js 60.0 KiB 🟢 -14.3 KiB (-19.3%)
posthog-app/src/scenes/surveys/surveyActivityDescriber.js 13.1 KiB 🔺 +13.1 KiB (new)
posthog-app/_parent/products/product_analytics/frontend/insights/activityDescriptions.js 13.0 KiB 🔺 +13.0 KiB (new)
exporter/src/scenes/surveys/surveyActivityDescriber.js 12.4 KiB 🔺 +12.4 KiB (new)
posthog-app/src/scenes/dashboard/dashboardActivityDescriber.js 11.4 KiB 🔺 +11.4 KiB (new)
exporter/_parent/products/dashboards/frontend/widgets/metrics/EditMetricsWidgetModal.js 11.2 KiB 🔺 +11.2 KiB (new)
exporter/_parent/products/product_analytics/frontend/insights/activityDescriptions.js 10.9 KiB 🔺 +10.9 KiB (new)
posthog-app/src/scenes/onboarding/shared/wizard-sync/WizardSyncFab.js 10.4 KiB 🔺 +10.4 KiB (new)
posthog-app/src/scenes/integrations/redshift/RedshiftSetupModal.js 10.0 KiB 🔺 +10.0 KiB (new)
exporter/src/scenes/dashboard/dashboardActivityDescriber.js 9.3 KiB 🔺 +9.3 KiB (new)
exporter/src/scenes/integrations/redshift/RedshiftSetupModal.js 9.0 KiB 🔺 +9.0 KiB (new)
posthog-app/src/layout/navigation/ImpersonationNotice/ImpersonationNotice.js 8.7 KiB 🔺 +8.7 KiB (new)
posthog-app/src/scenes/settings/organization/activityDescriptions.js 8.2 KiB 🔺 +8.2 KiB (new)
posthog-app/_parent/products/wizard/frontend/runs/WizardRunSyncFab.js 8.1 KiB 🔺 +8.1 KiB (new)
posthog-app/_parent/products/ai_observability/frontend/playground/AIObservabilityPlaygroundScene.js 52.4 KiB 🟢 -7.8 KiB (-13.0%)
exporter/src/scenes/settings/organization/activityDescriptions.js 7.8 KiB 🔺 +7.8 KiB (new)
posthog-app/src/scenes/integrations/google-cloud-service-account/GoogleCloudServiceAccountSetupModal.js 7.5 KiB 🔺 +7.5 KiB (new)
posthog-app/_parent/products/workflows/frontend/Workflows/misc/workflowActivityDescriber.js 7.4 KiB 🔺 +7.4 KiB (new)
exporter/_parent/products/workflows/frontend/Workflows/misc/workflowActivityDescriber.js 7.1 KiB 🔺 +7.1 KiB (new)
posthog-app/src/scenes/dashboard/dashboardLogic.js 7.1 KiB 🔺 +7.1 KiB (new)
posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ScannerEditorScene.js 76.4 KiB 🟢 -6.6 KiB (-8.0%)
exporter/src/scenes/integrations/google-cloud-service-account/GoogleCloudServiceAccountSetupModal.js 6.5 KiB 🔺 +6.5 KiB (new)
posthog-app/_parent/products/persons/frontend/activityDescriptions.js 6.4 KiB 🔺 +6.4 KiB (new)
posthog-app/_parent/products/tracing/frontend/components/TraceDialog/TraceDialog.js 19.7 KiB 🔺 +6.3 KiB (+47.4%)
posthog-app/src/layout/panel-layout/ProjectTree/menus/SessionReplayMenuItems.js 6.3 KiB 🔺 +6.3 KiB (new)
posthog-app/src/scenes/data-warehouse/saved_queries/activityDescriptions.js 6.2 KiB 🔺 +6.2 KiB (new)
posthog-app/_parent/products/data_warehouse/frontend/scenes/SchemaScene/SchemaScene.js 47.8 KiB 🟢 -6.2 KiB (-11.5%)
posthog-app/_parent/products/workflows/frontend/Channels/ChannelSetupModal.js 6.1 KiB 🔺 +6.1 KiB (new)
posthog-app/_parent/products/ai_observability/frontend/AIObservabilityTraceScene.js 229.8 KiB 🔺 +6.0 KiB (+2.7%)
posthog-app/src/scenes/hog-functions/misc/activityDescriptions.js 6.0 KiB 🔺 +6.0 KiB (new)
posthog-app/src/scenes/integrations/postgresql/PostgreSQLSetupModal.js 5.9 KiB 🔺 +5.9 KiB (new)
posthog-app/src/lib/components/Command/Command.js 5.9 KiB 🔺 +5.9 KiB (new)
exporter/src/scenes/data-warehouse/saved_queries/activityDescriptions.js 5.9 KiB 🔺 +5.9 KiB (new)
posthog-app/src/scenes/max/maxToolOpener.js 5.8 KiB 🔺 +5.8 KiB (new)
posthog-app/_parent/products/conversations/frontend/activityDescriber.js 5.8 KiB 🔺 +5.8 KiB (new)
posthog-app/src/scenes/integrations/aws-s3/AwsS3SetupModal.js 5.7 KiB 🔺 +5.7 KiB (new)
posthog-app/src/scenes/integrations/snowflake/SnowflakeSetupModal.js 5.7 KiB 🔺 +5.7 KiB (new)
exporter/src/scenes/hog-functions/misc/activityDescriptions.js 5.5 KiB 🔺 +5.5 KiB (new)
posthog-app/src/scenes/experiments/Experiment.js 424.9 KiB 🔺 +5.4 KiB (+1.3%)
posthog-app/src/scenes/cohorts/Cohort.js 55.1 KiB 🔺 +5.3 KiB (+10.6%)
posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ReplayScannersScene.js 97.8 KiB 🔺 +5.3 KiB (+5.7%)
posthog-app/src/scenes/data-pipelines/batch-exports/activityDescriptions.js 5.2 KiB 🔺 +5.2 KiB (new)
posthog-app/src/scenes/settings/user/activityDescriptions.js 5.2 KiB 🔺 +5.2 KiB (new)
exporter/src/scenes/data-pipelines/batch-exports/activityDescriptions.js 5.1 KiB 🔺 +5.1 KiB (new)
posthog-app/src/scenes/cohorts/activityDescriptions.js 5.0 KiB 🔺 +5.0 KiB (new)
exporter/_parent/products/conversations/frontend/activityDescriber.js 5.0 KiB 🔺 +5.0 KiB (new)
posthog-app/_parent/products/actions/frontend/actionActivityDescriber.js 5.0 KiB 🔺 +5.0 KiB (new)
posthog-app/_parent/products/error_tracking/frontend/components/ActivityDescriber.js 5.0 KiB 🔺 +5.0 KiB (new)
exporter/src/scenes/dashboard/dashboardLogic.js 5.0 KiB 🔺 +5.0 KiB (new)
posthog-app/_parent/products/dashboards/frontend/widgets/AddWidgetModal.js 38.5 KiB 🔺 +4.9 KiB (+14.7%)
exporter/src/scenes/integrations/postgresql/PostgreSQLSetupModal.js 4.9 KiB 🔺 +4.9 KiB (new)
exporter/src/scenes/settings/user/activityDescriptions.js 4.8 KiB 🔺 +4.8 KiB (new)
exporter/src/scenes/integrations/aws-s3/AwsS3SetupModal.js 4.8 KiB 🔺 +4.8 KiB (new)
exporter/src/scenes/integrations/snowflake/SnowflakeSetupModal.js 4.7 KiB 🔺 +4.7 KiB (new)
exporter/_parent/products/persons/frontend/activityDescriptions.js 4.6 KiB 🔺 +4.6 KiB (new)
posthog-app/_parent/products/workflows/frontend/Broadcasts/BroadcastScene.js 145.5 KiB 🔺 +4.6 KiB (+3.2%)
posthog-app/src/scenes/integrations/s3-compatible/S3CompatibleSetupModal.js 4.6 KiB 🔺 +4.6 KiB (new)
posthog-app/src/scenes/activity/explore/EventDetails.js 8.6 KiB 🟢 -4.5 KiB (-34.5%)
posthog-app/_parent/products/canvas/frontend/activityDescriber.js 4.5 KiB 🔺 +4.5 KiB (new)
posthog-app/src/lib/components/ActivityLog/activityDescriptions/tagActivityDescriber.js 4.5 KiB 🔺 +4.5 KiB (new)
exporter/_parent/products/dashboards/frontend/widgets/AddWidgetModal.js 31.3 KiB 🔺 +4.5 KiB (+16.6%)
posthog-app/src/scenes/notebooks/NotebookScene.js 45.9 KiB 🔺 +4.4 KiB (+10.6%)
exporter/src/scenes/cohorts/activityDescriptions.js 4.4 KiB 🔺 +4.4 KiB (new)
posthog-app/_parent/products/groups/frontend/pages/Group.js 45.3 KiB 🔺 +4.4 KiB (+10.6%)
posthog-app/src/scenes/notebooks/NotebookPanel/NotebookPanel.js 36.6 KiB 🔺 +4.4 KiB (+13.5%)
posthog-app/_parent/products/persons/frontend/pages/PersonScene.js 55.7 KiB 🔺 +4.3 KiB (+8.5%)
posthog-app/src/scenes/notebooks/NotebookCanvasScene.js 35.5 KiB 🔺 +4.3 KiB (+14.0%)
posthog-app/src/layout/navigation-3000/sidepanel/panels/max/SidePanelMax.js 4.3 KiB 🔺 +4.3 KiB (new)
posthog-app/_parent/products/workflows/frontend/WorkflowsScene.js 75.3 KiB 🔺 +4.3 KiB (+6.0%)
posthog-app/_parent/products/tracing/frontend/TracingScene.js 166.5 KiB 🔺 +4.3 KiB (+2.6%)
posthog-app/_parent/products/workflows/frontend/Broadcasts/BroadcastsScene.js 36.8 KiB 🔺 +4.3 KiB (+13.1%)
posthog-app/_parent/products/workflows/frontend/Transactional/TransactionalScene.js 40.7 KiB 🔺 +4.3 KiB (+11.7%)
exporter/_parent/products/actions/frontend/actionActivityDescriber.js 4.3 KiB 🔺 +4.3 KiB (new)
posthog-app/_parent/products/alerts/frontend/logic/insightAlertsLogic.js 4.2 KiB 🔺 +4.2 KiB (new)
exporter/_parent/products/canvas/frontend/activityDescriber.js 4.2 KiB 🔺 +4.2 KiB (new)
posthog-app/_parent/products/cross_project_dashboards/frontend/crossProjectDashboardActivityDescriber.js 4.2 KiB 🔺 +4.2 KiB (new)
exporter/_parent/products/error_tracking/frontend/components/ActivityDescriber.js 4.2 KiB 🔺 +4.2 KiB (new)
posthog-app/src/scenes/data-management/dataManagementDescribers.js 4.1 KiB 🔺 +4.1 KiB (new)
posthog-app/src/scenes/max/Max.js 40.2 KiB 🔺 +4.0 KiB (+11.0%)
posthog-app/src/scenes/integrations/databricks/DatabricksSetupModal.js 4.0 KiB 🔺 +4.0 KiB (new)
posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerAnalyticsAccountScene/CustomerAnalyticsAccountScene.js 70.8 KiB 🔺 +4.0 KiB (+5.9%)
posthog-app/_parent/products/customer_analytics/frontend/CustomerAnalyticsScene.js 18.3 KiB 🔺 +4.0 KiB (+27.5%)
posthog-app/src/scenes/max/components/AiFirstMaxInstance.js 26.4 KiB 🔺 +4.0 KiB (+17.6%)
posthog-app/src/scenes/max/Thread.js 25.8 KiB 🔺 +3.9 KiB (+17.5%)
posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingScene/ErrorTrackingScene.js 79.4 KiB 🔺 +3.8 KiB (+5.0%)
posthog-app/src/scenes/integrations/azure-blob/AzureBlobSetupModal.js 3.8 KiB 🔺 +3.8 KiB (new)
posthog-app/_parent/products/billing_alerts/frontend/BillingAlerts.js 25.8 KiB 🟢 -3.8 KiB (-12.8%)
posthog-app/src/scenes/feature-flags/FeatureFlag.js 158.1 KiB 🔺 +3.8 KiB (+2.4%)
exporter/src/lib/components/ActivityLog/activityDescriptions/tagActivityDescriber.js 3.8 KiB 🔺 +3.8 KiB (new)
posthog-app/src/scenes/insights/insightLogic.js 3.7 KiB 🔺 +3.7 KiB (new)
posthog-app/src/scenes/session-recordings/settings/SessionRecordingsSettingsScene.js 23.7 KiB 🔺 +3.7 KiB (+18.6%)
posthog-app/_parent/products/alerts/frontend/components/activityDescriptions.js 3.6 KiB 🔺 +3.6 KiB (new)
posthog-app/src/scenes/product-tours/ProductTour.js 196.9 KiB 🔺 +3.6 KiB (+1.9%)
exporter/src/scenes/integrations/s3-compatible/S3CompatibleSetupModal.js 3.6 KiB 🔺 +3.6 KiB (new)
posthog-app/_parent/products/ai_observability/frontend/AIObservabilityScene.js 172.8 KiB 🔺 +3.6 KiB (+2.1%)
posthog-app/_parent/products/ai_observability/frontend/tags/AIObservabilityTagScene.js 43.8 KiB 🔺 +3.6 KiB (+8.9%)
posthog-app/src/queries/nodes/WebVitals/WebVitals.js 22.8 KiB 🔺 +3.6 KiB (+18.7%)
posthog-app/_parent/products/business_intelligence/frontend/BusinessIntelligenceScene.js 183.7 KiB 🔺 +3.6 KiB (+2.0%)
posthog-app/_parent/products/dashboards/frontend/widgets/metrics/MetricsTableWidget.js 15.9 KiB 🔺 +3.6 KiB (+28.9%)
posthog-app/_parent/products/posthog_ai/frontend/components/tool/widgets/CreateInsightWidget.js 16.5 KiB 🔺 +3.6 KiB (+27.4%)
posthog-app/_parent/products/posthog_ai/frontend/components/tool/widgets/QueryWidget.js 16.5 KiB 🔺 +3.6 KiB (+27.4%)
posthog-app/src/queries/Query/Query.js 15.6 KiB 🔺 +3.6 KiB (+29.5%)
posthog-app/src/scenes/web-analytics/SessionAttributionExplorer/SessionAttributionExplorerScene.js 21.8 KiB 🔺 +3.6 KiB (+19.5%)
exporter/_parent/products/workflows/frontend/Workflows/Workflow.js 232.8 KiB 🔺 +3.5 KiB (+1.5%)
posthog-app/_parent/products/replay_vision/frontend/replay_scanners/components/ScannerScoutsTab.js 26.5 KiB 🔺 +3.5 KiB (+15.4%)
posthog-app/src/scenes/web-analytics/WebAnalyticsScene.js 320.8 KiB 🔺 +3.5 KiB (+1.1%)
posthog-app/_parent/products/logs/frontend/LogsScene.js 49.5 KiB 🔺 +3.5 KiB (+7.7%)
exporter/_parent/products/cross_project_dashboards/frontend/crossProjectDashboardActivityDescriber.js 3.5 KiB 🔺 +3.5 KiB (new)
posthog-app/_parent/products/metrics/frontend/dashboardReview/MetricsDashboardReviewScene.js 31.9 KiB 🔺 +3.5 KiB (+12.4%)
posthog-app/src/scenes/analytics/AnalyticsProductHome.js 19.1 KiB 🔺 +3.5 KiB (+22.6%)
posthog-app/src/scenes/dashboard/Dashboard.js 18.1 KiB 🔺 +3.5 KiB (+24.1%)
posthog-app/_parent/products/endpoints/frontend/EndpointScene.js 68.6 KiB 🔺 +3.5 KiB (+5.4%)
posthog-app/_parent/products/cross_project_dashboards/frontend/CrossProjectDashboardScene.js 49.5 KiB 🔺 +3.5 KiB (+7.6%)
posthog-app/_parent/products/ai_observability/frontend/prompts/LLMPromptScene.js 62.0 KiB 🔺 +3.5 KiB (+6.0%)
posthog-app/_parent/products/ai_observability/frontend/tags/AIObservabilityTagsScene.js 24.0 KiB 🔺 +3.5 KiB (+17.0%)
posthog-app/src/scenes/data-management/definition/DefinitionView.js 43.8 KiB 🔺 +3.5 KiB (+8.6%)
posthog-app/_parent/products/endpoints/frontend/EndpointsScene.js 46.2 KiB 🔺 +3.5 KiB (+8.1%)
posthog-app/_parent/products/autoresearch/frontend/AutoresearchPipelineScene.js 132.6 KiB 🔺 +3.5 KiB (+2.7%)
posthog-app/src/scenes/activity/explore/SessionsScene.js 19.8 KiB 🔺 +3.5 KiB (+21.2%)
posthog-app/src/scenes/web-analytics/WebAnalyticsInsight.js 17.1 KiB 🔺 +3.5 KiB (+25.3%)
exporter/src/scenes/max/maxToolOpener.js 3.5 KiB 🔺 +3.5 KiB (new)
posthog-app/_parent/products/metrics/frontend/MetricsScene.js 95.3 KiB 🔺 +3.5 KiB (+3.8%)
posthog-app/_parent/products/actions/frontend/pages/Action.js 17.8 KiB 🔺 +3.5 KiB (+24.0%)
posthog-app/_parent/products/early_access_features/frontend/EarlyAccessFeature.js 17.1 KiB 🔺 +3.5 KiB (+25.4%)
posthog-app/_parent/products/groups/frontend/pages/Groups.js 19.5 KiB 🔺 +3.5 KiB (+21.5%)
posthog-app/src/scenes/activity/explore/EventsScene.js 20.2 KiB 🔺 +3.5 KiB (+20.6%)
posthog-app/src/scenes/debug/DebugScene.js 36.0 KiB 🔺 +3.5 KiB (+10.6%)
posthog-app/_parent/products/error_tracking/frontend/posthogAi/ErrorTrackingWidget.js 20.0 KiB 🔺 +3.4 KiB (+20.6%)
posthog-app/src/scenes/surveys/Survey.js 19.7 KiB 🔺 +3.4 KiB (+20.7%)
posthog-app/src/scenes/hog-functions/HogFunctionScene.js 74.0 KiB 🔺 +3.4 KiB (+4.8%)
posthog-app/_parent/products/endpoints/frontend/activityDescriber.js 3.4 KiB 🔺 +3.4 KiB (new)
posthog-app/_parent/products/ai_observability/frontend/AIObservabilityUsers.js 13.3 KiB 🔺 +3.4 KiB (+33.7%)
posthog-app/_parent/products/business_knowledge/frontend/scenes/settings/BusinessKnowledgeSettingsScene.js 19.6 KiB 🔺 +3.4 KiB (+20.7%)
posthog-app/_parent/products/conversations/frontend/scenes/settings/SupportSettingsScene.js 18.7 KiB 🔺 +3.4 KiB (+21.8%)
posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerAnalyticsConfigurationScene/CustomerAnalyticsConfigurationScene.js 20.9 KiB 🔺 +3.4 KiB (+19.1%)
posthog-app/src/layout/today/TodaySettingsSidebar.js 21.2 KiB 🔺 +3.4 KiB (+18.7%)
posthog-app/src/scenes/settings/SettingsMap.js 18.6 KiB 🔺 +3.4 KiB (+22.0%)
posthog-app/src/scenes/settings/SettingsScene.js 22.6 KiB 🔺 +3.4 KiB (+17.4%)
posthog-app/_parent/products/product_analytics/frontend/insights/insightScene/InsightScene.js 71.7 KiB 🔺 +3.3 KiB (+4.9%)
posthog-app/_parent/products/conversations/frontend/scenes/ticket/SupportTicketScene.js 76.8 KiB 🔺 +3.3 KiB (+4.5%)
exporter/src/scenes/data-management/dataManagementDescribers.js 3.3 KiB 🔺 +3.3 KiB (new)
posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyBuilderScene/CustomerJourneyBuilderScene.js 15.8 KiB 🔺 +3.3 KiB (+26.3%)
exporter/_parent/products/alerts/frontend/components/activityDescriptions.js 3.3 KiB 🔺 +3.3 KiB (new)
posthog-app/src/scenes/max/components/MaybePhaiOnboarding.js 3.3 KiB 🔺 +3.3 KiB (new)
posthog-app/_parent/products/product_analytics/frontend/insights/trends/RegionMap/RegionMap.js 40.0 KiB 🔺 +3.3 KiB (+8.9%)
posthog-app/_parent/products/product_analytics/frontend/insights/trends/WorldMap/WorldMap.js 15.6 KiB 🔺 +3.3 KiB (+26.4%)
posthog-app/_parent/products/data_warehouse/frontend/shared/components/activityDescriptions.js 3.2 KiB 🔺 +3.2 KiB (new)
posthog-app/_parent/products/data_modeling/frontend/nodeDetail/NodeDetailScene.js 49.9 KiB 🔺 +3.2 KiB (+6.9%)
posthog-app/src/scenes/data-warehouse/editor/EditorScene.js 16.2 KiB 🔺 +3.2 KiB (+24.9%)
exporter/_parent/products/error_tracking/frontend/posthogAi/ErrorTrackingWidget.js 16.8 KiB 🔺 +3.2 KiB (+23.4%)
posthog-app/src/scenes/analytics/AnalyticsList.js 33.6 KiB 🔺 +3.2 KiB (+10.5%)
exporter/src/queries/nodes/WebVitals/WebVitals.js 16.2 KiB 🔺 +3.2 KiB (+24.2%)
exporter/src/exporter/scenes/ExporterDashboardScene.js 10.9 KiB 🔺 +3.2 KiB (+40.8%)
posthog-app/_parent/products/product_analytics/frontend/insights/savedInsights/SavedInsights.js 44.8 KiB 🔺 +3.1 KiB (+7.5%)
exporter/src/scenes/web-analytics/WebAnalyticsInsight.js 57.2 KiB 🔺 +3.1 KiB (+5.8%)
exporter/src/exporter/scenes/ExporterQueryScene.js 10.7 KiB 🔺 +3.1 KiB (+41.0%)
exporter/src/exporter/scenes/ExporterInsightScene.js 11.9 KiB 🔺 +3.1 KiB (+35.7%)
exporter/_parent/products/dashboards/frontend/widgets/metrics/MetricsTableWidget.js 9.7 KiB 🔺 +3.1 KiB (+47.5%)
exporter/_parent/products/posthog_ai/frontend/components/tool/widgets/CreateInsightWidget.js 10.2 KiB 🔺 +3.1 KiB (+43.9%)
exporter/_parent/products/posthog_ai/frontend/components/tool/widgets/QueryWidget.js 10.3 KiB 🔺 +3.1 KiB (+43.8%)
exporter/src/queries/Query/Query.js 9.5 KiB 🔺 +3.1 KiB (+48.8%)
posthog-app/src/layout/navigation-3000/sidepanel/panels/discussion/SidePanelDiscussion.js 5.6 KiB 🟢 -3.1 KiB (-36.0%)
posthog-app/_parent/products/annotations/frontend/activityDescriptions.js 3.1 KiB 🔺 +3.1 KiB (new)
exporter/src/scenes/integrations/databricks/DatabricksSetupModal.js 3.1 KiB 🔺 +3.1 KiB (new)
posthog-app/_parent/products/mcp_analytics/frontend/MCPAnalyticsScene.js 207.1 KiB 🔺 +3.1 KiB (+1.5%)
posthog-app/_parent/products/workflows/frontend/Workflows/Workflow.js 13.1 KiB 🔺 +3.1 KiB (+30.3%)
exporter/_parent/products/endpoints/frontend/activityDescriber.js 3.0 KiB 🔺 +3.0 KiB (new)
posthog-app/_parent/products/web_analytics/frontend/heatmaps/scenes/heatmap/HeatmapRecordingScene.js 8.9 KiB 🔺 +3.0 KiB (+50.5%)
posthog-app/_parent/products/workflows/frontend/Workflows/WorkflowScene.js 124.7 KiB 🔺 +3.0 KiB (+2.4%)
posthog-app/_parent/products/workflows/frontend/TemplateLibrary/MessageTemplate.js 43.0 KiB 🔺 +3.0 KiB (+7.4%)
posthog-app/_parent/products/skills/frontend/activityDescriber.js 3.0 KiB 🔺 +3.0 KiB (new)
posthog-app/src/scenes/dashboard/addInsightToDashboardModal/AddInsightToDashboardModal.js 13.9 KiB 🔺 +2.9 KiB (+26.9%)
posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingIssueScene/ErrorTrackingIssueScene.js 110.0 KiB 🔺 +2.9 KiB (+2.7%)
posthog-app/src/layout/today/TodayProductsPane.js 8.8 KiB 🟢 -2.9 KiB (-25.0%)
posthog-app/_parent/products/dashboards/frontend/widgets/metrics/MetricsWidget.js 2.9 KiB 🔺 +2.9 KiB (new)
posthog-app/_parent/products/marketing_analytics/frontend/ConversionRecordingsModal.js 17.1 KiB 🔺 +2.9 KiB (+20.3%)
posthog-app/src/lib/components/MCPHint/MCPHintToast.js 3.6 KiB 🟢 -2.9 KiB (-44.4%)
posthog-app/_parent/products/dashboards/frontend/dashboards/Dashboards.js 44.4 KiB 🔺 +2.9 KiB (+7.0%)
exporter/_parent/products/data_warehouse/frontend/shared/components/activityDescriptions.js 2.9 KiB 🔺 +2.9 KiB (new)
exporter/src/scenes/integrations/azure-blob/AzureBlobSetupModal.js 2.9 KiB 🔺 +2.9 KiB (new)
posthog-app/_parent/products/ai_observability/frontend/prompts/promptActivityDescriber.js 2.9 KiB 🔺 +2.9 KiB (new)
posthog-app/_parent/products/stamphog/frontend/activityDescriber.js 2.8 KiB 🔺 +2.8 KiB (new)
toolbar/src/toolbar/floating/components/stats/chunk-HeatmapToolbarMenu.js 45.1 KiB 🟢 -2.8 KiB (-5.9%)
posthog-app/src/scenes/session-recordings/SessionRecordings.js 14.4 KiB 🔺 +2.8 KiB (+24.0%)
posthog-app/src/scenes/data-pipelines/batch-exports/BatchExportScene.js 87.1 KiB 🔺 +2.8 KiB (+3.3%)
exporter/_parent/products/annotations/frontend/activityDescriptions.js 2.8 KiB 🔺 +2.8 KiB (new)
exporter/src/scenes/dashboard/addInsightToDashboardModal/AddInsightToDashboardModal.js 10.6 KiB 🔺 +2.7 KiB (+34.6%)
posthog-app/_parent/products/signals/frontend/inbox/logics/reportGithubAccessLogic.js 2.7 KiB 🔺 +2.7 KiB (new)
exporter/_parent/products/alerts/frontend/logic/insightAlertsLogic.js 2.7 KiB 🔺 +2.7 KiB (new)
exporter/_parent/products/product_analytics/frontend/insights/trends/RegionMap/RegionMap.js 35.4 KiB 🔺 +2.7 KiB (+8.1%)
exporter/_parent/products/product_analytics/frontend/insights/trends/WorldMap/WorldMap.js 1022.8 KiB 🔺 +2.7 KiB (+0.3%)
posthog-app/_parent/products/product_analytics/frontend/insights/paths/PathsChart.js 15.3 KiB 🔺 +2.7 KiB (+21.1%)
posthog-app/_parent/products/web_analytics/frontend/heatmaps/scenes/heatmap/HeatmapNewScene.js 38.4 KiB 🔺 +2.6 KiB (+7.4%)
posthog-app/src/scenes/themes/PreviewingCustomCssModal.js 2.6 KiB 🔺 +2.6 KiB (new)
posthog-app/_parent/products/mcp_analytics/frontend/emptyState/mcpAnalyticsEmptyState.js 3.2 KiB 🟢 -2.6 KiB (-45.2%)
exporter/_parent/products/skills/frontend/activityDescriber.js 2.6 KiB 🔺 +2.6 KiB (new)
posthog-app/_parent/products/web_analytics/frontend/heatmaps/scenes/heatmap/HeatmapScene.js 48.0 KiB 🔺 +2.6 KiB (+5.7%)
posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ReplayScanner.js 76.4 KiB 🔺 +2.6 KiB (+3.5%)
posthog-app/src/scenes/data-management/definition/DefinitionEdit.js 28.4 KiB 🔺 +2.6 KiB (+10.0%)
posthog-app/src/layout/navigation-3000/sidepanel/panels/activity/quill/QuillActivityPanel.js 16.5 KiB 🟢 -2.6 KiB (-13.5%)
posthog-app/_parent/products/actions/frontend/pages/Actions.js 18.1 KiB 🔺 +2.6 KiB (+16.4%)
posthog-app/src/scenes/data-management/DataManagementScene.js 11.3 KiB 🔺 +2.6 KiB (+29.3%)
posthog-app/src/scenes/health/categoryDetail/HealthCategoryDetailScene.js 18.4 KiB 🔺 +2.6 KiB (+16.2%)
posthog-app/src/scenes/health/HealthScene.js 23.7 KiB 🔺 +2.6 KiB (+12.1%)
posthog-app/src/lib/components/DefinitionPopover/FeatureFlagPopoverInfo.js 2.5 KiB 🔺 +2.5 KiB (new)
posthog-app/_parent/products/replay_vision/frontend/replay_scanners/components/ScannerScanTab.js 48.4 KiB 🔺 +2.5 KiB (+5.5%)
posthog-app/src/scenes/session-recordings/activityDescription.js 2.5 KiB 🔺 +2.5 KiB (new)
exporter/_parent/products/ai_observability/frontend/prompts/promptActivityDescriber.js 2.5 KiB 🔺 +2.5 KiB (new)
exporter/_parent/products/alerts/frontend/views/EditAlertModal.js 117.6 KiB 🔺 +2.5 KiB (+2.2%)
exporter/_parent/products/stamphog/frontend/activityDescriber.js 2.5 KiB 🔺 +2.5 KiB (new)
posthog-app/src/scenes/web-analytics/tabs/marketing-analytics/frontend/components/MarketingAnalyticsOverview/MarketingAnalyticsOverview.js 18.6 KiB 🔺 +2.5 KiB (+15.2%)
posthog-app/_parent/products/logs/frontend/scenes/LogsAlertDetailScene/LogsAlertDetailScene.js 27.8 KiB 🔺 +2.4 KiB (+9.4%)
exporter/_parent/products/product_analytics/frontend/insights/paths/PathsChart.js 11.3 KiB 🔺 +2.4 KiB (+26.7%)
posthog-app/_parent/products/posthog_ai/frontend/components/ReadonlyRunSurfaceImpl.js 5.5 KiB 🟢 -2.4 KiB (-30.3%)
posthog-app/src/scenes/experiments/SharedMetrics/SharedMetric.js 21.4 KiB 🔺 +2.4 KiB (+12.4%)
posthog-app/_parent/products/product_analytics/frontend/insights/editor/filters/WebAnalyticsEditorFilters.js 8.3 KiB 🔺 +2.3 KiB (+38.9%)
posthog-app/_parent/products/dashboards/frontend/widgets/activity/ActivityEventsWidgetTileFilters.js 8.0 KiB 🔺 +2.3 KiB (+40.7%)
posthog-app/_parent/products/data_warehouse/frontend/scenes/DestinationConnectScene/DestinationConnectScene.js 7.9 KiB 🟢 -2.3 KiB (-22.6%)
posthog-app/src/scenes/project-files/ProjectFilesScene.js 4.3 KiB 🟢 -2.3 KiB (-35.2%)
posthog-app/_parent/products/logs/frontend/components/LogsViewer/LogsViewerModal/LogsViewerModal.js 12.1 KiB 🔺 +2.3 KiB (+23.6%)
posthog-app/_parent/products/replay_vision/frontend/observations/ObservationRecording.js 13.2 KiB 🔺 +2.3 KiB (+20.9%)
posthog-app/src/scenes/session-recordings/detail/SessionRecordingDetail.js 13.5 KiB 🔺 +2.3 KiB (+20.5%)
posthog-app/src/scenes/session-recordings/file-playback/SessionRecordingFilePlaybackScene.js 16.3 KiB 🔺 +2.3 KiB (+16.3%)
posthog-app/src/scenes/session-recordings/kiosk/SessionRecordingsKiosk.js 21.5 KiB 🔺 +2.3 KiB (+11.9%)
posthog-app/src/scenes/session-recordings/player/modal/SessionPlayerModal.js 14.1 KiB 🔺 +2.3 KiB (+19.4%)
posthog-app/_parent/products/ai_observability/frontend/prompts/promptLabelActivityDescriber.js 2.3 KiB 🔺 +2.3 KiB (new)
exporter/src/scenes/insights/insightLogic.js 2.3 KiB 🔺 +2.3 KiB (new)
posthog-app/src/scenes/settings/project/activityDescriptions.js 2.3 KiB 🔺 +2.3 KiB (new)
exporter/src/scenes/web-analytics/tabs/marketing-analytics/frontend/components/MarketingAnalyticsOverview/MarketingAnalyticsOverview.js 15.0 KiB 🔺 +2.3 KiB (+17.7%)
exporter/_parent/products/marketing_analytics/frontend/ConversionRecordingsModal.js 11.8 KiB 🔺 +2.3 KiB (+23.5%)
posthog-app/src/scenes/billing/activityDescriptions.js 2.3 KiB 🔺 +2.3 KiB (new)
posthog-app/src/layout/today/TodaySupportPanel.js 20.9 KiB 🟢 -2.3 KiB (-9.7%)
posthog-app/src/scenes/web-analytics/LiveMetricsDashboard/LiveWebAnalyticsMetrics.js 33.9 KiB 🔺 +2.2 KiB (+7.0%)
posthog-app/src/scenes/sessions/SessionProfileScene.js 27.4 KiB 🔺 +2.2 KiB (+8.7%)
posthog-app/_parent/products/product_analytics/frontend/emptyState/productAnalyticsEmptyState.js 2.4 KiB 🟢 -2.2 KiB (-47.4%)
exporter/src/scenes/session-recordings/activityDescription.js 2.2 KiB 🔺 +2.2 KiB (new)
posthog-app/src/scenes/max/max-constants.js 2.1 KiB 🔺 +2.1 KiB (new)
posthog-app/_parent/products/mcp_analytics/frontend/MCPAnalyticsToolDetail.js 35.9 KiB 🔺 +2.1 KiB (+6.2%)
exporter/_parent/products/dashboards/frontend/widgets/metrics/MetricsWidget.js 2.1 KiB 🔺 +2.1 KiB (new)
posthog-app/_parent/products/posthog_ai/frontend/components/tool/widgets/SearchSessionRecordingsWidget.js 7.6 KiB 🔺 +2.1 KiB (+37.8%)
posthog-app/src/lib/components/ActivityLog/activityDescriptions/instanceSettingActivityDescriber.js 2.1 KiB 🔺 +2.1 KiB (new)
posthog-app/src/scenes/surveys/wizard/SurveyWizard.js 75.7 KiB 🔺 +2.1 KiB (+2.8%)
posthog-app/_parent/products/dashboards/frontend/widgets/error_tracking/ErrorTrackingWidget.js 11.7 KiB 🔺 +2.1 KiB (+21.3%)
posthog-app/_parent/products/experiments/frontend/scenes/ExperimentsScene.js 56.9 KiB 🔺 +2.0 KiB (+3.7%)
posthog-app/src/layout/today/TodayTopBar.js 19.2 KiB 🟢 -2.0 KiB (-9.4%)
posthog-app/src/scenes/new-tab/NewTabScene.js 4.8 KiB 🟢 -2.0 KiB (-29.5%)
posthog-app/src/scenes/product-tours/activityDescriptions.js 2.0 KiB 🔺 +2.0 KiB (new)
posthog-app/_parent/products/data_warehouse/frontend/scenes/WarehouseDestinationsScene/WarehouseDestinationsScene.js 13.2 KiB 🟢 -2.0 KiB (-12.9%)
posthog-app/src/scenes/activity/live/LiveEventsTable.js 14.8 KiB 🔺 +2.0 KiB (+15.2%)
posthog-app/src/scenes/analytics/AnalyticsSpaces.js 14.3 KiB 🔺 +2.0 KiB (+15.8%)
exporter/_parent/products/ai_observability/frontend/prompts/promptLabelActivityDescriber.js 1.9 KiB 🔺 +1.9 KiB (new)
posthog-app/_parent/products/conversations/frontend/components/ComposeTicket/ComposeTicketModalHost.js 1.9 KiB 🔺 +1.9 KiB (new)
exporter/src/scenes/settings/project/activityDescriptions.js 1.9 KiB 🔺 +1.9 KiB (new)
posthog-app/_parent/products/persons/frontend/pages/PersonsScene.js 20.0 KiB 🔺 +1.9 KiB (+10.5%)
exporter/src/scenes/billing/activityDescriptions.js 1.9 KiB 🔺 +1.9 KiB (new)
posthog-app/src/lib/components/LemonTextAreaMarkdown/LemonTextAreaMarkdown.js 1.9 KiB 🔺 +1.9 KiB (new)
exporter/_parent/products/dashboards/frontend/widgets/activity/ActivityEventsWidgetTileFilters.js 5.7 KiB 🔺 +1.9 KiB (+48.7%)
toolbar/src/lib/components/DefinitionPopover/chunk-FeatureFlagPopoverInfo.js 1.8 KiB 🔺 +1.8 KiB (new)
exporter/_parent/products/product_analytics/frontend/insights/editor/filters/WebAnalyticsEditorFilters.js 10.3 KiB 🔺 +1.8 KiB (+21.8%)
posthog-app/src/scenes/data-pipelines/batch-imports/activityDescriptions.js 1.8 KiB 🔺 +1.8 KiB (new)
exporter/src/lib/components/DefinitionPopover/FeatureFlagPopoverInfo.js 1.8 KiB 🔺 +1.8 KiB (new)
posthog-app/src/layout/navigation-3000/sidepanel/panels/access_control/accessControlActivityDescriber.js 1.8 KiB 🔺 +1.8 KiB (new)
posthog-app/src/scenes/integrations/gitlab/GitLabSetupModal.js 1.8 KiB 🔺 +1.8 KiB (new)
exporter/src/lib/components/MCPHint/MCPHintToast.js 2.2 KiB 🟢 -1.8 KiB (-45.2%)
posthog-app/src/scenes/cohorts/cohortSavedToast.js 1.8 KiB 🔺 +1.8 KiB (new)
exporter/src/exporter/scenes/ExporterRecordingScene.js 7.5 KiB 🔺 +1.8 KiB (+30.6%)
exporter/src/lib/components/ActivityLog/activityDescriptions/instanceSettingActivityDescriber.js 1.7 KiB 🔺 +1.7 KiB (new)
posthog-app/src/scenes/health-alerts/HealthAlertsScene.js 9.6 KiB 🟢 -1.7 KiB (-15.2%)
posthog-app/_parent/products/alerts/frontend/AlertsScene.js 11.9 KiB 🟢 -1.7 KiB (-12.4%)
posthog-app/_parent/products/dashboards/frontend/dashboards/templates/DashboardTemplateCopyScene.js 9.5 KiB 🟢 -1.7 KiB (-15.1%)
posthog-app/_parent/products/groups/frontend/pages/GroupsNew.js 11.5 KiB 🟢 -1.7 KiB (-12.8%)
posthog-app/_parent/products/streamlit_apps/frontend/StreamlitApp.js 12.6 KiB 🟢 -1.7 KiB (-11.9%)
posthog-app/_parent/products/tasks/frontend/SlackTaskContextScene.js 13.0 KiB 🟢 -1.7 KiB (-11.5%)
posthog-app/_parent/products/uptime_monitoring/frontend/scenes/UptimeMonitoringScene/UptimeMonitoringScene.js 5.3 KiB 🟢 -1.7 KiB (-24.3%)
posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewIndexScene.js 8.0 KiB 🟢 -1.7 KiB (-17.4%)
posthog-app/src/lib/components/ProductEmptyState/ProductEmptyStateGate.js 4.6 KiB 🟢 -1.7 KiB (-27.0%)
posthog-app/src/scenes/resource-transfer/ResourceTransfer.js 13.1 KiB 🟢 -1.7 KiB (-11.5%)
posthog-app/src/scenes/toolbar-launch/ToolbarLaunch.js 12.7 KiB 🟢 -1.7 KiB (-11.8%)
posthog-app/_parent/products/legal_documents/frontend/scenes/LegalDocumentNewScene.js 62.4 KiB 🟢 -1.7 KiB (-2.6%)
posthog-app/_parent/products/streamlit_apps/frontend/StreamlitAppEdit.js 12.2 KiB 🟢 -1.7 KiB (-12.1%)
posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewFlakinessScene.js 25.0 KiB 🟢 -1.7 KiB (-6.3%)
posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewRunsScene.js 11.6 KiB 🟢 -1.7 KiB (-12.7%)
posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotOverviewScene.js 21.8 KiB 🟢 -1.7 KiB (-7.2%)
posthog-app/src/layout/today/TodayShell.js 20.4 KiB 🟢 -1.7 KiB (-7.6%)
posthog-app/src/scenes/approvals/ApprovalDetail.js 21.3 KiB 🟢 -1.7 KiB (-7.3%)
posthog-app/src/scenes/data-management/MaterializedColumns/MaterializedColumns.js 15.2 KiB 🟢 -1.7 KiB (-10.0%)
posthog-app/src/scenes/health/pipelineStatus/PipelineStatusScene.js 15.3 KiB 🟢 -1.7 KiB (-9.9%)
posthog-app/src/scenes/tools/Tools.js 7.7 KiB 🟢 -1.7 KiB (-18.0%)
posthog-app/src/scenes/settings/organization/InviteModal.js 1.7 KiB 🔺 +1.7 KiB (new)
posthog-app/src/lib/lemon-ui/LemonMarkdown/LemonMarkdown.js 1.7 KiB 🔺 +1.7 KiB (new)
posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewRunScene.js 67.5 KiB 🟢 -1.7 KiB (-2.4%)
posthog-app/src/scenes/authentication/shared/activityDescriptions.js 1.7 KiB 🔺 +1.7 KiB (new)
posthog-app/_parent/products/ai_observability/frontend/scoreDefinitions/AIObservabilityScorerScene.js 24.9 KiB 🟢 -1.7 KiB (-6.3%)
posthog-app/_parent/products/cross_project_dashboards/frontend/CrossProjectDashboardsScene.js 5.2 KiB 🟢 -1.7 KiB (-24.2%)
posthog-app/_parent/products/experiments/frontend/scenes/ExperimentsStaffToolsScene.js 38.2 KiB 🟢 -1.7 KiB (-4.2%)
posthog-app/src/scenes/feature-flags/FeatureFlagForm.js 31.0 KiB 🔺 +1.7 KiB (+5.7%)
posthog-app/src/scenes/real-time-usage/RealTimeUsage.js 13.6 KiB 🟢 -1.7 KiB (-10.9%)
posthog-app/src/lib/monaco/vimMode.js 210.6 KiB 🔺 +1.6 KiB (+0.8%)
exporter/src/lib/monaco/vimMode.js 210.2 KiB 🔺 +1.6 KiB (+0.8%)
exporter/_parent/products/posthog_ai/frontend/components/tool/widgets/SearchSessionRecordingsWidget.js 8.6 KiB 🔺 +1.6 KiB (+23.2%)
exporter/src/scenes/activity/explore/EventDetails.js 5.2 KiB 🟢 -1.6 KiB (-23.8%)
posthog-app/_parent/products/legal_documents/frontend/scenes/LegalDocumentsScene.js 11.8 KiB 🟢 -1.6 KiB (-12.1%)
posthog-app/_parent/products/stamphog/frontend/scenes/StamphogScene/StamphogScene.js 23.0 KiB 🟢 -1.6 KiB (-6.6%)
posthog-app/src/scenes/settings/organization/IdentityProviderConfig/IdentityProviderConfigScene.js 27.1 KiB 🟢 -1.6 KiB (-5.7%)
posthog-app/_parent/products/apm/frontend/ApplicationObservabilityScene.js 22.9 KiB 🟢 -1.6 KiB (-6.6%)
exporter/src/scenes/product-tours/activityDescriptions.js 1.6 KiB 🔺 +1.6 KiB (new)
posthog-app/src/scenes/instance/AsyncMigrations/AsyncMigrations.js 16.9 KiB 🟢 -1.6 KiB (-8.7%)
posthog-app/src/scenes/authentication/shared/pendingOAuthConnectionLogic.js 1.6 KiB 🔺 +1.6 KiB (new)
posthog-app/_parent/products/alerts_platform/frontend/PlatformAlertScene.js 9.0 KiB 🟢 -1.6 KiB (-15.0%)
posthog-app/_parent/products/alerts_platform/frontend/PlatformAlertsScene.js 6.5 KiB 🟢 -1.6 KiB (-19.8%)
posthog-app/_parent/products/alerts/frontend/views/EditAlertModal.js 9.1 KiB 🔺 +1.6 KiB (+21.3%)
posthog-app/_parent/products/alerts/frontend/views/InsightAlerts.js 18.0 KiB 🔺 +1.6 KiB (+9.7%)
posthog-app/_parent/products/business_knowledge/frontend/scenes/source/KnowledgeSourceScene.js 20.0 KiB 🟢 -1.6 KiB (-7.4%)
posthog-app/_parent/products/canvas/frontend/list/CanvasesScene.js 8.2 KiB 🟢 -1.6 KiB (-16.2%)
posthog-app/_parent/products/customer_analytics/frontend/scenes/WarehousePropertiesScene/WarehousePropertiesScene.js 6.5 KiB 🟢 -1.6 KiB (-19.6%)
posthog-app/_parent/products/ml_inference/frontend/DecisionPlaygroundScene.js 16.8 KiB 🟢 -1.6 KiB (-8.7%)
posthog-app/_parent/products/notebooks/frontend/ReusableWidget/ReusableWidgetScene.js 30.3 KiB 🟢 -1.6 KiB (-5.0%)
posthog-app/_parent/products/product_analytics/frontend/insights/insightQuickStart/InsightQuickStart.js 9.8 KiB 🟢 -1.6 KiB (-14.0%)
posthog-app/_parent/products/stamphog/frontend/scenes/StamphogDigestsScene/StamphogDigestsScene.js 9.9 KiB 🟢 -1.6 KiB (-13.8%)
posthog-app/src/scenes/cohorts/CohortCalculationHistory.js 9.9 KiB 🟢 -1.6 KiB (-13.9%)
posthog-app/src/scenes/data-pipelines/event-filtering/EventFilterScene.js 25.6 KiB 🟢 -1.6 KiB (-5.9%)
posthog-app/src/scenes/instance/DeadLetterQueue/DeadLetterQueue.js 9.3 KiB 🟢 -1.6 KiB (-14.6%)
posthog-app/src/scenes/library/Library.js 11.0 KiB 🟢 -1.6 KiB (-12.7%)
posthog-app/src/scenes/themes/CustomCssScene.js 7.8 KiB 🟢 -1.6 KiB (-17.0%)
posthog-app/src/scenes/exports/activityDescriptions.js 1.6 KiB 🔺 +1.6 KiB (new)
posthog-app/_parent/products/managed_migrations/frontend/ManagedMigration.js 31.9 KiB 🟢 -1.6 KiB (-4.7%)
posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotHistoryScene.js 18.3 KiB 🟢 -1.6 KiB (-8.0%)
posthog-app/src/scenes/instance/SystemStatus/SystemStatus.js 20.7 KiB 🟢 -1.6 KiB (-7.1%)
posthog-app/src/scenes/onboarding/shared/sdkHealth/SdkHealthScene.js 12.7 KiB 🟢 -1.6 KiB (-11.1%)
posthog-app/_parent/products/pulse/frontend/PulseScene.js 26.8 KiB 🟢 -1.6 KiB (-5.6%)
posthog-app/src/scenes/notebooks/Notebook/notebookActivityDescriber.js 1.6 KiB 🔺 +1.6 KiB (new)
posthog-app/_parent/products/ai_observability/frontend/clusters/AIObservabilityClustersScene.js 63.5 KiB 🔺 +1.6 KiB (+2.5%)
posthog-app/_parent/products/replay_vision/frontend/observations/ReplayObservation.js 43.0 KiB 🔺 +1.6 KiB (+3.8%)
posthog-app/_parent/products/warehouse_suggestions/frontend/warehouseSuggestionActivityDescriber.js 1.6 KiB 🔺 +1.6 KiB (new)
posthog-app/_parent/products/signals/frontend/activityDescriber.js 1.6 KiB 🔺 +1.6 KiB (new)
posthog-app/_parent/products/ai_observability/frontend/clusters/AIObservabilityClusterScene.js 26.7 KiB 🔺 +1.6 KiB (+6.2%)
exporter/_parent/products/dashboards/frontend/widgets/error_tracking/ErrorTrackingWidget.js 9.0 KiB 🔺 +1.6 KiB (+21.0%)
posthog-app/_parent/products/cohorts/frontend/staff/CohortsStaffToolsScene.js 13.0 KiB 🟢 -1.6 KiB (-10.7%)
posthog-app/src/scenes/product-tours/ProductTours.js 16.1 KiB 🟢 -1.6 KiB (-8.8%)
posthog-app/_parent/products/ai_observability/frontend/prompts/LLMPromptsScene.js 17.0 KiB 🟢 -1.6 KiB (-8.4%)
posthog-app/_parent/products/autoresearch/frontend/AutoresearchScene.js 23.4 KiB 🟢 -1.6 KiB (-6.2%)
posthog-app/_parent/products/business_knowledge/frontend/scenes/sources/BusinessKnowledgeScene.js 28.7 KiB 🟢 -1.6 KiB (-5.2%)
posthog-app/_parent/products/engineering_analytics/frontend/scenes/EngineeringAnalyticsAuthorScene.js 24.5 KiB 🟢 -1.6 KiB (-6.0%)
posthog-app/_parent/products/stamphog/frontend/scenes/StamphogRunsScene/StamphogRunsScene.js 13.5 KiB 🟢 -1.6 KiB (-10.3%)
posthog-app/src/layout/navigation-3000/sidepanel/panels/exports/SidePanelExports.js 7.9 KiB 🟢 -1.6 KiB (-16.5%)
posthog-app/src/scenes/authentication/shared/authStepViewed.js 1.6 KiB 🔺 +1.6 KiB (new)
posthog-app/src/scenes/session-recordings/playlist/SessionRecordingsPlaylistScene.js 19.8 KiB 🔺 +1.5 KiB (+8.5%)
posthog-app/_parent/products/autoresearch/frontend/AutoresearchNewScene.js 32.1 KiB 🔺 +1.5 KiB (+5.0%)
posthog-app/_parent/products/ai_observability/frontend/offline-evaluations/OfflineExperimentScene.js 33.1 KiB 🟢 -1.5 KiB (-4.4%)
posthog-app/_parent/products/data_catalog/frontend/DataCatalogNewMetricScene.js 18.4 KiB 🟢 -1.5 KiB (-7.7%)
posthog-app/_parent/products/mcp_store/frontend/gateway/McpGatewayScene.js 8.6 KiB 🟢 -1.5 KiB (-15.1%)
posthog-app/_parent/products/web_analytics/frontend/heatmaps/scenes/heatmaps/HeatmapsScene.js 16.3 KiB 🟢 -1.5 KiB (-8.5%)
posthog-app/_parent/products/review_hog/frontend/CodeReviewScene.js 114.3 KiB 🟢 -1.5 KiB (-1.3%)
posthog-app/src/scenes/project/CreateProjectModal.js 1.5 KiB 🔺 +1.5 KiB (new)
posthog-app/_parent/products/tasks/frontend/components/TaskRepositoryPicker/CyclotronJobInputTaskRepository.js 4.1 KiB 🔺 +1.5 KiB (+57.4%)
posthog-app/_parent/products/feature_flags/frontend/staff/FeatureFlagsStaffToolsScene.js 65.5 KiB 🟢 -1.5 KiB (-2.2%)
posthog-app/_parent/products/growth/frontend/aiEnrichment/AIEnrichmentScene.js 40.2 KiB 🟢 -1.5 KiB (-3.6%)
posthog-app/_parent/products/logs/frontend/scenes/LogsRetentionDetailScene/LogsRetentionDetailScene.js 11.3 KiB 🔺 +1.5 KiB (+15.2%)
posthog-app/_parent/products/logs/frontend/scenes/LogsRetentionNewScene/LogsRetentionNewScene.js 9.7 KiB 🔺 +1.5 KiB (+18.2%)
posthog-app/_parent/products/logs/frontend/scenes/LogsSamplingDetailScene/LogsSamplingDetailScene.js 12.9 KiB 🔺 +1.5 KiB (+13.1%)
posthog-app/_parent/products/logs/frontend/scenes/LogsSamplingNewScene/LogsSamplingNewScene.js 9.7 KiB 🔺 +1.5 KiB (+18.2%)
posthog-app/_parent/products/skills/frontend/CommunitySkillsScene.js 15.4 KiB 🟢 -1.5 KiB (-8.8%)
posthog-app/_parent/products/skills/frontend/LLMSkillScene.js 5.1 KiB 🟢 -1.5 KiB (-22.8%)
posthog-app/_parent/products/skills/frontend/LLMSkillsScene.js 5.1 KiB 🟢 -1.5 KiB (-22.8%)
posthog-app/_parent/products/tracing/frontend/scenes/TracingRetentionDetailScene/TracingRetentionDetailScene.js 11.5 KiB 🔺 +1.5 KiB (+15.0%)
posthog-app/_parent/products/tracing/frontend/scenes/TracingRetentionNewScene/TracingRetentionNewScene.js 9.8 KiB 🔺 +1.5 KiB (+17.9%)
posthog-app/src/scenes/terminal/TerminalScene.js 5.7 KiB 🟢 -1.5 KiB (-20.8%)
posthog-app/_parent/products/ai_observability/frontend/scoreDefinitions/AIObservabilityScorersScene.js 21.3 KiB 🟢 -1.5 KiB (-6.5%)
posthog-app/src/scenes/audit-logs/AdvancedActivityLogsScene.js 47.5 KiB 🟢 -1.5 KiB (-3.0%)
posthog-app/src/scenes/billing/BillingSection.js 23.4 KiB 🟢 -1.5 KiB (-6.0%)
exporter/src/scenes/data-pipelines/batch-imports/activityDescriptions.js 1.5 KiB 🔺 +1.5 KiB (new)
exporter/src/layout/navigation-3000/sidepanel/panels/access_control/accessControlActivityDescriber.js 1.5 KiB 🔺 +1.5 KiB (new)
posthog-app/_parent/products/groups/frontend/activityDescriptions.js 1.5 KiB 🔺 +1.5 KiB (new)
posthog-app/_parent/products/engineering_analytics/frontend/scenes/EngineeringAnalyticsTeamScene.js 17.8 KiB 🟢 -1.5 KiB (-7.6%)
posthog-app/_parent/products/engineering_analytics/frontend/scenes/WorkflowRunDetailScene.js 12.7 KiB 🟢 -1.5 KiB (-10.3%)
posthog-app/_parent/products/engineering_analytics/frontend/scenes/WorkflowRunsScene.js 25.6 KiB 🟢 -1.5 KiB (-5.4%)
posthog-app/_parent/products/engineering_analytics/frontend/scenes/PullRequestDetailScene.js 27.2 KiB 🟢 -1.5 KiB (-5.1%)
posthog-app/_parent/products/ai_observability/frontend/offline-evaluations/OfflineScorerHistoryScene.js 18.6 KiB 🟢 -1.4 KiB (-7.1%)
posthog-app/_parent/products/subscriptions/frontend/scenes/SubscriptionScene.js 30.6 KiB 🟢 -1.4 KiB (-4.5%)
posthog-app/src/scenes/project-homepage/today/TodayHome.js 28.3 KiB 🟢 -1.4 KiB (-4.8%)
posthog-app/src/lib/lemon-ui/LemonTextArea/LemonTextAreaMarkdown.js removed 🟢 -1.4 KiB (-100.0%)
posthog-app/_parent/products/early_access_features/frontend/EarlyAccessFeatures.js 15.7 KiB 🟢 -1.4 KiB (-8.3%)
posthog-app/_parent/products/engineering_analytics/frontend/scenes/EngineeringAnalyticsScene.js 81.6 KiB 🟢 -1.4 KiB (-1.7%)
posthog-app/src/lib/components/RichContentEditor/RichContentMention.js 1.4 KiB 🔺 +1.4 KiB (new)
posthog-app/src/scenes/project-homepage/ai-first/AiFirstHomepage.js 34.6 KiB 🔺 +1.4 KiB (+4.2%)
exporter/src/exporter/exporter.js 33.9 KiB 🔺 +1.4 KiB (+4.3%)
posthog-app/src/scenes/organization/CreateOrganizationModal.js 1.4 KiB 🔺 +1.4 KiB (new)
posthog-app/_parent/products/ai_observability/frontend/offline-evaluations/OfflineExperimentsScene.js 37.5 KiB 🟢 -1.4 KiB (-3.6%)
posthog-app/_parent/products/engineering_analytics/frontend/scenes/CIExplorerScene.js 62.6 KiB 🟢 -1.4 KiB (-2.2%)
posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSettingsScene.js 16.6 KiB 🟢 -1.4 KiB (-7.6%)
posthog-app/src/scenes/data-management/variables/SqlVariableEditScene.js 11.5 KiB 🟢 -1.3 KiB (-10.3%)
posthog-app/_parent/products/annotations/frontend/pages/Annotations.js 15.4 KiB 🟢 -1.3 KiB (-7.9%)
exporter/src/scenes/authentication/shared/activityDescriptions.js 1.3 KiB 🔺 +1.3 KiB (new)
posthog-app/_parent/products/data_warehouse/frontend/scenes/NewSourceScene/NewSourceScene.js 8.1 KiB 🟢 -1.3 KiB (-13.7%)
posthog-app/_parent/products/data_warehouse/frontend/scenes/SourceConnectScene/SourceConnectScene.js 12.4 KiB 🟢 -1.3 KiB (-9.4%)
posthog-app/_parent/products/dashboards/frontend/widgets/session_replay/SessionReplayWidget.js 6.6 KiB 🟢 -1.3 KiB (-16.4%)
posthog-app/src/scenes/data-pipelines/TransformationsScene.js 16.3 KiB 🟢 -1.3 KiB (-7.3%)
posthog-app/src/scenes/data-pipelines/WebScriptsScene.js 16.4 KiB 🟢 -1.3 KiB (-7.3%)
exporter/src/scenes/max/max-constants.js 1.3 KiB 🔺 +1.3 KiB (new)
posthog-app/_parent/products/logs/frontend/scenes/LogsAlertNotificationDetailScene/LogsAlertNotificationDetailScene.js 16.7 KiB 🟢 -1.3 KiB (-7.0%)
posthog-app/src/scenes/data-pipelines/DataPipelinesNewScene.js 9.8 KiB 🟢 -1.3 KiB (-11.4%)
posthog-app/src/scenes/data-pipelines/DestinationsScene.js 22.6 KiB 🟢 -1.3 KiB (-5.3%)
exporter/_parent/products/signals/frontend/activityDescriber.js 1.2 KiB 🔺 +1.2 KiB (new)
posthog-app/_parent/products/data_warehouse/frontend/scenes/SourceScene/SourceScene.js 7.8 KiB 🟢 -1.2 KiB (-13.7%)
exporter/src/lib/components/LemonTextAreaMarkdown/LemonTextAreaMarkdown.js 1.2 KiB 🔺 +1.2 KiB (new)
posthog-app/_parent/products/conversations/frontend/scenes/myTickets/MyTicketsScene.js 8.0 KiB 🟢 -1.2 KiB (-13.3%)
posthog-app/src/models/notebooksModel.js 3.8 KiB 🟢 -1.2 KiB (-24.5%)
posthog-app/src/scenes/notebooks/Notebook/notebookLogic.js 3.8 KiB 🟢 -1.2 KiB (-24.6%)
exporter/src/scenes/exports/activityDescriptions.js 1.2 KiB 🔺 +1.2 KiB (new)
exporter/src/scenes/notebooks/Notebook/notebookActivityDescriber.js 1.2 KiB 🔺 +1.2 KiB (new)
exporter/_parent/products/warehouse_suggestions/frontend/warehouseSuggestionActivityDescriber.js 1.2 KiB 🔺 +1.2 KiB (new)
posthog-app/_parent/products/posthog_ai/frontend/scenes/TaskTracker/components/SidePanelRunnerImpl.js 18.2 KiB 🔺 +1.2 KiB (+7.1%)
posthog-app/_parent/products/posthog_ai/frontend/scenes/TaskTracker/components/EmbeddedTaskComposerImpl.js 9.6 KiB 🔺 +1.2 KiB (+14.2%)
posthog-app/src/scenes/feature-flags/FeatureFlags.js 11.1 KiB 🔺 +1.2 KiB (+12.0%)
exporter/src/scenes/cohorts/cohortSavedToast.js 1.2 KiB 🔺 +1.2 KiB (new)
posthog-app/src/scenes/authentication/auth/Auth.js 40.6 KiB 🔺 +1.2 KiB (+3.0%)
posthog-app/src/layout/panel-layout/navbar/tabs/NavTabChat.js 17.9 KiB 🔺 +1.2 KiB (+7.0%)
exporter/_parent/products/posthog_ai/frontend/scenes/TaskTracker/components/SidePanelRunnerImpl.js 14.3 KiB 🔺 +1.2 KiB (+8.8%)
exporter/_parent/products/posthog_ai/frontend/scenes/TaskTracker/components/EmbeddedTaskComposerImpl.js 6.0 KiB 🔺 +1.2 KiB (+24.1%)
posthog-app/src/scenes/max/components/DangerousOperationInput.js 10.7 KiB 🔺 +1.2 KiB (+12.2%)
posthog-app/src/scenes/max/components/MultiQuestionFormInput.js 12.9 KiB 🔺 +1.2 KiB (+9.9%)
posthog-app/_parent/products/posthog_ai/frontend/scenes/TaskTracker/TaskTracker.js 104.2 KiB 🔺 +1.1 KiB (+1.1%)
posthog-app/_parent/products/data_warehouse/frontend/scenes/DataOpsScene/DataWarehouseScene.js 66.4 KiB 🟢 -1.1 KiB (-1.7%)
posthog-app/src/scenes/exports/ExportsScene.js 9.3 KiB 🟢 -1.1 KiB (-10.9%)
exporter/_parent/products/groups/frontend/activityDescriptions.js 1.1 KiB 🔺 +1.1 KiB (new)
posthog-app/src/scenes/session-recordings/player/modal/SessionPlayerModalHost.js 1.1 KiB 🔺 +1.1 KiB (new)
posthog-app/_parent/products/tasks/frontend/spaces/SpaceScene.js 70.0 KiB 🔺 +1.1 KiB (+1.6%)
posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyTemplatesScene/CustomerJourneyTemplatesScene.js 12.0 KiB 🟢 -1.1 KiB (-8.3%)
posthog-app/_parent/products/logs/frontend/components/LogsViewer/LogsViewerModal/LogsViewerModalHost.js 1.1 KiB 🔺 +1.1 KiB (new)
posthog-app/_parent/products/ai_observability/frontend/AIObservabilitySessionScene.js 14.1 KiB 🟢 -1.1 KiB (-7.0%)
posthog-app/_parent/products/warehouse_sources/frontend/scenes/PipelineOverviewScene/PipelineOverviewScene.js 19.6 KiB 🟢 -1.1 KiB (-5.1%)
exporter/src/lib/lemon-ui/LemonMarkdown/LemonMarkdown.js 1.0 KiB 🔺 +1.0 KiB (new)
exporter/_parent/products/tasks/frontend/components/TaskRepositoryPicker/CyclotronJobInputTaskRepository.js 2.9 KiB 🔺 +1.0 KiB (+55.3%)
exporter/src/scenes/integrations/gitlab/GitLabSetupModal.js 1018 B 🔺 +1018 B (new)

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.01 MiB · 25 files 🟢 -26.1 KiB (-2.5%) █████████░ 88.1% 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.98 MiB · 626 files 🟢 -12.7 KiB (-0.4%) ██████████ 98.4% of 3.03 MiB
authenticated shell (every logged-in page)
src/scenes/AuthenticatedShell.tsx
4.06 MiB · 1,340 files 🟢 -3.75 MiB (-48.0%) ██████████ 99.7% of 4.07 MiB
dashboard scene
src/scenes/dashboard/Dashboard.tsx
9.67 MiB · 3,748 files 🟢 -564.2 KiB (-5.4%) ██████████ 96.6% of 10.01 MiB
today home path
src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
4.97 MiB · 1,814 files 🟢 -3.00 MiB (-37.6%) ██████████ 99.7% of 4.98 MiB
AI-first home path
src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/ai-first/AiFirstHomepage.tsx
6.40 MiB · 2,323 files 🟢 -1.82 MiB (-22.1%) ██████████ 99.2% of 6.45 MiB
events scene
src/scenes/activity/explore/EventsScene.tsx
9.10 MiB · 3,518 files 🟢 -575.2 KiB (-5.8%) █████████░ 94.9% of 9.59 MiB
web analytics scene
src/scenes/web-analytics/WebAnalyticsScene.tsx
10.06 MiB · 3,785 files 🟢 -573.4 KiB (-5.3%) █████████░ 92.9% of 10.83 MiB
replay detail scene
src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
7.74 MiB · 3,003 files 🟢 -941.4 KiB (-10.6%) ████████░░ 81.7% of 9.47 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/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
🟢 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
🟢 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/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
🟢 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
🟢 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/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/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

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.9 KiB src/lib/utils/bootTiming.ts
1.7 KiB src/index.tsx
1.7 KiB ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js
1.2 KiB src/RootErrorBoundary.tsx
949 B src/scenes/ChunkLoadErrorBoundary.tsx
Largest files eagerly shipped from src/index.tsx + src/scenes/App.tsx + src/scenes/bootApp.ts
Size File
325.0 KiB ../node_modules/.pnpm/posthog-js@1.443.0_@types+react@18.3.27_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
103.9 KiB src/products.tsx
89.0 KiB src/lib/api.ts
68.7 KiB src/lib/lemon-ui/icons/icons.tsx
41.9 KiB ../node_modules/.pnpm/@dnd-kit+core@6.0.8_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
28.3 KiB src/lib/constants.tsx
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
325.0 KiB ../node_modules/.pnpm/posthog-js@1.443.0_@types+react@18.3.27_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
103.9 KiB src/products.tsx
89.0 KiB src/lib/api.ts
68.7 KiB src/lib/lemon-ui/icons/icons.tsx
41.9 KiB ../node_modules/.pnpm/@dnd-kit+core@6.0.8_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.7 KiB src/lib/utils/eventUsageLogic.ts
28.6 KiB ../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/schemas.js
Largest files eagerly shipped from src/scenes/dashboard/Dashboard.tsx
Size File
325.0 KiB ../node_modules/.pnpm/posthog-js@1.443.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
239.9 KiB ../packages/quill/packages/quill/dist/index.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
153.8 KiB ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js
144.1 KiB ../packages/quill/packages/primitives/dist/index.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
103.9 KiB src/products.tsx
94.6 KiB ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js
92.6 KiB ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js
89.0 KiB src/lib/api.ts
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx + src/scenes/project-homepage/ProjectHomepage.tsx + src/scenes/project-homepage/today/TodayHome.tsx
Size File
325.0 KiB ../node_modules/.pnpm/posthog-js@1.443.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
239.9 KiB ../packages/quill/packages/quill/dist/index.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
103.9 KiB src/products.tsx
89.0 KiB src/lib/api.ts
68.7 KiB src/lib/lemon-ui/icons/icons.tsx
68.0 KiB ../products/posthog_ai/frontend/logics/runStreamLogic.ts
41.9 KiB ../node_modules/.pnpm/@dnd-kit+core@6.0.8_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
325.0 KiB ../node_modules/.pnpm/posthog-js@1.443.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
239.9 KiB ../packages/quill/packages/quill/dist/index.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
153.8 KiB ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js
144.1 KiB ../packages/quill/packages/primitives/dist/index.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
103.9 KiB src/products.tsx
89.0 KiB src/lib/api.ts
68.7 KiB src/lib/lemon-ui/icons/icons.tsx
68.0 KiB ../products/posthog_ai/frontend/logics/runStreamLogic.ts
Largest files eagerly shipped from src/scenes/activity/explore/EventsScene.tsx
Size File
325.0 KiB ../node_modules/.pnpm/posthog-js@1.443.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
239.9 KiB ../packages/quill/packages/quill/dist/index.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
153.8 KiB ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js
144.1 KiB ../packages/quill/packages/primitives/dist/index.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
103.9 KiB src/products.tsx
94.6 KiB ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js
92.6 KiB ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js
89.0 KiB src/lib/api.ts
Largest files eagerly shipped from src/scenes/web-analytics/WebAnalyticsScene.tsx
Size File
325.0 KiB ../node_modules/.pnpm/posthog-js@1.443.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
239.9 KiB ../packages/quill/packages/quill/dist/index.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
187.9 KiB src/queries/validators.js
153.8 KiB ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js
144.1 KiB ../packages/quill/packages/primitives/dist/index.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
103.9 KiB src/products.tsx
94.6 KiB ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js
92.6 KiB ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js
Largest files eagerly shipped from src/scenes/session-recordings/detail/SessionRecordingDetail.tsx
Size File
325.0 KiB ../node_modules/.pnpm/posthog-js@1.443.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.mjs
316.5 KiB ../node_modules/.pnpm/posthog-js@1.443.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/rrweb.js
239.9 KiB ../packages/quill/packages/quill/dist/index.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
153.8 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
103.9 KiB src/products.tsx
94.6 KiB ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js
92.6 KiB ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js
89.0 KiB src/lib/api.ts

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.34 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.34 MiB · 19 files 🔺 +7.2 KiB (+0.3%) ████░░░░░░ 40.8% of 5.72 MiB
Deferred (lazy) 2.11 MiB · 42 files 🔺 +3.4 KiB (+0.2%) 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
944.7 KiB dist/toolbar/toolbar-app-TTS5RIUL.css
695.9 KiB dist/toolbar/chunk-chunk-WAWE2MRA.js
261.2 KiB dist/toolbar/chunk-chunk-XEAFBGPT.js
131.8 KiB dist/toolbar/chunk-chunk-FDH2IBXT.js
130.3 KiB dist/toolbar/chunk-chunk-U6Z4H3CB.js
75.7 KiB dist/toolbar/toolbar-app-ANUUAJT7.js
69.0 KiB dist/toolbar/chunk-chunk-TSAL54PB.js
33.8 KiB dist/toolbar/chunk-chunk-5TA5VYBW.js
21.7 KiB dist/toolbar/chunk-chunk-APVZ36XC.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 — 🟢 -13.86 MiB (-1.4%)

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

Total: 969.40 MiB · 🟢 -13.86 MiB (-1.4%)

ℹ️ MCP UI apps size — 35 app(s), 29120.9 KB JS

Built size of each MCP UI app (main.js + styles.css).

App JS CSS
debug 844.3 KB 211.6 KB
explain-chart 1117.7 KB 211.6 KB
action 767.7 KB 211.6 KB
action-list 835.3 KB 211.6 KB
cohort 766.7 KB 211.6 KB
cohort-list 834.3 KB 211.6 KB
email-template 766.6 KB 211.6 KB
error-details 771.6 KB 211.6 KB
error-issue 768.9 KB 211.6 KB
error-issue-list 836.8 KB 211.6 KB
experiment 832.4 KB 211.6 KB
experiment-list 836.1 KB 211.6 KB
experiment-results 834.3 KB 211.6 KB
feature-flag 834.7 KB 211.6 KB
feature-flag-list 838.4 KB 211.6 KB
feature-flag-testing 770.0 KB 211.6 KB
inline-scan 767.2 KB 211.6 KB
insight-actors 833.8 KB 211.6 KB
llm-costs 831.1 KB 211.6 KB
session-recording 769.0 KB 211.6 KB
survey 768.3 KB 211.6 KB
survey-global-stats 831.1 KB 211.6 KB
survey-list 836.0 KB 211.6 KB
survey-stats 831.1 KB 211.6 KB
trace-span 767.1 KB 211.6 KB
trace-span-list 835.2 KB 211.6 KB
vision-observation-list 834.4 KB 211.6 KB
workflow 767.1 KB 211.6 KB
workflow-list 834.7 KB 211.6 KB
workflow-setup-status 766.7 KB 211.6 KB
query-results 1089.6 KB 211.6 KB
render-ui 1193.6 KB 211.6 KB
visual-review-snapshots 771.6 KB 211.6 KB
workflow-data-suggestions 769.4 KB 211.6 KB
workflow-sending-rules 768.1 KB 211.6 KB
ℹ️ MCP agent API — agent-facing tool changes

What this PR changes for agents, from the tool schema snapshots and tool definitions.

Tools changed (1):

Tool Params Scopes Annotations Schema chars
error-tracking-settings-update +linear_status_sync_enabled 1,058 -> 1,357
⚠️ Playwright — 1 flaky

🎭 Playwright report

⚠️ 1 flaky test:

  • Logout in another tab results in logout in the current tab too (chromium)

These issues are not necessarily caused by your changes.
Annoyed by this section? Help fix flakies and failures and it will go green!

⚠️ MCP snapshots — 1 updated (1 modified, 0 added, 0 deleted)

Snapshots: MCP unit test snapshots updated

Changes: 1 snapshots (1 modified, 0 added, 0 deleted)

What this means:

  • Snapshots have been automatically updated to match current output

Next steps:

  • Review the changes to ensure they're intentional
  • If unexpected, investigate what caused the output to change

Review snapshot changes →

⚠️ Django migration SQL — 2 new migrations to review

We've detected new migrations on this PR. Review the SQL output for each migration:

products/error_tracking/backend/migrations/0048_errortrackingsettings_linear_status_sync_enabled.py

/home/runner/work/tmp/tool_cache/Python/3.14.7/x64/lib/python3.14/site-packages/anyio/from_thread.py:119: SyntaxWarning: 'return' in a 'finally' block
  return result
2026-11-02T11:33:34.294320Z [error    ] Path must be a valid database or directory containing databases. [posthog.exceptions_capture] pid=6202 tid=140367453264768
Traceback (most recent call last):
  File "/home/runner/work/posthog/posthog/posthog/geoip.py", line 15, in <module>
    geoip: Optional[GeoIP2] = GeoIP2(cache=8)
                              ~~~~~~^^^^^^^^^
  File "/home/runner/work/tmp/tool_cache/Python/3.14.7/x64/lib/python3.14/site-packages/django/contrib/gis/geoip2.py", line 116, in __init__
    raise GeoIP2Exception(
        "Path must be a valid database or directory containing databases."
    )
django.contrib.gis.geoip2.GeoIP2Exception: Path must be a valid database or directory containing databases.
/home/runner/work/tmp/tool_cache/Python/3.14.7/x64/lib/python3.14/site-packages/sshtunnel.py:1040: SyntaxWarning: 'return' in a 'finally' block
  return (ssh_host,
/home/runner/work/tmp/tool_cache/Python/3.14.7/x64/lib/python3.14/site-packages/langchain_core/_api/deprecation.py:27: UserWarning: Core Pydantic V1 functionality isn't compatible with Python 3.14 or greater.
  from pydantic.v1.fields import FieldInfo as FieldInfoV1
System check identified some issues:

WARNINGS:
?: (axes.W001) You are using the django-axes cache handler for login attempt tracking. Your cache configuration is however invalid and will not work correctly with django-axes. This can leave security holes in your login systems as attempts are not tracked correctly. Reconfigure settings.AXES_CACHE and settings.CACHES per django-axes configuration documentation.
?: (staticfiles.W004) The directory '/home/runner/work/posthog/posthog/frontend/dist' in the STATICFILES_DIRS setting does not exist.
BEGIN;
--
-- Add field linear_status_sync_enabled to errortrackingsettings
--
ALTER TABLE "posthog_errortrackingsettings" ADD COLUMN "linear_status_sync_enabled" boolean DEFAULT false NOT NULL;
COMMIT;

products/error_tracking/backend/migrations/0049_externalreference_integration_context_id_index.py

2026-11-02T11:34:19.411893Z [error    ] Path must be a valid database or directory containing databases. [posthog.exceptions_capture] pid=7302 tid=140069332118400
Traceback (most recent call last):
  File "/home/runner/work/posthog/posthog/posthog/geoip.py", line 15, in <module>
    geoip: Optional[GeoIP2] = GeoIP2(cache=8)
                              ~~~~~~^^^^^^^^^
  File "/home/runner/work/tmp/tool_cache/Python/3.14.7/x64/lib/python3.14/site-packages/django/contrib/gis/geoip2.py", line 116, in __init__
    raise GeoIP2Exception(
        "Path must be a valid database or directory containing databases."
    )
django.contrib.gis.geoip2.GeoIP2Exception: Path must be a valid database or directory containing databases.
/home/runner/work/tmp/tool_cache/Python/3.14.7/x64/lib/python3.14/site-packages/langchain_core/_api/deprecation.py:27: UserWarning: Core Pydantic V1 functionality isn't compatible with Python 3.14 or greater.
  from pydantic.v1.fields import FieldInfo as FieldInfoV1
System check identified some issues:

WARNINGS:
?: (axes.W001) You are using the django-axes cache handler for login attempt tracking. Your cache configuration is however invalid and will not work correctly with django-axes. This can leave security holes in your login systems as attempts are not tracked correctly. Reconfigure settings.AXES_CACHE and settings.CACHES per django-axes configuration documentation.
?: (staticfiles.W004) The directory '/home/runner/work/posthog/posthog/frontend/dist' in the STATICFILES_DIRS setting does not exist.
--
-- Concurrently create index et_extref_integration_ctx_id on field(s)  of model errortrackingexternalreference
--
SET lock_timeout = 0;
SET statement_timeout = 0;
CREATE INDEX CONCURRENTLY "et_extref_integration_ctx_id" ON "posthog_errortrackingexternalreference" ("integration_id", (("external_context" -> 'id')));

Last updated: 2026-11-02 11:34 UTC (d3e52b5)

✅ Django migration risk — migration analysis complete

We've analyzed your migrations for potential risks.

Summary: 2 Safe | 0 Needs Review | 0 Blocked

✅ Safe

Brief or no lock, backwards compatible

error_tracking.0048_errortrackingsettings_linear_status_sync_enabled
  └─ #1 ✅ AddField
     Adding NOT NULL field with constant default (safe in PG11+)
     model: errortrackingsettings, field: linear_status_sync_enabled
error_tracking.0049_externalreference_integration_context_id_index
  └─ #1 ✅ SafeAddIndexConcurrently
     PostHog concurrent-index helper: idempotent (timeout disabling + invalid-leftover recovery)
     model: errortrackingexternalreference, index: et_extref_integration_ctx_id

Last updated: 2026-11-02 11:35 UTC (d3e52b5)

ℹ️ frontend-layers — no base comparison available

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.09 MiB (no base measurement)
shell 2.39 MiB (no base measurement)
query 56.4 KiB (no base measurement)
features 699.3 KiB (no base measurement)

ℹ️ No base report, so new and removed imports are not listed.

Download the interactive layer graph for this PR.

Posted automatically by check-layers

@trunk-io

trunk-io Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Static Badge   Static Badge   Static Badge

View Full Report ↗︎ ⋅ Docs

@ablaszkiewicz
ablaszkiewicz changed the base branch from master to feat/ingress-linear-provider October 29, 2026 13:19
@ablaszkiewicz
ablaszkiewicz force-pushed the feat/error-tracking-linear-status-sync branch from ecd231e to 38a5fd6 Compare October 29, 2026 13:20
@ablaszkiewicz
ablaszkiewicz force-pushed the feat/error-tracking-linear-status-sync branch from 38a5fd6 to f7af62b Compare October 29, 2026 14:02
Base automatically changed from feat/ingress-linear-provider to master October 29, 2026 17:02
ablaszkiewicz and others added 4 commits October 29, 2026 17:02
An issue resolves once every linked Linear ticket is closed and at
least one is done, and becomes active again when a linked ticket
reopens. A Celery task reads the current ticket states from Linear
before it changes anything. The Linear consumer routes a state
change from a workspace that no EU project connects to US.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FkuJACbTMz8Ughe2yEnecV
…failures

- A ticket that moves between Linear teams keeps holding its issue
  open: the move's own delivery rewrites references that still hold
  an old identifier.
- Each issue's Linear reads and status change run under a Redis lock,
  so an overlapping close and reopen cannot apply stale reads.
- One project's failing Linear token no longer stops the other
  projects in the workspace from syncing.
- A rate-limited read retries when Linear resets the limit, instead of
  giving up after half a minute of backoff.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FkuJACbTMz8Ughe2yEnecV
Bring back the "Sync issue status from Linear" switch in the Linear
integration settings, off by default. Only projects that turn it on
have their issues resolved or reopened by linked tickets, and only
their references get the moved-ticket identifier refresh.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FkuJACbTMz8Ughe2yEnecV
…witch

The switch sits next to the Linear connection, which other products
share, so its label and help text now say that it changes error
tracking issues.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FkuJACbTMz8Ughe2yEnecV
@trunk-io
trunk-io Bot force-pushed the feat/error-tracking-linear-status-sync branch from 13e6d89 to 9ce8c7a Compare October 29, 2026 17:02
@hosthog

hosthog Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

HostHog preview — posthog-desktop-web

The previews for this PR have been torn down and no longer serve.

@posthog

posthog Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

✅ Visual changes approved by @ablaszkiewicz — baseline updated in 16c5a9c.

View this run in PostHog

2 changed.

Install the Visual Review Chrome extension to see visual review results at the top of your pull requests.

@ablaszkiewicz
ablaszkiewicz marked this pull request as ready for review October 30, 2026 13:08
@parameterai

parameterai Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Risk: No findings

The delta since the last review is a single two-line change in the test-only _FakeLinear fake: the previous_state_type/token-visibility conditions are reordered without changing the resulting boolean. No production code, auth, query, or webhook path is touched, so there is nothing new to secure.

Sentinel reviewed d3e52b5 · Review settings

2 updated
Run: 60ab07ab-eb53-4e0e-b0f9-46570a1f5439

Co-authored-by: ablaszkiewicz <54682207+ablaszkiewicz@users.noreply.github.com>

@posthog posthog 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.

PostHog Review · Standard · reviewed 9ce8c7a: 2 Should fix.

- The task retries a Redis connection error or timeout on the issue
  lock, so a Redis failure no longer drops the status change.
- With several failed issues, the sync raises the failure that needs
  the longest wait: a rate limit at its latest reset, then a busy
  issue lock, then the first other failure. A failing token ahead of a
  rate-limited project no longer cuts the retries short.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gantoine
gantoine removed the request for review from a team October 30, 2026 17:56
ablaszkiewicz and others added 2 commits November 2, 2026 10:56
… sdk

The integration-model-through-sdk ratchet allows no direct Integration
model use in new files. The sync now lists and loads Linear rows with
IntegrationManager.linear.oauth and filters references by integration id.
One nosemgrep keeps the model import, because bounded_statement_timeout
needs the model class to find the alias of the ownership lookup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NtZv9nJo1pWt8hS432B7fY

@posthog posthog 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.

PostHog Review · Standard · reviewed e711cc5: 1 Should fix.

This is review round 3 on this pull request. When findings keep coming back in the same code, the approach is usually the problem. Before the next fix, check whether a different design would remove the whole class of findings.

The Linear status sync filters references by integration id and
external_context->'id' on every state change in a connected workspace.
The integration foreign key index alone reads every reference of the
workspace, so lookup cost grows with link history. Add a concurrent
expression index on (integration_id, external_context -> 'id').

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NtZv9nJo1pWt8hS432B7fY
…unknown

Linear leaves a ticket out of the issues response when it was deleted,
when the token cannot read it, or when it moved teams before its
reference was refreshed. The sync treated all three as deleted, so an
unreadable or moved ticket that was still open let the issue resolve.
A ticket without a known state now keeps the issue open.

The moved-identifier refresh now runs per issue inside the issue lock,
right before the state reads, so no other job reads the references
while they are rewritten.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@posthog posthog 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.

PostHog Review · Standard · reviewed d1b503d: 1 Should fix.

This is review round 4 on this pull request. When findings keep coming back in the same code, the approach is usually the problem. Before the next fix, check whether a different design would remove the whole class of findings.

After Linear rate limits an integration, the sync kept reading with
that token for every remaining issue in the job, and Linear refused
each read until the limit reset. The job now remembers rate limited
integrations and raises the first rate limit error for their later
reads instead of calling Linear.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@posthog posthog 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.

PostHog Review · Standard · reviewed 0257e9d: 1 Should fix.

This is review round 5 on this pull request. When findings keep coming back in the same code, the approach is usually the problem. Before the next fix, check whether a different design would remove the whole class of findings.

ablaszkiewicz and others added 2 commits November 2, 2026 12:26
The sync read the state a ticket left once per job, with the token of
the first project, and reused that answer for every other project. A
token that cannot see a private Linear team gets no state, so one such
project stopped every other project from reopening its issue. The job
now reads the previous state once per integration.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…est fake

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@trunk-io
trunk-io Bot merged commit a2d32bc into master Nov 2, 2026
347 of 348 checks passed
@trunk-io
trunk-io Bot deleted the feat/error-tracking-linear-status-sync branch November 2, 2026 12:51
@deployment-status-posthog

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

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-11-02 13:17 UTC Run
prod-us ✅ Deployed 2026-11-02 13:43 UTC Run
prod-eu ✅ Deployed 2026-11-02 13:36 UTC Run

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