Skip to content

feat(logs): allow multiple distinct_id attribute keys with COALESCE matching#61312

Draft
DanielVisca wants to merge 2 commits into
posthog-code/logs-settings-pivot-attributefrom
posthog-code/logs-multi-key-pivot
Draft

feat(logs): allow multiple distinct_id attribute keys with COALESCE matching#61312
DanielVisca wants to merge 2 commits into
posthog-code/logs-settings-pivot-attributefrom
posthog-code/logs-multi-key-pivot

Conversation

@DanielVisca
Copy link
Copy Markdown
Contributor

Problem

Today TeamLogsConfig.logs_distinct_id_attribute_key is a single OTel log attribute key per project — and real teams emit logs from multiple services that use different shapes for the person identifier. Concrete real-world example:

  • The PostHog JS / React Native SDKs auto-attach posthogDistinctId (camelCase).
  • Circleback's backend pipeline emits posthog.distinct_id (OTel-canonical dotted snake).
  • Other backends often emit user.id or a plain distinct_id.

With the single-key model, these teams have to pick one source to surface on person profiles and lose linkage on the others.

Changes

Adds priority-ordered fallback support: configure an ordered list of attribute keys, and for any log row, the first configured key present on that row is matched against the person's distinct IDs. Implemented as a single SQL COALESCE(...) per pinned filter — no nested OR-group support in the query runner, no restructuring of how pinned filters compose with user filters (see the plan-file rationale).

Backend

  • products/logs/backend/models.py + migrations/0015_*: logs_distinct_id_attribute_key: CharFieldlogs_distinct_id_attribute_keys: ArrayField(CharField(max_length=200), default=lambda: ["posthogDistinctId"]). Migration mirrors posthog/migrations/0032_team_multiple_app_urls.py exactly — add → backfill (RunPython, elidable=True) → remove.
  • posthog/api/team.py: serializer becomes ListField(child=CharField), min_length=1, max_length=10. Validates non-blank entries, dedupes preserving order, trims whitespace.
  • posthog/schema.py + frontend/src/types.ts: new optional keys: list[str] on LogPropertyFilter (alternative to key).
  • products/logs/backend/logs_query_runner.py: new _multikey_log_attribute_to_expr helper compiles a keys-bearing filter to coalesce(attributes[k1__suffix], attributes[k2__suffix], ...) <op> value. Single compile-site change in the LogAttribute branch — property_to_expr and the nested-group walk are untouched.

Frontend

  • products/logs/frontend/logsConfigLogic.ts: plural shape + DEFAULT_LOGS_DISTINCT_ID_ATTRIBUTE_KEYS = ['posthogDistinctId'].
  • frontend/src/scenes/settings/environment/LogsDistinctIdAttributeKey.tsx: swap LemonInput for LemonInputSelect (mode="multiple", allowCustomValues, sortable). Drag-to-reorder, comma-paste to add multiple at once. Save validates ≥1 entry, ≤200 chars per entry, dedupes/trims. Admin gating unchanged. Helper text explains priority order.
  • frontend/src/scenes/persons/PersonLogsTab.tsx: pinned filter carries the keys array. Scope hint renders all configured keys with commas, with a prominent inline "Link logs to a person →" link to the settings page (replaces the previous discreet gear icon — easier to discover).

Tests

  • posthog/api/test/test_team_logs_config.py: 23 parametrized tests, plural shape. Covers empty/blank/over-length/duplicate/whitespace input, order preservation, dual-route parity, env isolation.
  • products/logs/backend/test/test_logs_query_runner.py: 3 new tests validate that _multikey_log_attribute_to_expr produces a coalesce(...) Call with per-key Field lookups (suffixed __str) and In/NotIn comparison ops. Tests call the helper directly to bypass a pre-existing local divergence in the HogQL parser-shadow check.

How did you test this code?

I'm an agent (PostHog Code / Opus 4.7). The user reviewed and approved the design (in particular the COALESCE-over-OR choice) via the plan file at flickering-humming-honey.md. Verified locally:

  • pytest posthog/api/test/test_team_logs_config.py23/23 passing.
  • pytest products/logs/backend/test/test_logs_query_runner.py -k multikey3/3 passing.
  • tsc --noEmit clean on all touched frontend files.

Manual smoke test pending user verification — the parser-shadow local divergence blocks running the existing integration tests against the local stack from this worktree (pre-existing, not introduced here).

Notes for reviewers

  • Stacked on feat(logs): admin-gated settings UI for the person pivot attribute #61301 (posthog-code/logs-settings-pivot-attribute — the admin-gated settings UI). Merging feat(logs): admin-gated settings UI for the person pivot attribute #61301 first will let this rebase cleanly onto master.
  • Priority semantics (COALESCE) means a log with both posthogDistinctId = X (not a distinct_id) AND user.id = Y (IS a distinct_id) does NOT link — the first configured key's value wins on each row. In practice a log emits one identifier under one key, so the case is rare. Documented as a known semantic in the public docs follow-up.
  • True OR-across-keys semantics was considered and rejected — it requires nested OR-group support in the query runner, a much larger change for the 1% gain. See plan file for the analysis.

Automatic notifications

  • Publish to changelog?
  • Alert Sales and Marketing teams?

Docs update

Follow-up docs PR in PostHog/posthog.com will update:

  • contents/docs/logs/link-person.mdx — the "Customizing the attribute key" section becomes "Customizing the attribute keys"; add a worked example with multiple keys and explain priority/COALESCE semantics.
  • contents/docs/logs/troubleshooting.mdx — mention the priority-fallback edge case (a log with a non-matching first-key value won't link even if a later key would have matched; suggest reordering).

🤖 Agent context

PostHog Code (Opus 4.7). The first draft of this proposed true OR semantics with nested OR-group recursion in the query runner — the user pushed back on the complexity, hinting "AND is okay" and "any key can be the pivot". The revised plan landed on COALESCE/priority, which keeps the pinned filter as a single ANDed condition (no query-runner restructure needed). The motivating real-world example for multi-key (posthog.distinct_id vs posthogDistinctId) came from a Circleback log screenshot the user shared mid-implementation.


Created with PostHog Code

…atching

`TeamLogsConfig.logs_distinct_id_attribute_key` (singular CharField) becomes
`logs_distinct_id_attribute_keys: ArrayField[CharField]`. Teams can now configure
an ordered list of OTel log attributes used to identify which person a log
belongs to. For each log row, the first configured key present on that row is
matched against the person's distinct_ids — priority-ordered fallback via SQL
`coalesce()`, no OR-group recursion in the query runner.

Motivating real-world example: Circleback's backend emits `posthog.distinct_id`
(OTel dotted_snake), while the JS SDK auto-attaches `posthogDistinctId`
(camelCase). With the single-key model these teams have to pick one and lose
the other. With multi-key they configure both and every source surfaces on
person profiles.

Changes:
- `products/logs/backend/models.py` + `migrations/0015_*`: switch to
  ArrayField with default `["posthogDistinctId"]`. Single forward migration
  mirrors `posthog/migrations/0032_team_multiple_app_urls.py` (add → backfill
  → remove), `elidable=True` on the RunPython.
- `posthog/api/team.py`: serializer becomes `ListField(child=CharField)`,
  min_length=1, max_length=10, validates non-empty/non-blank entries,
  dedupes preserving order, trims whitespace.
- `posthog/schema.py` + `frontend/src/types.ts`: new optional `keys: list[str]`
  on `LogPropertyFilter` (alternative to `key`). When set, the runner compiles
  to `coalesce(attributes[k1__suffix], attributes[k2__suffix], …) <op> value`
  via a new `_multikey_log_attribute_to_expr` helper. Single-key path is
  unchanged.
- `products/logs/backend/logs_query_runner.py`: detect multi-key filters in
  the LogAttribute branch and route them through the new helper. Single
  compile-site change — no nested OR-group recursion, no `property_to_expr`
  changes.
- `products/logs/frontend/logsConfigLogic.ts`: plural shape +
  `DEFAULT_LOGS_DISTINCT_ID_ATTRIBUTE_KEYS = ['posthogDistinctId']`.
- `frontend/src/scenes/settings/environment/LogsDistinctIdAttributeKey.tsx`:
  swap `LemonInput` for `LemonInputSelect` (`mode="multiple"`,
  `allowCustomValues`, `sortable`) — free-form strings, drag-to-reorder,
  comma-paste-to-add. Save validates ≥1 entry, ≤200 chars per entry,
  dedupes/trims. Admin gating unchanged.
- `frontend/src/scenes/persons/PersonLogsTab.tsx`: pinned filter now carries
  `keys` array; scope hint renders all configured keys with commas and
  surfaces a prominent "Link logs to a person →" link to the settings page
  (replaces the previous discreet gear icon — easier to discover).

Tests:
- Serializer: 23/23 passing (parametrized across `/api/projects/` and
  `/api/environments/`, covers empty/blank/dedup/order/overlength).
- Runner: 3 new tests for `_multikey_log_attribute_to_expr` validate that
  multi-key compiles to a `coalesce(...)` Call wrapping per-key Field lookups
  with the `__str` type suffix, single-key skips the coalesce wrapper, and
  IsNot maps to NotIn. Tests bypass the parser-shadow pipeline (which has a
  pre-existing local divergence on unrelated HogQL) and exercise the helper
  directly.

Out of scope (deliberate):
- True OR-across-keys semantics (a log links if any key at any position
  matches a distinct_id) — see plan file; requires nested OR-group support
  in the query runner. Rejected in favor of the smaller COALESCE change.
- Renaming `posthogDistinctId` to `posthog.distinct_id` (OTel-canonical) —
  separate SDK + default-config change.

Generated-By: PostHog Code
Task-Id: a0cd1bfc-9b19-4b30-9123-6488d22b3f6a
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 3, 2026

Size Change: 0 B

Total Size: 81.1 MB

ℹ️ View Unchanged
Filename Size Change
frontend/dist-report/decompression-worker/src/scenes/session-recordings/player/snapshot-processing/decompressionWorker 2.85 kB 0 B
frontend/dist-report/exporter/_chunks/chunk 8.47 MB +682 B (+0.01%)
frontend/dist-report/exporter/_parent/products/actions/frontend/pages/Action 25 kB 0 B
frontend/dist-report/exporter/_parent/products/actions/frontend/pages/Actions 1.33 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilityScene 119 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilitySessionScene 19.9 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilityTraceScene 132 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilityUsers 872 B 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/clusters/AIObservabilityClusterScene 21.7 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/clusters/AIObservabilityClustersScene 55.1 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetScene 21 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetsScene 3.64 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluation 59.9 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluationsScene 28.2 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/evaluations/EvaluationTemplates 915 B 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/LLMASessionFeedbackDisplay 5.19 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/playground/AIObservabilityPlaygroundScene 37.8 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/prompts/LLMPromptScene 29.2 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/prompts/LLMPromptsScene 4.83 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/skills/LLMSkillScene 929 B 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/skills/LLMSkillsScene 946 B 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/tags/AIObservabilityTag 27.4 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/tags/AIObservabilityTagsScene 7.31 kB 0 B
frontend/dist-report/exporter/_parent/products/business_knowledge/frontend/scenes/BusinessKnowledgeScene 19 kB 0 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/Assignee/CyclotronJobInputAssignee 1.67 kB 0 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/SlaBusinessHours/CyclotronJobInputBusinessHours 3.06 kB 0 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/TicketTags/CyclotronJobInputTicketTags 1.06 kB 0 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/settings/SupportSettingsScene 1.82 kB 0 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/ticket/SupportTicketScene 34.4 kB 0 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/tickets/SupportTicketsScene 1.07 kB 0 B
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/CustomerAnalyticsScene 63 kB 0 B
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerAnalyticsConfigurationScene/CustomerAnalyticsConfigurationScene 2.65 kB 0 B
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyBuilderScene/CustomerJourneyBuilderScene 2.18 kB 0 B
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyTemplatesScene/CustomerJourneyTemplatesScene 7.86 kB 0 B
frontend/dist-report/exporter/_parent/products/data_warehouse/DataWarehouseScene 46.8 kB 0 B
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/NewSourceScene/NewSourceScene 1.15 kB 0 B
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SchemaScene/SchemaScene 26.6 kB 0 B
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SourceScene/SourceScene 1.1 kB 0 B
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SourcesScene/SourcesScene 6.31 kB 0 B
frontend/dist-report/exporter/_parent/products/early_access_features/frontend/EarlyAccessFeature 1.02 kB 0 B
frontend/dist-report/exporter/_parent/products/early_access_features/frontend/EarlyAccessFeatures 3.24 kB 0 B
frontend/dist-report/exporter/_parent/products/endpoints/frontend/EndpointScene 40.6 kB 0 B
frontend/dist-report/exporter/_parent/products/endpoints/frontend/EndpointsScene 24.5 kB 0 B
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingFingerprintsScene/ErrorTrackingIssueFingerprintsScene 7.44 kB 0 B
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingIssueScene/ErrorTrackingIssueScene 104 kB 0 B
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingScene/ErrorTrackingScene 27.1 kB 0 B
frontend/dist-report/exporter/_parent/products/feature_flags/frontend/FeatureFlagTemplatesScene 7.38 kB 0 B
frontend/dist-report/exporter/_parent/products/games/368Hedgehogs/368Hedgehogs 5.61 kB 0 B
frontend/dist-report/exporter/_parent/products/games/FlappyHog/FlappyHog 6.12 kB 0 B
frontend/dist-report/exporter/_parent/products/legal_documents/frontend/scenes/LegalDocumentNewScene 60.5 kB 0 B
frontend/dist-report/exporter/_parent/products/legal_documents/frontend/scenes/LegalDocumentsScene 5.31 kB 0 B
frontend/dist-report/exporter/_parent/products/links/frontend/LinkScene 25.2 kB 0 B
frontend/dist-report/exporter/_parent/products/links/frontend/LinksScene 4.55 kB 0 B
frontend/dist-report/exporter/_parent/products/live_debugger/frontend/LiveDebugger 19.5 kB 0 B
frontend/dist-report/exporter/_parent/products/logs/frontend/LogsScene 17.9 kB 0 B
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsAlertDetailScene/LogsAlertDetailScene 17.2 kB 0 B
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsAlertNotificationDetailScene/LogsAlertNotificationDetailScene 8.49 kB 0 B
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsSamplingDetailScene/LogsSamplingDetailScene 5.3 kB 0 B
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsSamplingNewScene/LogsSamplingNewScene 2.25 kB 0 B
frontend/dist-report/exporter/_parent/products/managed_migrations/frontend/ManagedMigration 14.9 kB 0 B
frontend/dist-report/exporter/_parent/products/mcp_analytics/frontend/MCPAnalyticsScene 40.6 kB 0 B
frontend/dist-report/exporter/_parent/products/mcp_analytics/frontend/MCPAnalyticsToolDetail 18.5 kB 0 B
frontend/dist-report/exporter/_parent/products/metrics/frontend/MetricsScene 16.2 kB 0 B
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/stickiness/StickinessBarChart/StickinessBarChart 3.31 kB 0 B
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/stickiness/StickinessLineChart/StickinessLineChart 3.14 kB 0 B
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsBarChart/TrendsBarChart 8.14 kB 0 B
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsLifecycleChart/TrendsLifecycleChart 4.41 kB 0 B
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsLineChart/TrendsLineChart 4.6 kB 0 B
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsPieChart/TrendsPieChart 4.35 kB 0 B
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/observations/ReplayObservation 8.64 kB 0 B
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ReplayScanner 36 kB 0 B
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ReplayScannersScene 12.2 kB 0 B
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ScannerTemplatesScene 4.59 kB 0 B
frontend/dist-report/exporter/_parent/products/revenue_analytics/frontend/RevenueAnalyticsScene 26.5 kB 0 B
frontend/dist-report/exporter/_parent/products/session_summaries/frontend/SessionGroupSummariesTable 5.05 kB 0 B
frontend/dist-report/exporter/_parent/products/session_summaries/frontend/SessionGroupSummaryScene 19.2 kB 0 B
frontend/dist-report/exporter/_parent/products/tasks/frontend/SlackTaskContextScene 8.88 kB 0 B
frontend/dist-report/exporter/_parent/products/tasks/frontend/TaskDetailScene 23.8 kB 0 B
frontend/dist-report/exporter/_parent/products/tasks/frontend/TaskTracker 14.6 kB 0 B
frontend/dist-report/exporter/_parent/products/tracing/frontend/TracingScene 67.2 kB 0 B
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterview 9.37 kB 0 B
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterviewResponse 7.79 kB 0 B
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterviews 6.08 kB 0 B
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewIndexScene 2.56 kB 0 B
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewRunScene 44.8 kB 0 B
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewRunsScene 7.32 kB 0 B
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSettingsScene 11.1 kB 0 B
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotHistoryScene 13.9 kB 0 B
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotOverviewScene 19.6 kB 0 B
frontend/dist-report/exporter/_parent/products/workflows/frontend/TemplateLibrary/MessageTemplate 16.6 kB 0 B
frontend/dist-report/exporter/_parent/products/workflows/frontend/Workflows/WorkflowScene 111 kB 0 B
frontend/dist-report/exporter/_parent/products/workflows/frontend/WorkflowsScene 60.2 kB 0 B
frontend/dist-report/exporter/src/exporter/exporter 19.7 kB 0 B
frontend/dist-report/exporter/src/exporter/scenes/ExporterDashboardScene 2.02 kB 0 B
frontend/dist-report/exporter/src/exporter/scenes/ExporterHeatmapScene 19.9 kB 0 B
frontend/dist-report/exporter/src/exporter/scenes/ExporterInsightScene 3.02 kB 0 B
frontend/dist-report/exporter/src/exporter/scenes/ExporterInterviewScene 310 kB 0 B
frontend/dist-report/exporter/src/exporter/scenes/ExporterNotebookScene 2.71 MB 0 B
frontend/dist-report/exporter/src/exporter/scenes/ExporterRecordingScene 1.13 kB 0 B
frontend/dist-report/exporter/src/exporterSharedChunkAnchors 1.19 kB 0 B
frontend/dist-report/exporter/src/lib/components/Cards/TextCard/TextCardMarkdownEditor 11.3 kB 0 B
frontend/dist-report/exporter/src/lib/components/MonacoDiffEditor 471 B 0 B
frontend/dist-report/exporter/src/lib/lemon-ui/LemonMarkdown/MermaidDiagram 2.25 kB 0 B
frontend/dist-report/exporter/src/lib/lemon-ui/LemonTextArea/LemonTextAreaMarkdown 842 B 0 B
frontend/dist-report/exporter/src/lib/lemon-ui/Link/Link 359 B 0 B
frontend/dist-report/exporter/src/lib/monaco/CodeEditorInline 832 B 0 B
frontend/dist-report/exporter/src/lib/monaco/vimMode 211 kB 0 B
frontend/dist-report/exporter/src/lib/ui/Button/ButtonPrimitives 422 B 0 B
frontend/dist-report/exporter/src/queries/nodes/WebVitals/WebVitals 7.52 kB 0 B
frontend/dist-report/exporter/src/queries/nodes/WebVitals/WebVitalsPathBreakdown 4.09 kB 0 B
frontend/dist-report/exporter/src/queries/schema 857 kB 0 B
frontend/dist-report/exporter/src/scenes/approvals/changeRequestsLogic 884 B 0 B
frontend/dist-report/exporter/src/scenes/authentication/passkeyLogic 824 B 0 B
frontend/dist-report/exporter/src/scenes/data-pipelines/event-filtering/EventFilterScene 22.2 kB 0 B
frontend/dist-report/exporter/src/scenes/data-pipelines/TransformationsScene 6.58 kB 0 B
frontend/dist-report/exporter/src/scenes/insights/views/BoxPlot/BoxPlot 5.39 kB 0 B
frontend/dist-report/exporter/src/scenes/insights/views/CalendarHeatMap/CalendarHeatMap 8.84 kB 0 B
frontend/dist-report/exporter/src/scenes/insights/views/RegionMap/RegionMap 29.8 kB 0 B
frontend/dist-report/exporter/src/scenes/insights/views/WorldMap/WorldMap 1.04 MB 0 B
frontend/dist-report/exporter/src/scenes/models/ModelsScene 19 kB 0 B
frontend/dist-report/exporter/src/scenes/models/NodeDetailScene 17 kB 0 B
frontend/dist-report/monaco-editor-worker/src/lib/monaco/workers/monacoEditorWorker 288 kB 0 B
frontend/dist-report/monaco-json-worker/src/lib/monaco/workers/monacoJsonWorker 419 kB 0 B
frontend/dist-report/monaco-typescript-worker/src/lib/monaco/workers/monacoTsWorker 7.02 MB 0 B
frontend/dist-report/posthog-app/_chunks/chunk 8.67 MB +676 B (+0.01%)
frontend/dist-report/posthog-app/_parent/products/actions/frontend/pages/Action 25.1 kB 0 B
frontend/dist-report/posthog-app/_parent/products/actions/frontend/pages/Actions 1.4 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilityScene 120 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilitySessionScene 19.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilityTraceScene 132 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilityUsers 906 B 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/clusters/AIObservabilityClusterScene 21.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/clusters/AIObservabilityClustersScene 55.1 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetScene 21 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetsScene 3.67 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluation 59.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluationsScene 28.2 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/evaluations/EvaluationTemplates 949 B 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/LLMASessionFeedbackDisplay 5.23 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/playground/AIObservabilityPlaygroundScene 37.8 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/prompts/LLMPromptScene 29.2 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/prompts/LLMPromptsScene 4.86 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/skills/LLMSkillScene 963 B 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/skills/LLMSkillsScene 980 B 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/tags/AIObservabilityTag 27.4 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/tags/AIObservabilityTagsScene 7.34 kB 0 B
frontend/dist-report/posthog-app/_parent/products/business_knowledge/frontend/scenes/BusinessKnowledgeScene 19 kB 0 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/Assignee/CyclotronJobInputAssignee 1.71 kB 0 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/SlaBusinessHours/CyclotronJobInputBusinessHours 3.09 kB 0 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/TicketTags/CyclotronJobInputTicketTags 1.09 kB 0 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/settings/SupportSettingsScene 1.85 kB 0 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/ticket/SupportTicketScene 26.6 kB 0 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/tickets/SupportTicketsScene 1.11 kB 0 B
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/CustomerAnalyticsScene 61.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerAnalyticsConfigurationScene/CustomerAnalyticsConfigurationScene 2.68 kB 0 B
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyBuilderScene/CustomerJourneyBuilderScene 2.22 kB 0 B
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyTemplatesScene/CustomerJourneyTemplatesScene 7.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/data_warehouse/DataWarehouseScene 1.81 kB 0 B
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/NewSourceScene/NewSourceScene 1.25 kB 0 B
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SchemaScene/SchemaScene 26.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SourceScene/SourceScene 1.17 kB 0 B
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SourcesScene/SourcesScene 6.34 kB 0 B
frontend/dist-report/posthog-app/_parent/products/early_access_features/frontend/EarlyAccessFeature 1.2 kB 0 B
frontend/dist-report/posthog-app/_parent/products/early_access_features/frontend/EarlyAccessFeatures 3.28 kB 0 B
frontend/dist-report/posthog-app/_parent/products/endpoints/frontend/EndpointScene 40.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/endpoints/frontend/EndpointsScene 22.4 kB 0 B
frontend/dist-report/posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingFingerprintsScene/ErrorTrackingIssueFingerprintsScene 7.51 kB 0 B
frontend/dist-report/posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingIssueScene/ErrorTrackingIssueScene 103 kB 0 B
frontend/dist-report/posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingScene/ErrorTrackingScene 27.3 kB 0 B
frontend/dist-report/posthog-app/_parent/products/feature_flags/frontend/FeatureFlagTemplatesScene 7.42 kB 0 B
frontend/dist-report/posthog-app/_parent/products/games/368Hedgehogs/368Hedgehogs 5.65 kB 0 B
frontend/dist-report/posthog-app/_parent/products/games/FlappyHog/FlappyHog 6.16 kB 0 B
frontend/dist-report/posthog-app/_parent/products/legal_documents/frontend/scenes/LegalDocumentNewScene 60.5 kB 0 B
frontend/dist-report/posthog-app/_parent/products/legal_documents/frontend/scenes/LegalDocumentsScene 5.35 kB 0 B
frontend/dist-report/posthog-app/_parent/products/links/frontend/LinkScene 25.2 kB 0 B
frontend/dist-report/posthog-app/_parent/products/links/frontend/LinksScene 4.58 kB 0 B
frontend/dist-report/posthog-app/_parent/products/live_debugger/frontend/LiveDebugger 19.5 kB 0 B
frontend/dist-report/posthog-app/_parent/products/logs/frontend/LogsScene 17.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsAlertDetailScene/LogsAlertDetailScene 17.3 kB 0 B
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsAlertNotificationDetailScene/LogsAlertNotificationDetailScene 8.53 kB 0 B
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsSamplingDetailScene/LogsSamplingDetailScene 5.34 kB 0 B
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsSamplingNewScene/LogsSamplingNewScene 2.29 kB 0 B
frontend/dist-report/posthog-app/_parent/products/managed_migrations/frontend/ManagedMigration 14.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/mcp_analytics/frontend/MCPAnalyticsScene 40.6 kB 0 B
frontend/dist-report/posthog-app/_parent/products/mcp_analytics/frontend/MCPAnalyticsToolDetail 18.6 kB 0 B
frontend/dist-report/posthog-app/_parent/products/metrics/frontend/MetricsScene 16.2 kB 0 B
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/stickiness/StickinessBarChart/StickinessBarChart 3.34 kB 0 B
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/stickiness/StickinessLineChart/StickinessLineChart 3.18 kB 0 B
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsBarChart/TrendsBarChart 8.17 kB 0 B
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsLifecycleChart/TrendsLifecycleChart 4.45 kB 0 B
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsLineChart/TrendsLineChart 4.64 kB 0 B
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsPieChart/TrendsPieChart 4.38 kB 0 B
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/observations/ReplayObservation 8.68 kB 0 B
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ReplayScanner 36 kB 0 B
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ReplayScannersScene 12.2 kB 0 B
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ScannerTemplatesScene 4.63 kB 0 B
frontend/dist-report/posthog-app/_parent/products/revenue_analytics/frontend/RevenueAnalyticsScene 26.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/session_summaries/frontend/SessionGroupSummariesTable 5.09 kB 0 B
frontend/dist-report/posthog-app/_parent/products/session_summaries/frontend/SessionGroupSummaryScene 19.3 kB 0 B
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/SlackTaskContextScene 8.91 kB 0 B
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/TaskDetailScene 23.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/TaskTracker 14.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/tracing/frontend/TracingScene 67.3 kB 0 B
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterview 9.41 kB 0 B
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterviewResponse 7.83 kB 0 B
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterviews 6.12 kB 0 B
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewIndexScene 2.59 kB 0 B
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewRunScene 44.8 kB 0 B
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewRunsScene 7.36 kB 0 B
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSettingsScene 11.1 kB 0 B
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotHistoryScene 13.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotOverviewScene 19.6 kB 0 B
frontend/dist-report/posthog-app/_parent/products/workflows/frontend/TemplateLibrary/MessageTemplate 16.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/workflows/frontend/Workflows/WorkflowScene 104 kB 0 B
frontend/dist-report/posthog-app/_parent/products/workflows/frontend/WorkflowsScene 60.3 kB 0 B
frontend/dist-report/posthog-app/src/index 61.1 kB 0 B
frontend/dist-report/posthog-app/src/layout/panel-layout/ai-first/tabs/NavTabChat 7.26 kB 0 B
frontend/dist-report/posthog-app/src/lib/components/Cards/TextCard/TextCardMarkdownEditor 11.3 kB 0 B
frontend/dist-report/posthog-app/src/lib/components/MonacoDiffEditor 471 B 0 B
frontend/dist-report/posthog-app/src/lib/lemon-ui/LemonMarkdown/MermaidDiagram 2.29 kB 0 B
frontend/dist-report/posthog-app/src/lib/lemon-ui/LemonTextArea/LemonTextAreaMarkdown 876 B 0 B
frontend/dist-report/posthog-app/src/lib/lemon-ui/Link/Link 359 B 0 B
frontend/dist-report/posthog-app/src/lib/monaco/CodeEditorInline 866 B 0 B
frontend/dist-report/posthog-app/src/lib/monaco/vimMode 211 kB 0 B
frontend/dist-report/posthog-app/src/lib/ui/Button/ButtonPrimitives 426 B 0 B
frontend/dist-report/posthog-app/src/queries/nodes/WebVitals/WebVitals 7.55 kB 0 B
frontend/dist-report/posthog-app/src/queries/nodes/WebVitals/WebVitalsPathBreakdown 4.12 kB 0 B
frontend/dist-report/posthog-app/src/queries/schema 857 kB 0 B
frontend/dist-report/posthog-app/src/scenes/activity/explore/EventsScene 3.32 kB 0 B
frontend/dist-report/posthog-app/src/scenes/activity/explore/SessionsScene 4.72 kB 0 B
frontend/dist-report/posthog-app/src/scenes/activity/live/LiveEventsTable 5.62 kB 0 B
frontend/dist-report/posthog-app/src/scenes/agentic/AgenticAuthorize 5.87 kB 0 B
frontend/dist-report/posthog-app/src/scenes/approvals/ApprovalDetail 16.6 kB 0 B
frontend/dist-report/posthog-app/src/scenes/approvals/changeRequestsLogic 918 B 0 B
frontend/dist-report/posthog-app/src/scenes/audit-logs/AdvancedActivityLogsScene 42.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/AuthenticatedShell 173 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/AccountConnected 3.36 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/AgenticAccountMismatch 2.77 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/CLIAuthorize 11.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/CLILive 4.4 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/credential-review/CredentialReview 3.98 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/EmailMFAVerify 3.4 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/InviteSignup 15.4 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/Login 10.2 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/Login2FA 5.11 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/passkeyLogic 858 B 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/PasswordReset 4.74 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/PasswordResetComplete 3.38 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/signup/SignupContainer 28.6 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/signup/verify-email/VerifyEmail 5.16 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/TwoFactorReset 4.41 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/VercelConnect 5.37 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/VercelLinkError 2.64 kB 0 B
frontend/dist-report/posthog-app/src/scenes/billing/AuthorizationStatus 1.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/billing/Billing 867 B 0 B
frontend/dist-report/posthog-app/src/scenes/billing/BillingSection 21.2 kB 0 B
frontend/dist-report/posthog-app/src/scenes/cohorts/Cohort 28.4 kB 0 B
frontend/dist-report/posthog-app/src/scenes/cohorts/CohortCalculationHistory 6.61 kB 0 B
frontend/dist-report/posthog-app/src/scenes/cohorts/Cohorts 9.81 kB 0 B
frontend/dist-report/posthog-app/src/scenes/coupons/Coupons 1.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/dashboard/Dashboard 1.68 kB 0 B
frontend/dist-report/posthog-app/src/scenes/dashboard/dashboards/Dashboards 19.9 kB 0 B
frontend/dist-report/posthog-app/src/scenes/dashboard/dashboards/templates/DashboardTemplateCopyScene 6.09 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-management/DataManagementScene 1.02 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-management/definition/DefinitionEdit 17.3 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-management/definition/DefinitionView 24.4 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-management/MaterializedColumns/MaterializedColumns 12 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-management/variables/SqlVariableEditScene 7.63 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/batch-exports/BatchExportScene 61 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/DataPipelinesNewScene 2.76 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/DestinationsScene 3.13 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/event-filtering/EventFilterScene 22.3 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/legacy-plugins/LegacyPluginScene 21 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/TransformationsScene 2.37 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/WebScriptsScene 2.99 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-warehouse/DataWarehouseScene 1.75 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-warehouse/editor/EditorScene 1.52 kB 0 B
frontend/dist-report/posthog-app/src/scenes/debug/DebugScene 20.3 kB 0 B
frontend/dist-report/posthog-app/src/scenes/debug/hog/HogRepl 7.75 kB 0 B
frontend/dist-report/posthog-app/src/scenes/experiments/Experiment 208 kB 0 B
frontend/dist-report/posthog-app/src/scenes/experiments/Experiments 20.9 kB 0 B
frontend/dist-report/posthog-app/src/scenes/experiments/SharedMetrics/SharedMetric 6.45 kB 0 B
frontend/dist-report/posthog-app/src/scenes/experiments/SharedMetrics/SharedMetrics 923 B 0 B
frontend/dist-report/posthog-app/src/scenes/exports/ExportsScene 4.45 kB 0 B
frontend/dist-report/posthog-app/src/scenes/feature-flags/FeatureFlag 144 kB 0 B
frontend/dist-report/posthog-app/src/scenes/feature-flags/FeatureFlags 1.12 kB 0 B
frontend/dist-report/posthog-app/src/scenes/groups/Group 15.6 kB 0 B
frontend/dist-report/posthog-app/src/scenes/groups/Groups 4.29 kB 0 B
frontend/dist-report/posthog-app/src/scenes/groups/GroupsNew 7.73 kB 0 B
frontend/dist-report/posthog-app/src/scenes/health-alerts/HealthAlertsScene 4.17 kB 0 B
frontend/dist-report/posthog-app/src/scenes/health/categoryDetail/HealthCategoryDetailScene 7.64 kB 0 B
frontend/dist-report/posthog-app/src/scenes/health/HealthScene 12.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/health/pipelineStatus/PipelineStatusScene 11.5 kB 0 B
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapNewScene 5.41 kB 0 B
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapRecordingScene 4.31 kB 0 B
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapScene 6.94 kB 0 B
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmaps/HeatmapsScene 4.27 kB 0 B
frontend/dist-report/posthog-app/src/scenes/hog-functions/HogFunctionScene 55.3 kB 0 B
frontend/dist-report/posthog-app/src/scenes/inbox/InboxScene 63.4 kB 0 B
frontend/dist-report/posthog-app/src/scenes/insights/InsightQuickStart/InsightQuickStart 5.81 kB 0 B
frontend/dist-report/posthog-app/src/scenes/insights/InsightScene 34.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/insights/views/BoxPlot/BoxPlot 5.43 kB 0 B
frontend/dist-report/posthog-app/src/scenes/insights/views/CalendarHeatMap/CalendarHeatMap 4.87 kB 0 B
frontend/dist-report/posthog-app/src/scenes/insights/views/RegionMap/RegionMap 29.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/insights/views/WorldMap/WorldMap 5.16 kB 0 B
frontend/dist-report/posthog-app/src/scenes/instance/AsyncMigrations/AsyncMigrations 13.5 kB 0 B
frontend/dist-report/posthog-app/src/scenes/instance/DeadLetterQueue/DeadLetterQueue 5.77 kB 0 B
frontend/dist-report/posthog-app/src/scenes/instance/QueryPerformance/QueryPerformance 9 kB 0 B
frontend/dist-report/posthog-app/src/scenes/instance/SystemStatus/SystemStatus 17.4 kB 0 B
frontend/dist-report/posthog-app/src/scenes/IntegrationsRedirect/IntegrationsRedirect 1.11 kB 0 B
frontend/dist-report/posthog-app/src/scenes/marketing-analytics/MarketingAnalyticsScene 42.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/max/Max 1.06 kB 0 B
frontend/dist-report/posthog-app/src/scenes/models/ModelsScene 19.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/models/NodeDetailScene 17.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/moveToPostHogCloud/MoveToPostHogCloud 4.84 kB 0 B
frontend/dist-report/posthog-app/src/scenes/new-tab/NewTabScene 1.85 kB 0 B
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookCanvasScene 3.96 kB 0 B
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookPanel/NotebookPanel 6.01 kB 0 B
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookScene 9.33 kB 0 B
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebooksScene 7.98 kB 0 B
frontend/dist-report/posthog-app/src/scenes/oauth/OAuthAuthorize 1.01 kB 0 B
frontend/dist-report/posthog-app/src/scenes/onboarding/coupon/OnboardingCouponRedemption 1.58 kB 0 B
frontend/dist-report/posthog-app/src/scenes/onboarding/Onboarding 792 kB 0 B
frontend/dist-report/posthog-app/src/scenes/onboarding/sdks/SdkDoctorScene 10.2 kB 0 B
frontend/dist-report/posthog-app/src/scenes/organization/ConfirmOrganization/ConfirmOrganization 4.91 kB 0 B
frontend/dist-report/posthog-app/src/scenes/organization/Create/Create 1.03 kB 0 B
frontend/dist-report/posthog-app/src/scenes/organization/Deactivated 1.51 kB 0 B
frontend/dist-report/posthog-app/src/scenes/organization/PendingDeletion 2.48 kB 0 B
frontend/dist-report/posthog-app/src/scenes/persons/PersonScene 20.3 kB +29 B (+0.14%)
frontend/dist-report/posthog-app/src/scenes/persons/PersonsScene 6.12 kB 0 B
frontend/dist-report/posthog-app/src/scenes/PreflightCheck/PreflightCheck 5.95 kB 0 B
frontend/dist-report/posthog-app/src/scenes/product-tours/ProductTour 275 kB 0 B
frontend/dist-report/posthog-app/src/scenes/product-tours/ProductTours 5.06 kB 0 B
frontend/dist-report/posthog-app/src/scenes/project-homepage/ProjectHomepage 19.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/project/Create/Create 1.21 kB 0 B
frontend/dist-report/posthog-app/src/scenes/resource-transfer/ResourceTransfer 9.56 kB 0 B
frontend/dist-report/posthog-app/src/scenes/saved-insights/SavedInsights 1.04 kB 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/detail/SessionRecordingDetail 2.14 kB 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/file-playback/SessionRecordingFilePlaybackScene 4.85 kB 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/kiosk/SessionRecordingsKiosk 10.3 kB 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/player/snapshot-processing/DecompressionWorkerManager 329 B 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/playlist/SessionRecordingsPlaylistScene 5.49 kB 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/SessionRecordings 1.15 kB 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/settings/SessionRecordingsSettingsScene 2.35 kB 0 B
frontend/dist-report/posthog-app/src/scenes/sessions/SessionProfileScene 15.6 kB 0 B
frontend/dist-report/posthog-app/src/scenes/settings/SettingsScene 3.94 kB 0 B
frontend/dist-report/posthog-app/src/scenes/sites/Site 1.9 kB 0 B
frontend/dist-report/posthog-app/src/scenes/startups/StartupProgram 21.6 kB 0 B
frontend/dist-report/posthog-app/src/scenes/StripeConfirmInstall/StripeConfirmInstall 3.92 kB 0 B
frontend/dist-report/posthog-app/src/scenes/subscriptions/SubscriptionScene 14.4 kB 0 B
frontend/dist-report/posthog-app/src/scenes/subscriptions/SubscriptionsScene 5.23 kB 0 B
frontend/dist-report/posthog-app/src/scenes/surveys/forms/SurveyFormBuilder 1.93 kB 0 B
frontend/dist-report/posthog-app/src/scenes/surveys/Survey 1.39 kB 0 B
frontend/dist-report/posthog-app/src/scenes/surveys/Surveys 26.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/surveys/wizard/SurveyWizard 72.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/themes/CustomCssScene 3.94 kB 0 B
frontend/dist-report/posthog-app/src/scenes/toolbar-launch/ToolbarLaunch 2.85 kB 0 B
frontend/dist-report/posthog-app/src/scenes/Unsubscribe/Unsubscribe 2.04 kB 0 B
frontend/dist-report/posthog-app/src/scenes/web-analytics/SessionAttributionExplorer/SessionAttributionExplorerScene 7.01 kB 0 B
frontend/dist-report/posthog-app/src/scenes/web-analytics/WebAnalyticsScene 14.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/wizard/Wizard 4.83 kB 0 B
frontend/dist-report/posthog-app/src/sharedChunkAnchors 1.19 kB 0 B
frontend/dist-report/render-query/src/render-query/render-query 27.4 MB +684 B (0%)
frontend/dist-report/toolbar/src/toolbar/toolbar 15.7 MB +685 B (0%)

compressed-size-action

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 3, 2026

Migration SQL Changes

Hey 👋, we've detected some migrations on this PR. Here's the SQL output for each migration, make sure they make sense:

products/logs/backend/migrations/0015_teamlogsconfig_attribute_keys.py

BEGIN;
--
-- Add field logs_distinct_id_attribute_keys to teamlogsconfig
--
ALTER TABLE "logs_teamlogsconfig" ADD COLUMN "logs_distinct_id_attribute_keys" varchar(200)[] DEFAULT '{}' NOT NULL;
ALTER TABLE "logs_teamlogsconfig" ALTER COLUMN "logs_distinct_id_attribute_keys" DROP DEFAULT;
--
-- Raw Python operation
--
-- THIS OPERATION CANNOT BE WRITTEN AS SQL
--
-- Remove field logs_distinct_id_attribute_key from teamlogsconfig
--
ALTER TABLE "logs_teamlogsconfig" DROP COLUMN "logs_distinct_id_attribute_key" CASCADE;
COMMIT;

Last updated: 2026-06-03 00:55 UTC (673a267)

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 3, 2026

🔍 Migration Risk Analysis

We've analyzed your migrations for potential risks.

Summary: 0 Safe | 0 Needs Review | 1 Blocked

❌ Blocked

Causes locks or breaks compatibility

logs.0015_teamlogsconfig_attribute_keys
  │  └─ #1 ⚠️ AddField
  │     Adding NOT NULL field with callable default (list) - verify it's stable
  │     model: teamlogsconfig, field: logs_distinct_id_attribute_keys, default: list
  │  └─ #2 ⚠️ RunPython: RunPython data migration needs review for performance
  │  └─ #3 ❌ RemoveField
  │     Dropping column breaks backwards compatibility and can't rollback
  │     model: teamlogsconfig, field: logs_distinct_id_attribute_key
  │
  └──> �[91m⚠️  COMBINATION RISKS:�[0m
       ❌ BLOCKED: #2 RunPython + #1 AddField, #3 RemoveField
       RunPython data migration combined with schema changes. Data
       migrations can hold locks during execution, especially on large
       tables. Split into separate migrations: 1) schema changes, 2)
       data migration.

📚 How to Deploy These Changes Safely

RemoveField:

Multi-phase column drop:

  1. Remove field from Django model (keeps column in DB)
  2. Wait at least one full deployment cycle
  3. Optionally drop column with RemoveField

See the migration safety guide

RunPython:

Use batching for large data migrations:

  • Use .iterator() to avoid loading all rows into memory
  • Use .bulk_update() instead of saving individual objects
  • Batch size: 1,000-10,000 rows per batch
  • Add pauses between batches
  • Consider background jobs for very large updates (millions of rows)

See the migration safety guide

Last updated: 2026-06-03 00:55 UTC (673a267)

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.

1 participant