Skip to content

feat(data-warehouse): fail webhook source runs on persistent delivery errors#61195

Open
Gilbert09 wants to merge 13 commits into
masterfrom
tom/warehouse-webhook-delivery-feedback
Open

feat(data-warehouse): fail webhook source runs on persistent delivery errors#61195
Gilbert09 wants to merge 13 commits into
masterfrom
tom/warehouse-webhook-delivery-feedback

Conversation

@Gilbert09

Copy link
Copy Markdown
Member

Problem

Data warehouse webhook sources (e.g. Stripe) ingest via a hog function endpoint: an external service POSTs to the endpoint, the hog function validates it (signature / signing-secret check) and, on success, funnels the payload through Kafka to S3 for the import pipeline to load.

When the signing secret is wrong, the hog function returns an HTTP 4xx (e.g. 400 Bad signature) straight back to the sender. No data lands in S3, so the scheduled import pipeline keeps running, reads 0 rows, and completes "successfully" with 0 rows synced. There is no feedback path from the Node.js hog-function rejection back to the Python pipeline, so the user is never told their secret is broken — the source just quietly imports nothing.

Changes

Adds a feedback loop so persistent, human-actionable webhook delivery failures fail the run with a meaningful, non-retryable error (which the existing machinery surfaces in the UI and uses to disable the schema).

  • ClickHouse — new warehouse_webhook_delivery_status table family (data + Kafka engine + MV + distributed alias) on the AUX cluster via the warpstream-cyclotron named collection, mirroring hog_invocation_results. ClickHouse auto-ingests from Kafka, so there is no new consumer process. The sort key (team_id, source_id, schema_id, timestamp) keeps the per-source windowed read a small range scan; rows TTL after 7 days.
  • Node (CDP) — a new WarehouseWebhookStatusService derives a delivery outcome (team_id, source_id, schema_id, http_status, ok, reason, timestamp) from each warehouse_source_webhook invocation's HTTP response and produces it to a new Kafka topic. It is wired into the existing InvocationResultsService composite, so it receives and flushes alongside the other result sinks with no change to the webhook request path. Steady-state successes are throttled per source; failures and the first success after a failure (the recovery transition) are never throttled.
  • Python (import pipeline)WebhookSourceManager now queries recent delivery outcomes before reading S3 and raises a NonRetryableException when deliveries are persistently failing (≥3 consecutive 400/401/403 with no success since). 404, 429 and 5xx are excluded — they aren't user-actionable signing-secret problems. The lookback window is derived from the schema's own sync_frequency_interval plus a buffer (the schedule jitter is a one-time start-time offset, so inter-run spacing stays ~one interval). The raised error phrase is registered in Any_Source_Errors, so the existing workflow logic disables the schema and stores a friendly latest_error. Recovery is the standard manual re-enable, identical to every other non-retryable error.

Granularity note: a bad signing secret is rejected before per-event schema mapping, so those outcomes carry an empty schema_id (source-level); the per-schema pipeline check matches both its own schema's rows and source-level rows.

How did you test this code?

I'm an agent (Claude Code). I wrote and ran the following automated tests locally; I did not perform manual end-to-end testing against a live Stripe webhook.

  • Node (jest): new warehouse-webhook-status.service.test.ts covering record derivation (string/object reason, truncation, 2xx/4xx/5xx, missing source_id, non-warehouse functions, queued/no-response), per-source success throttling, the recovery transition, and flush/error-swallowing; plus updates to invocation-results.service.test.ts for the new sub-service. tsc + eslint clean.
  • Python (pytest): new test_webhook_source_manager.py — parameterized classification logic (threshold, recovery, transient 5xx/429/404 exclusion, reason fallback), lookback-window math, the raise / no-raise paths, that get_items short-circuits before reading S3, and a drift guard that the raised phrase stays registered in Any_Source_Errors. ruff clean.
  • ClickHouse schema snapshot test regenerated for the new tables.

cdp-source-webhooks.consumer.test.ts is an integration test requiring the running stack and was not executed in my sandbox (no Postgres) — worth a run in CI.

Automatic notifications

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

🤖 Agent context

Authored with Claude Code. Planning explored both sides of the boundary (CDP hog-function webhook handling in Node, the temporal import pipeline in Python) and settled the key design fork — how the failure signal travels from Node back to the pipeline — on ClickHouse auto-ingest over a Postgres-via-consumer approach (avoids a new k8s pod; the per-source windowed query is cheap with the right sort key) and over reusing hog-function monitoring data (which would conflate deliberate 4xx rejections with hog runtime failures and risk the hog-watcher auto-disabling the function).

Notable decisions: hooking the new service into the InvocationResultsService composite rather than the HTTP handler (the result already carries the function type, inputs and HTTP response, so no request-path change); keying outcomes at source level with an optional schema id because signature failures happen before schema mapping; and deriving the lookback window from the schema's sync cadence after confirming the schedule jitter is a one-time offset, not per-run.

@Gilbert09 Gilbert09 requested a review from a team as a code owner June 2, 2026 16:39
@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Hey @Gilbert09! 👋

It looks like your git author email on this PR isn't your @posthog.com address (owerstom@gmail.com). Since you're on the PostHog team, it's worth pointing your local git author email at your @posthog.com address. Why it matters:

  • Consistent work identity in git history — internal tooling that attributes commits to team members keys off your @posthog.com address.
  • Keeps team contributions easy to tell apart from external community ones when scanning history.

You can fix it for this repo with:

git config user.email "you@posthog.com"

Or set it globally with git config --global user.email "you@posthog.com". No need to redo this PR — just a nudge for next time. 🙂

@Gilbert09 Gilbert09 requested review from a team June 2, 2026 16:39
@greptile-apps

greptile-apps Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor
Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
posthog/temporal/data_imports/sources/common/webhook_s3.py:124
The ClickHouse query is wrapped with plain `asgiref.sync_to_async`, which defaults to `thread_sensitive=True`. In a Temporal activity context, this serialises every concurrent call to `sync_execute` through a single shared thread — exactly the bottleneck that `database_sync_to_async_pool` was introduced to avoid. The file already imports `database_sync_to_async_pool` and uses it correctly for the Django ORM fetch a few lines above. Using bare `sync_to_async` here is inconsistent and, under concurrent activity workers, would cause calls to queue behind each other rather than run in parallel.

```suggestion
        rows = await database_sync_to_async_pool(sync_execute)(
```

Reviews (1): Last reviewed commit: "feat(data-warehouse): fail webhook sourc..." | Re-trigger Greptile

Comment thread posthog/temporal/data_imports/sources/common/webhook_s3.py Outdated
@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

ClickHouse migration SQL per cloud environment

  • unset
    • all
      CREATE TABLE IF NOT EXISTS warehouse_webhook_delivery_status_data
      (
          team_id Int64,
          source_id String,
          schema_id String,
          http_status UInt16,
          ok UInt8,
          reason String,
          timestamp DateTime64(6, 'UTC')
        
      , _timestamp DateTime
      , _offset UInt64
      , _partition UInt64
      
      )
      ENGINE = ReplicatedMergeTree('/clickhouse/tables/noshard/posthog.warehouse_webhook_delivery_status_data', '{replica}-{shard}')
      PARTITION BY toYYYYMMDD(timestamp)
      ORDER BY (team_id, source_id, schema_id, timestamp)
      TTL toDate(timestamp) + INTERVAL 7 DAY
      CREATE TABLE IF NOT EXISTS kafka_warehouse_webhook_delivery_status
      (
          team_id Int64,
          source_id String,
          schema_id String,
          http_status UInt16,
          ok UInt8,
          reason String,
          timestamp DateTime64(6, 'UTC')
      )
      ENGINE = Kafka(warpstream_cyclotron, kafka_topic_list = 'clickhouse_warehouse_webhook_delivery_status_test', kafka_group_name = 'clickhouse_warehouse_webhook_delivery_status', kafka_format = 'JSONEachRow')
      SETTINGS kafka_skip_broken_messages = 100
      CREATE MATERIALIZED VIEW IF NOT EXISTS warehouse_webhook_delivery_status_mv
      TO warehouse_webhook_delivery_status_data
      AS SELECT
          team_id,
          source_id,
          schema_id,
          http_status,
          ok,
          reason,
          timestamp,
          _timestamp,
          _offset,
          _partition
      FROM kafka_warehouse_webhook_delivery_status
      CREATE TABLE IF NOT EXISTS warehouse_webhook_delivery_status
      (
          team_id Int64,
          source_id String,
          schema_id String,
          http_status UInt16,
          ok UInt8,
          reason String,
          timestamp DateTime64(6, 'UTC')
        
      , _timestamp DateTime
      , _offset UInt64
      , _partition UInt64
      
      )
      ENGINE = Distributed('aux', 'posthog_test', 'warehouse_webhook_delivery_status_data')
  • US, EU, DEV
    • aux
      CREATE TABLE IF NOT EXISTS warehouse_webhook_delivery_status_data
      (
          team_id Int64,
          source_id String,
          schema_id String,
          http_status UInt16,
          ok UInt8,
          reason String,
          timestamp DateTime64(6, 'UTC')
        
      , _timestamp DateTime
      , _offset UInt64
      , _partition UInt64
      
      )
      ENGINE = ReplicatedMergeTree('/clickhouse/tables/noshard/posthog.warehouse_webhook_delivery_status_data', '{replica}-{shard}')
      PARTITION BY toYYYYMMDD(timestamp)
      ORDER BY (team_id, source_id, schema_id, timestamp)
      TTL toDate(timestamp) + INTERVAL 7 DAY
      CREATE TABLE IF NOT EXISTS kafka_warehouse_webhook_delivery_status
      (
          team_id Int64,
          source_id String,
          schema_id String,
          http_status UInt16,
          ok UInt8,
          reason String,
          timestamp DateTime64(6, 'UTC')
      )
      ENGINE = Kafka(warpstream_cyclotron, kafka_topic_list = 'clickhouse_warehouse_webhook_delivery_status_test', kafka_group_name = 'clickhouse_warehouse_webhook_delivery_status', kafka_format = 'JSONEachRow')
      SETTINGS kafka_skip_broken_messages = 100
      CREATE MATERIALIZED VIEW IF NOT EXISTS warehouse_webhook_delivery_status_mv
      TO warehouse_webhook_delivery_status_data
      AS SELECT
          team_id,
          source_id,
          schema_id,
          http_status,
          ok,
          reason,
          timestamp,
          _timestamp,
          _offset,
          _partition
      FROM kafka_warehouse_webhook_delivery_status
    • aux, data
      CREATE TABLE IF NOT EXISTS warehouse_webhook_delivery_status
      (
          team_id Int64,
          source_id String,
          schema_id String,
          http_status UInt16,
          ok UInt8,
          reason String,
          timestamp DateTime64(6, 'UTC')
        
      , _timestamp DateTime
      , _offset UInt64
      , _partition UInt64
      
      )
      ENGINE = Distributed('aux', 'posthog_test', 'warehouse_webhook_delivery_status_data')

@veria-ai

veria-ai Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

PR overview

All previously flagged issues have been addressed. No open security concerns remain on this pull request.

Security review

No open security issues remain on this pull request.

Fixed/addressed: 6 · PR risk: 0/10

@Gilbert09 Gilbert09 added the skip-migration-service-check Author attests every migration in this PR is DB-noop and safe to ship alongside service code label Jun 3, 2026 — with PostHog

Copy link
Copy Markdown
Member Author

Applied the skip-migration-service-check label.

This PR pairs a ClickHouse migration (the warehouse_webhook_delivery_status table family) with nodejs CDP changes, which the path-only separation check flags. In this case the two ship safely together regardless of deploy order:

  • The nodejs change only produces delivery-status records to a new Kafka topic; it never reads the new ClickHouse schema. Produce failures are caught (.catch in WarehouseWebhookStatusService.flush), so if the service deploys before the migration the records simply aren't persisted yet — no crash, no broken service.
  • The consuming side (Kafka-engine table + MV) is created by the migration; once it exists it begins consuming. The only effect of service-before-migration is that a few early records may be dropped, which is harmless for this signal.

So there's no service-depends-on-unmigrated-schema hazard here — the check is a path-only false positive. (The label's docs frame it for DB-noop migrations; flagging the reasoning explicitly since this one does create tables.)

@Gilbert09 Gilbert09 requested a review from a team as a code owner June 3, 2026 11:27
@assign-reviewers-posthog assign-reviewers-posthog Bot requested a review from a team June 3, 2026 11:27

@mendral-app mendral-app 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.

Supply Chain Security Review

⚠️ Review recommended — 3 findings in 1 file

⚠️ Dockerfile.recording-rasterizer — floating base image and dependency tags trade reproducibility for freshness

The Dockerfile intentionally moves from pinned versions to floating tags (node:24-bookworm-slim, chrome-headless-shell@stable, unpinned ffmpeg) paired with a weekly scheduled rebuild via DEPS_CACHE_BUST. This is a documented trade-off: weekly rebuilds auto-ingest security patches, but any individual build is no longer bit-for-bit reproducible and could pull a compromised upstream artifact without notice.

The mitigation (scheduled rebuild + cache-bust) is reasonable, but consider adding digest pinning for the base image and rotating it via Renovate/Dependabot to get both reproducibility and freshness.

Tag @mendral-app with feedback or questions. View session

Comment thread Dockerfile.recording-rasterizer
Comment thread Dockerfile.recording-rasterizer
Comment thread Dockerfile.recording-rasterizer
@Gilbert09 Gilbert09 removed the request for review from a team June 3, 2026 11:57

Copy link
Copy Markdown
Contributor

Review: PR #61195 — feat(data-warehouse): fail webhook source runs on persistent delivery errors

Goal achieved: partial — the feedback loop is built end-to-end and works for the high-volume case, but recovery after fixing a secret is fragile for low-volume sources (see findings).
Undisclosed side effects: get_items() now issues a Postgres query (ExternalDataSchema.objects.get) + a ClickHouse query on every webhook-source run before reading S3. Cheap and fail-open, but not called out in the description as an added per-run dependency on ClickHouse availability.

Findings

  • [should-fix] posthog/temporal/data_imports/sources/common/webhook_s3.py (_persistent_webhook_failure_reason) — the failure signal is a time-windowed read of historical ClickHouse rows with no "since last re-enable / since last run" anchor. After a non-retryable failure disables the schema, the user fixes the signing secret and manually re-enables. If no fresh webhook delivery lands before the next run (low-volume source, or a "Sync now" click), get_items() reads the same stale ≥3 failures still inside the lookback window (which is ~1 interval, up to >1 day for daily syncs) and re-disables the schema immediately — there's no success row yet to break the streak. This contradicts the PR's claim that "recovery is the standard manual re-enable, identical to every other non-retryable error" (other non-retryable errors clear the moment the config is fixed; this one does not). Fix: anchor the failure count to deliveries newer than the run/re-enable start time (or the last successful job), or ignore failure rows older than the last schema status change, so re-enabling can't be re-tripped by pre-fix history.

  • [should-fix] nodejs/src/cdp/services/warehouse/warehouse-webhook-status.service.ts (shouldEmit) — successes are throttled to one row per source per 60s precisely to avoid "a row per delivery," but failures are never throttled. A persistently-failing high-volume source (e.g. an aggressively-retrying sender) writes one ClickHouse row per rejected delivery, unbounded for the duration of the outage. Detection only needs the threshold of 3 within the window, so this is pure write amplification. Fix: apply a similar per-source throttle to failures (keep the failing→recovery transition responsive but cap steady-state failure rows, e.g. one per source per window), since the pipeline never needs more than a handful.

  • [nit] posthog/models/warehouse_webhook_delivery_status/sql.pyTRUNCATE_…, INSERT_…, DROP_…_MV_SQL, DROP_KAFKA_…_TABLE_SQL are defined but unused anywhere in the diff or repo. The INSERT_… comment claims it's "used by tests," but no test references it (the tests patch sync_execute / use parameterized rows). This partly mirrors the hog_invocation_results convention (whose TRUNCATE/DROP_MV are at least referenced), so it's not clearly wrong — but either wire them up or drop the misleading "used by tests" comment.

  • [nit] nodejs/src/cdp/services/warehouse/warehouse-webhook-status.service.ts (deriveRecord, http-response extraction) — the nested result.execResult && typeof … === 'object' && 'httpResponse' in … && (…).httpResponse && typeof (…).httpResponse === 'object' chain with repeated casts is hard to read. Extract a small getHttpResponse(result): {status?, body} | undefined helper to flatten the type-narrowing.

  • [nit] nodejs/src/cdp/services/warehouse/warehouse-webhook-status.service.ts (lastEmitBySource) — the throttle map is keyed by source_id and never evicted, so it grows for the process lifetime with every distinct source seen. Entries are tiny so it's not a real OOM, but a periodic prune of entries older than OK_THROTTLE_MS would bound it.

  • [nit] posthog/temporal/data_imports/external_data_job.py (Any_Source_Errors entry) vs webhook_s3.py (raised exception message) — two separate user-facing "check your signing secret / re-enable" strings say nearly the same thing with different wording. Mildly DRY-violating and risks divergence; consider sourcing one from the other or a shared constant.

Verdict

Solid, well-scoped change with genuinely thorough tests on both sides of the boundary and a sensible fail-open design. The one thing I'd want addressed before merge is the re-enable-with-stale-failures behavior — for a low-volume source it can make the source un-recoverable until the failure rows age out of the window, which undercuts the stated recovery story. The unthrottled failure writes are the other worth-fixing item (cost/write-amplification, and trivially fixable given a success throttle already exists). Everything else is nit-level.

@Gilbert09 Gilbert09 force-pushed the tom/warehouse-webhook-delivery-feedback branch from a047ec2 to c3c5747 Compare June 11, 2026 10:04

Copy link
Copy Markdown
Member Author

Thanks for the thorough review @danielcarletti — going through each finding:

[should-fix] re-enable with stale failures — Valid edge case for low-volume sources: after a non-retryable disable, if the user fixes the secret and re-enables but no fresh delivery lands before the next run, the stale ≥3 failures can still sit inside the lookback window (interval + buffer) and re-trip the disable. High-volume sources self-heal (a new success/failure row lands immediately); sparse sources don't. Picking the right anchor (last successful job vs. a re-enable timestamp vs. an explicit "cleared at" marker) is a product/data-model decision I'd rather leave to the author rather than change unilaterally, so flagging it here as a follow-up rather than reworking the detection logic in this pass.

[should-fix] failures never throttled — This is intentional and explicitly tested ('never throttles failures' in warehouse-webhook-status.service.test.ts). The design keeps the failing→healthy and healthy→failing transitions responsive, and steady-state failure rows are bounded by the 7-day TTL on the table. The write-amplification point is fair, but throttling failures would contradict a deliberately-asserted behavior, so leaving as-is for the author to weigh.

[nit] unused SQL constants / misleading "used by tests" comment — Addressed: corrected the comment so it no longer claims test usage (the tests exercise _classify_webhook_failure with in-memory rows and patch _persistent_webhook_failure_reason, never the INSERT SQL). Kept the DROP/TRUNCATE/INSERT helpers for parity with the hog_invocation_results table family they mirror.

[nit] deriveRecord http-response extraction — Noted; a getHttpResponse helper would read better. Leaving the existing (behaviour-correct) narrowing in place to keep this pass minimal.

[nit] lastEmitBySource never evicted — Noted; entries are tiny and bounded by the distinct-source count, so not a real concern, but a periodic prune older than OK_THROTTLE_MS would bound it.

[nit] duplicate user-facing strings — Noted; the Any_Source_Errors entry and the raised exception message could share a constant to avoid drift.

Copy link
Copy Markdown
Member Author

Rebase + CI status (automated)

Resolved the merge conflict with master and brought the branch up to date. The conflict was in two files, both resolved preserving intent:

  • posthog/clickhouse/migrations/0269_… renumbered to 0274_warehouse_webhook_delivery_status (master had advanced the migration sequence), with max_migration.txt updated to match.
  • posthog/clickhouse/test/__snapshots__/test_schema.ambr — kept both sides' new table snapshots in alphabetical order (warehouse_* before web_*).

Backend CI is green (migration topology + schema snapshot + everything else passes).

The only remaining red checks are two pre-existing master-wide failures, both unrelated to this PR (this branch touches neither file), and both currently red on master itself:

  1. test_setup_receivers_match_baseline — fixed on master by fix(devex): drop deleted task unfile receivers from setup baseline #62903; merged in here. ✅
  2. geoip.template / posthog-plugin-geoip inline-snapshot tests — MaxMind updated GeoLite2-City so a test IP's postal code changed (4419944192). The committed inline snapshots are stale on master. This is the team's recurring GeoIP-snapshot chore (cf. fix(tests): update GeoIP snapshots for new MaxMind DB postal code #62822, fix(tests): update GeoIP snapshots for new MaxMind DB postal code #54238, fix(test): update GeoIP snapshots #50603) and will clear once master's snapshots are refreshed; I'll merge that fix in and re-verify rather than pull an unrelated geoip-test change into this PR.

Will keep the branch updated as master's geoip fix lands.

Copy link
Copy Markdown
Member Author

Update — sole blocker is a repo-wide GeoIP snapshot race on master

This PR is otherwise complete: conflict resolved, branch mergeable with no leaks, all review threads resolved, and all PR-specific CI is green (Backend CI incl. the migration topology + test_schema snapshot pass). The receivers-baseline master breakage was fixed by #62903 and merged in.

The only remaining red checks are the geoip inline-snapshot tests (geoip.template, posthog-plugin-geoip, hog-transformer geoip lookup) — a repo-wide flake currently red on master itself, not caused by this branch (it touches no geoip code):

A separate session-recording/consumer.e2e.test.ts flake also appeared on one rerun — likewise unrelated and known-flaky.

@Gilbert09 Gilbert09 force-pushed the tom/warehouse-webhook-delivery-feedback branch from ade0230 to 82e97fb Compare June 17, 2026 08:23

Copy link
Copy Markdown
Member Author

Heads up on CI: the Node.js Tests 3/3 shard has intermittently failed on src/session-recording/consumer.e2e.test.ts ("Session Recording Consumer Integration › end-to-end message processing › single session with multiple event types"). This is a Kafka/ClickHouse end-to-end test that is unrelated to this PR — this branch touches no session-recording code, and the PR's own Node suites pass on every run (warehouse-webhook-status.service.test.ts ✓, warehouse-webhooks.service.test.ts ✓). It passes on re-run, so it's environmental flakiness in that e2e suite rather than a regression here. Re-running the failed shard; fixing the underlying session-recording e2e flake is out of scope for this data-warehouse change.

@Gilbert09 Gilbert09 force-pushed the tom/warehouse-webhook-delivery-feedback branch from e58a319 to 54709a0 Compare June 22, 2026 12:19
@github-actions

github-actions Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Size Change: -15.7 kB (-0.02%)

Total Size: 64.5 MB

📦 View Changed
Filename Size Change
frontend/dist-report/posthog-app/_chunks/chunk 2.6 MB -15.7 kB (-0.6%)
ℹ️ 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 2.62 MB 0 B
frontend/dist-report/exporter/_parent/products/actions/frontend/pages/Action 27.8 kB 0 B
frontend/dist-report/exporter/_parent/products/actions/frontend/pages/Actions 5.49 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_gateway/frontend/AIGatewayScene 13.2 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilityScene 121 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilitySessionScene 20.4 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilityTraceScene 133 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilityUsers 3.44 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/clusters/AIObservabilityClusterScene 21.8 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/clusters/AIObservabilityClustersScene 54.5 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetScene 20.7 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetsScene 4.07 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluation 60.1 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluationsScene 32.4 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/evaluations/EvaluationTemplates 671 B 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/LLMASessionFeedbackDisplay 4.81 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/playground/AIObservabilityPlaygroundScene 37.7 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/prompts/LLMPromptScene 32.7 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/prompts/LLMPromptsScene 5.21 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/tags/AIObservabilityTag 31.8 kB 0 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/tags/AIObservabilityTagsScene 11.6 kB 0 B
frontend/dist-report/exporter/_parent/products/business_knowledge/frontend/scenes/BusinessKnowledgeScene 22.4 kB 0 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/Assignee/CyclotronJobInputAssignee 1.38 kB 0 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/SlaBusinessHours/CyclotronJobInputBusinessHours 2.69 kB 0 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/TicketTags/CyclotronJobInputTicketTags 783 B 0 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/settings/SupportSettingsScene 5.66 kB 0 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/ticket/SupportTicketScene 39 kB 0 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/tickets/SupportTicketsScene 1.65 kB 0 B
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/CustomerAnalyticsScene 93 kB 0 B
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerAnalyticsConfigurationScene/CustomerAnalyticsConfigurationScene 6.41 kB 0 B
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyBuilderScene/CustomerJourneyBuilderScene 6.16 kB 0 B
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyTemplatesScene/CustomerJourneyTemplatesScene 9.13 kB 0 B
frontend/dist-report/exporter/_parent/products/data_warehouse/DataWarehouseScene 29 kB 0 B
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/NewSourceScene/NewSourceScene 2.78 kB 0 B
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SchemaScene/SchemaScene 28.9 kB 0 B
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SourceConnectScene/SourceConnectScene 6.9 kB 0 B
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SourceScene/SourceScene 2.58 kB 0 B
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SourcesScene/SourcesScene 7.42 kB 0 B
frontend/dist-report/exporter/_parent/products/early_access_features/frontend/EarlyAccessFeature 5.37 kB 0 B
frontend/dist-report/exporter/_parent/products/early_access_features/frontend/EarlyAccessFeatures 3.73 kB 0 B
frontend/dist-report/exporter/_parent/products/endpoints/frontend/EndpointScene 47.3 kB 0 B
frontend/dist-report/exporter/_parent/products/endpoints/frontend/EndpointsScene 27.3 kB 0 B
frontend/dist-report/exporter/_parent/products/engineering_analytics/frontend/scenes/EngineeringAnalyticsScene 23.4 kB 0 B
frontend/dist-report/exporter/_parent/products/engineering_analytics/frontend/scenes/PullRequestDetailScene 11.4 kB 0 B
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingFingerprintsScene/ErrorTrackingIssueFingerprintsScene 7.66 kB 0 B
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingIssueScene/ErrorTrackingIssueScene 102 kB 0 B
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingScene/ErrorTrackingScene 42.4 kB 0 B
frontend/dist-report/exporter/_parent/products/feature_flags/frontend/FeatureFlagTemplatesScene 6.91 kB 0 B
frontend/dist-report/exporter/_parent/products/games/368Hedgehogs/368Hedgehogs 5.24 kB 0 B
frontend/dist-report/exporter/_parent/products/games/FlappyHog/FlappyHog 5.7 kB 0 B
frontend/dist-report/exporter/_parent/products/growth/frontend/IdentityMatchingScene 6.11 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 6.67 kB 0 B
frontend/dist-report/exporter/_parent/products/links/frontend/LinkScene 25.4 kB 0 B
frontend/dist-report/exporter/_parent/products/links/frontend/LinksScene 5.15 kB 0 B
frontend/dist-report/exporter/_parent/products/live_debugger/frontend/LiveDebugger 19.6 kB 0 B
frontend/dist-report/exporter/_parent/products/logs/frontend/LogsScene 22.7 kB 0 B
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsAlertDetailScene/LogsAlertDetailScene 18.6 kB 0 B
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsAlertNotificationDetailScene/LogsAlertNotificationDetailScene 9.03 kB 0 B
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsSamplingDetailScene/LogsSamplingDetailScene 6.14 kB 0 B
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsSamplingNewScene/LogsSamplingNewScene 3.15 kB 0 B
frontend/dist-report/exporter/_parent/products/managed_migrations/frontend/ManagedMigration 15.2 kB 0 B
frontend/dist-report/exporter/_parent/products/mcp_analytics/frontend/MCPAnalyticsScene 108 kB 0 B
frontend/dist-report/exporter/_parent/products/mcp_analytics/frontend/MCPAnalyticsToolDetail 20.4 kB 0 B
frontend/dist-report/exporter/_parent/products/metrics/frontend/MetricsScene 18 kB 0 B
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/stickiness/StickinessBarChart/StickinessBarChart 4.03 kB 0 B
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/stickiness/StickinessLineChart/StickinessLineChart 3.91 kB 0 B
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsBarChart/TrendsBarChart 9.69 kB 0 B
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsLifecycleChart/TrendsLifecycleChart 5.84 kB 0 B
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsLineChart/TrendsLineChart 7.42 kB 0 B
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsPieChart/TrendsPieChart 5.04 kB 0 B
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsSlopeChart/TrendsSlopeChart 2.6 kB 0 B
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/observations/ReplayObservation 17.8 kB 0 B
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ReplayScanner 35.6 kB 0 B
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ReplayScannersScene 21.9 kB 0 B
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ScannerEditorScene 25.2 kB 0 B
frontend/dist-report/exporter/_parent/products/revenue_analytics/frontend/revenueAnalyticsLogic 1.49 kB 0 B
frontend/dist-report/exporter/_parent/products/revenue_analytics/frontend/RevenueAnalyticsScene 29.6 kB 0 B
frontend/dist-report/exporter/_parent/products/session_summaries/frontend/SessionGroupSummariesTable 5.4 kB 0 B
frontend/dist-report/exporter/_parent/products/session_summaries/frontend/SessionGroupSummaryScene 23.2 kB 0 B
frontend/dist-report/exporter/_parent/products/skills/frontend/LLMSkillScene 1.47 kB 0 B
frontend/dist-report/exporter/_parent/products/skills/frontend/LLMSkillsScene 1.48 kB 0 B
frontend/dist-report/exporter/_parent/products/tasks/frontend/SlackTaskContextScene 9.28 kB 0 B
frontend/dist-report/exporter/_parent/products/tasks/frontend/TaskDetailScene 25.1 kB 0 B
frontend/dist-report/exporter/_parent/products/tasks/frontend/TaskTracker 14.8 kB 0 B
frontend/dist-report/exporter/_parent/products/tracing/frontend/TracingScene 86.4 kB 0 B
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterview 10.8 kB 0 B
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterviewResponse 8.05 kB 0 B
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterviews 6.46 kB 0 B
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewIndexScene 3 kB 0 B
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewRunScene 46.8 kB 0 B
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewRunsScene 8.18 kB 0 B
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSettingsScene 11.6 kB 0 B
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotHistoryScene 14.2 kB 0 B
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotOverviewScene 19.8 kB 0 B
frontend/dist-report/exporter/_parent/products/workflows/frontend/TemplateLibrary/MessageTemplate 17 kB 0 B
frontend/dist-report/exporter/_parent/products/workflows/frontend/Workflows/WorkflowScene 110 kB 0 B
frontend/dist-report/exporter/_parent/products/workflows/frontend/WorkflowsScene 61.4 kB 0 B
frontend/dist-report/exporter/src/exporter/exporter 44.6 kB 0 B
frontend/dist-report/exporter/src/exporter/scenes/ExporterDashboardScene 6.4 kB 0 B
frontend/dist-report/exporter/src/exporter/scenes/ExporterHeatmapScene 20.1 kB 0 B
frontend/dist-report/exporter/src/exporter/scenes/ExporterInsightScene 7.04 kB 0 B
frontend/dist-report/exporter/src/exporter/scenes/ExporterInterviewScene 310 kB 0 B
frontend/dist-report/exporter/src/exporter/scenes/ExporterNotebookScene 2.89 MB 0 B
frontend/dist-report/exporter/src/exporter/scenes/ExporterRecordingScene 5.49 kB 0 B
frontend/dist-report/exporter/src/exporterSharedChunkAnchors 1.3 kB 0 B
frontend/dist-report/exporter/src/lib/components/ActivityLog/describers 129 kB 0 B
frontend/dist-report/exporter/src/lib/components/Cards/TextCard/TextCardMarkdownEditor 10.6 kB 0 B
frontend/dist-report/exporter/src/lib/components/MonacoDiffEditor 533 B 0 B
frontend/dist-report/exporter/src/lib/lemon-ui/LemonMarkdown/MermaidDiagram 2 kB 0 B
frontend/dist-report/exporter/src/lib/lemon-ui/LemonTextArea/LemonTextAreaMarkdown 790 B 0 B
frontend/dist-report/exporter/src/lib/lemon-ui/Link/Link 415 B 0 B
frontend/dist-report/exporter/src/lib/monaco/CodeEditor 448 B 0 B
frontend/dist-report/exporter/src/lib/monaco/CodeEditorImpl 26 kB 0 B
frontend/dist-report/exporter/src/lib/monaco/CodeEditorInline 649 B 0 B
frontend/dist-report/exporter/src/lib/monaco/vimMode 211 kB 0 B
frontend/dist-report/exporter/src/lib/ui/Button/ButtonPrimitives 482 B 0 B
frontend/dist-report/exporter/src/queries/nodes/WebVitals/WebVitals 11.3 kB 0 B
frontend/dist-report/exporter/src/queries/nodes/WebVitals/WebVitalsPathBreakdown 4.76 kB 0 B
frontend/dist-report/exporter/src/queries/Query/Query 4.91 kB 0 B
frontend/dist-report/exporter/src/queries/schema 939 kB -160 B (-0.02%)
frontend/dist-report/exporter/src/scenes/approvals/changeRequestsLogic 622 B 0 B
frontend/dist-report/exporter/src/scenes/authentication/login/loginLogic 569 B 0 B
frontend/dist-report/exporter/src/scenes/authentication/shared/passkeyLogic 602 B 0 B
frontend/dist-report/exporter/src/scenes/data-pipelines/event-filtering/EventFilterScene 22.8 kB 0 B
frontend/dist-report/exporter/src/scenes/data-pipelines/TransformationsScene 7.95 kB 0 B
frontend/dist-report/exporter/src/scenes/experiments/notebook/NotebookCompactTable 1.54 kB 0 B
frontend/dist-report/exporter/src/scenes/hog-functions/misc/Diff 1.35 kB 0 B
frontend/dist-report/exporter/src/scenes/insights/views/BoxPlot/BoxPlot 4.52 kB 0 B
frontend/dist-report/exporter/src/scenes/insights/views/CalendarHeatMap/CalendarHeatMap 8.88 kB 0 B
frontend/dist-report/exporter/src/scenes/insights/views/RegionMap/RegionMap 30.3 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.1 kB 0 B
frontend/dist-report/exporter/src/scenes/models/NodeDetailScene 18.9 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/_parent/products/actions/frontend/pages/Action 29.2 kB 0 B
frontend/dist-report/posthog-app/_parent/products/actions/frontend/pages/Actions 6.85 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_gateway/frontend/AIGatewayScene 13.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilityScene 123 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilitySessionScene 20.5 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilityTraceScene 134 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilityUsers 4.29 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/clusters/AIObservabilityClusterScene 22.3 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/clusters/AIObservabilityClustersScene 55 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetScene 21.2 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetsScene 4.58 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluation 60.6 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluationsScene 33.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/evaluations/EvaluationTemplates 671 B 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/LLMASessionFeedbackDisplay 4.81 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/playground/AIObservabilityPlaygroundScene 38.3 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/prompts/LLMPromptScene 34 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/prompts/LLMPromptsScene 5.73 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/tags/AIObservabilityTag 33.1 kB 0 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/tags/AIObservabilityTagsScene 12.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/business_knowledge/frontend/scenes/BusinessKnowledgeScene 22.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/Assignee/CyclotronJobInputAssignee 1.38 kB 0 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/SlaBusinessHours/CyclotronJobInputBusinessHours 2.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/TicketTags/CyclotronJobInputTicketTags 783 B 0 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/settings/SupportSettingsScene 7.77 kB 0 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/ticket/SupportTicketScene 33.6 kB 0 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/tickets/SupportTicketsScene 2.15 kB 0 B
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/CustomerAnalyticsScene 93.3 kB 0 B
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerAnalyticsConfigurationScene/CustomerAnalyticsConfigurationScene 8.52 kB 0 B
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyBuilderScene/CustomerJourneyBuilderScene 7.48 kB 0 B
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyTemplatesScene/CustomerJourneyTemplatesScene 10 kB 0 B
frontend/dist-report/posthog-app/_parent/products/data_warehouse/DataWarehouseScene 2.04 kB 0 B
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/NewSourceScene/NewSourceScene 3.56 kB 0 B
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SchemaScene/SchemaScene 29.5 kB 0 B
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SourceConnectScene/SourceConnectScene 7.61 kB 0 B
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SourceScene/SourceScene 3.26 kB 0 B
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SourcesScene/SourcesScene 8.1 kB 0 B
frontend/dist-report/posthog-app/_parent/products/early_access_features/frontend/EarlyAccessFeature 6.87 kB 0 B
frontend/dist-report/posthog-app/_parent/products/early_access_features/frontend/EarlyAccessFeatures 4.24 kB 0 B
frontend/dist-report/posthog-app/_parent/products/endpoints/frontend/EndpointScene 48.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/endpoints/frontend/EndpointsScene 26.6 kB 0 B
frontend/dist-report/posthog-app/_parent/products/engineering_analytics/frontend/scenes/EngineeringAnalyticsScene 23.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/engineering_analytics/frontend/scenes/PullRequestDetailScene 11.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingFingerprintsScene/ErrorTrackingIssueFingerprintsScene 8.2 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 44.8 kB 0 B
frontend/dist-report/posthog-app/_parent/products/feature_flags/frontend/FeatureFlagTemplatesScene 6.92 kB 0 B
frontend/dist-report/posthog-app/_parent/products/games/368Hedgehogs/368Hedgehogs 5.24 kB 0 B
frontend/dist-report/posthog-app/_parent/products/games/FlappyHog/FlappyHog 5.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/growth/frontend/IdentityMatchingScene 6.11 kB 0 B
frontend/dist-report/posthog-app/_parent/products/legal_documents/frontend/scenes/LegalDocumentNewScene 61 kB 0 B
frontend/dist-report/posthog-app/_parent/products/legal_documents/frontend/scenes/LegalDocumentsScene 7.18 kB 0 B
frontend/dist-report/posthog-app/_parent/products/links/frontend/LinkScene 25.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/links/frontend/LinksScene 5.66 kB 0 B
frontend/dist-report/posthog-app/_parent/products/live_debugger/frontend/LiveDebugger 20.1 kB 0 B
frontend/dist-report/posthog-app/_parent/products/logs/frontend/components/LogsViewer/LogsViewerModal/LogsViewerModal 2.52 kB 0 B
frontend/dist-report/posthog-app/_parent/products/logs/frontend/LogsScene 24.1 kB 0 B
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsAlertDetailScene/LogsAlertDetailScene 19.2 kB 0 B
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsAlertNotificationDetailScene/LogsAlertNotificationDetailScene 9.57 kB 0 B
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsSamplingDetailScene/LogsSamplingDetailScene 6.66 kB 0 B
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsSamplingNewScene/LogsSamplingNewScene 3.67 kB 0 B
frontend/dist-report/posthog-app/_parent/products/managed_migrations/frontend/ManagedMigration 15.8 kB 0 B
frontend/dist-report/posthog-app/_parent/products/mcp_analytics/frontend/MCPAnalyticsScene 108 kB 0 B
frontend/dist-report/posthog-app/_parent/products/mcp_analytics/frontend/MCPAnalyticsToolDetail 20.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/metrics/frontend/MetricsScene 18.8 kB 0 B
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/stickiness/StickinessBarChart/StickinessBarChart 4.51 kB 0 B
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/stickiness/StickinessLineChart/StickinessLineChart 4.39 kB 0 B
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsBarChart/TrendsBarChart 10.2 kB 0 B
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsLifecycleChart/TrendsLifecycleChart 6.32 kB 0 B
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsLineChart/TrendsLineChart 7.89 kB 0 B
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsPieChart/TrendsPieChart 5.52 kB 0 B
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsSlopeChart/TrendsSlopeChart 2.97 kB 0 B
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/observations/ReplayObservation 20 kB 0 B
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ReplayScanner 36.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ReplayScannersScene 23.2 kB 0 B
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ScannerEditorScene 25.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/revenue_analytics/frontend/revenueAnalyticsLogic 1.83 kB 0 B
frontend/dist-report/posthog-app/_parent/products/revenue_analytics/frontend/RevenueAnalyticsScene 31 kB 0 B
frontend/dist-report/posthog-app/_parent/products/session_summaries/frontend/SessionGroupSummariesTable 5.91 kB 0 B
frontend/dist-report/posthog-app/_parent/products/session_summaries/frontend/SessionGroupSummaryScene 25.3 kB 0 B
frontend/dist-report/posthog-app/_parent/products/skills/frontend/LLMSkillScene 1.98 kB 0 B
frontend/dist-report/posthog-app/_parent/products/skills/frontend/LLMSkillsScene 1.99 kB 0 B
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/SlackTaskContextScene 9.79 kB 0 B
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/TaskDetailScene 25.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/TaskTracker 15.4 kB 0 B
frontend/dist-report/posthog-app/_parent/products/tracing/frontend/TracingScene 86.9 kB 0 B
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterview 10.8 kB 0 B
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterviewResponse 8.55 kB 0 B
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterviews 6.98 kB 0 B
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewIndexScene 3.51 kB 0 B
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewRunScene 47.3 kB 0 B
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewRunsScene 8.69 kB 0 B
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSettingsScene 12.1 kB 0 B
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotHistoryScene 14.7 kB 0 B
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotOverviewScene 20.3 kB 0 B
frontend/dist-report/posthog-app/_parent/products/workflows/frontend/TemplateLibrary/MessageTemplate 17.6 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 62.5 kB 0 B
frontend/dist-report/posthog-app/src/index 62.5 kB 0 B
frontend/dist-report/posthog-app/src/layout/panel-layout/ai-first/tabs/NavTabChat 7.93 kB 0 B
frontend/dist-report/posthog-app/src/lib/components/ActivityLog/describers 130 kB 0 B
frontend/dist-report/posthog-app/src/lib/components/AppShortcuts/utils/DebugCHQueriesImpl 19.2 kB 0 B
frontend/dist-report/posthog-app/src/lib/components/Cards/TextCard/TextCardMarkdownEditor 10.6 kB 0 B
frontend/dist-report/posthog-app/src/lib/components/MonacoDiffEditor 533 B 0 B
frontend/dist-report/posthog-app/src/lib/lemon-ui/LemonMarkdown/MermaidDiagram 2 kB 0 B
frontend/dist-report/posthog-app/src/lib/lemon-ui/LemonTextArea/LemonTextAreaMarkdown 790 B 0 B
frontend/dist-report/posthog-app/src/lib/lemon-ui/Link/Link 415 B 0 B
frontend/dist-report/posthog-app/src/lib/monaco/CodeEditor 448 B 0 B
frontend/dist-report/posthog-app/src/lib/monaco/CodeEditorImpl 26 kB 0 B
frontend/dist-report/posthog-app/src/lib/monaco/CodeEditorInline 649 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 482 B 0 B
frontend/dist-report/posthog-app/src/queries/nodes/WebVitals/WebVitals 12.6 kB 0 B
frontend/dist-report/posthog-app/src/queries/nodes/WebVitals/WebVitalsPathBreakdown 5.17 kB 0 B
frontend/dist-report/posthog-app/src/queries/Query/Query 6.24 kB 0 B
frontend/dist-report/posthog-app/src/queries/schema 939 kB -160 B (-0.02%)
frontend/dist-report/posthog-app/src/scenes/activity/explore/EventsScene 8.41 kB 0 B
frontend/dist-report/posthog-app/src/scenes/activity/explore/SessionsScene 9.75 kB 0 B
frontend/dist-report/posthog-app/src/scenes/activity/live/LiveEventsTable 6.64 kB 0 B
frontend/dist-report/posthog-app/src/scenes/agentic/AgenticAuthorize 5.51 kB 0 B
frontend/dist-report/posthog-app/src/scenes/approvals/ApprovalDetail 17.7 kB 0 B
frontend/dist-report/posthog-app/src/scenes/approvals/changeRequestsLogic 622 B 0 B
frontend/dist-report/posthog-app/src/scenes/audit-logs/AdvancedActivityLogsScene 43.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/AuthenticatedShell 209 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/account/AccountConnected 3.04 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/account/AgenticAccountMismatch 2.43 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/account/credential-review/CredentialReview 5.04 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/cli/CLIAuthorize 12.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/cli/CLILive 4.05 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/email-mfa-verify/EmailMFAVerify 3.04 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/invite-signup/InviteSignup 1.4 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/login-2fa/Login2FA 4.74 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/login/Login 1.41 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/login/loginLogic 569 B 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/password-reset/PasswordReset 4.5 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/password-reset/PasswordResetComplete 3.06 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/shared/passkeyLogic 602 B 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/signup/SignupContainer 1.39 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/two-factor-reset/TwoFactorReset 4.04 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/vercel/VercelConnect 5.03 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/vercel/VercelLinkError 2.3 kB 0 B
frontend/dist-report/posthog-app/src/scenes/authentication/verify-email/VerifyEmail 4.79 kB 0 B
frontend/dist-report/posthog-app/src/scenes/billing/AuthorizationStatus 768 B 0 B
frontend/dist-report/posthog-app/src/scenes/billing/Billing 717 B 0 B
frontend/dist-report/posthog-app/src/scenes/billing/BillingSection 21.6 kB 0 B
frontend/dist-report/posthog-app/src/scenes/cohorts/Cohort 33.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/cohorts/CohortCalculationHistory 7.34 kB 0 B
frontend/dist-report/posthog-app/src/scenes/cohorts/Cohorts 10.9 kB 0 B
frontend/dist-report/posthog-app/src/scenes/coupons/Coupons 895 B 0 B
frontend/dist-report/posthog-app/src/scenes/dashboard/Dashboard 7.66 kB 0 B
frontend/dist-report/posthog-app/src/scenes/dashboard/dashboards/Dashboards 22.6 kB 0 B
frontend/dist-report/posthog-app/src/scenes/dashboard/dashboards/templates/DashboardTemplateCopyScene 7.06 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-management/DataManagementScene 6.55 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-management/definition/DefinitionEdit 23.2 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-management/definition/DefinitionView 31.4 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-management/MaterializedColumns/MaterializedColumns 12.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-management/variables/SqlVariableEditScene 8.53 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/batch-exports/BatchExportScene 67.7 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/DataPipelinesNewScene 5.11 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/DestinationsScene 5.64 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/event-filtering/EventFilterScene 23.3 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/legacy-plugins/LegacyPluginScene 22 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/TransformationsScene 4.75 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-pipelines/WebScriptsScene 5.51 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-warehouse/DataWarehouseScene 2.02 kB 0 B
frontend/dist-report/posthog-app/src/scenes/data-warehouse/editor/EditorScene 4.75 kB 0 B
frontend/dist-report/posthog-app/src/scenes/debug/DebugScene 25.2 kB 0 B
frontend/dist-report/posthog-app/src/scenes/debug/hog/HogRepl 9.02 kB 0 B
frontend/dist-report/posthog-app/src/scenes/experiments/Experiment 224 kB 0 B
frontend/dist-report/posthog-app/src/scenes/experiments/Experiments 23.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/experiments/notebook/NotebookCompactTable 1.94 kB 0 B
frontend/dist-report/posthog-app/src/scenes/experiments/SharedMetrics/SharedMetric 12.2 kB 0 B
frontend/dist-report/posthog-app/src/scenes/experiments/SharedMetrics/SharedMetrics 1.77 kB 0 B
frontend/dist-report/posthog-app/src/scenes/exports/ExportsScene 5.34 kB 0 B
frontend/dist-report/posthog-app/src/scenes/feature-flags/FeatureFlag 117 kB 0 B
frontend/dist-report/posthog-app/src/scenes/feature-flags/FeatureFlags 3.87 kB 0 B
frontend/dist-report/posthog-app/src/scenes/groups/Group 23.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/groups/Groups 9.38 kB 0 B
frontend/dist-report/posthog-app/src/scenes/groups/GroupsNew 8.62 kB 0 B
frontend/dist-report/posthog-app/src/scenes/health-alerts/HealthAlertsScene 6.33 kB 0 B
frontend/dist-report/posthog-app/src/scenes/health/categoryDetail/HealthCategoryDetailScene 13.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/health/HealthScene 17 kB 0 B
frontend/dist-report/posthog-app/src/scenes/health/pipelineStatus/PipelineStatusScene 12.3 kB 0 B
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapNewScene 6.38 kB 0 B
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapRecordingScene 5.11 kB 0 B
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapScene 7.96 kB 0 B
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmaps/HeatmapsScene 5.2 kB 0 B
frontend/dist-report/posthog-app/src/scenes/hog-functions/HogFunctionScene 60.5 kB 0 B
frontend/dist-report/posthog-app/src/scenes/hog-functions/misc/Diff 1.35 kB 0 B
frontend/dist-report/posthog-app/src/scenes/inbox/InboxScene 185 kB 0 B
frontend/dist-report/posthog-app/src/scenes/insights/InsightQuickStart/InsightQuickStart 8.12 kB 0 B
frontend/dist-report/posthog-app/src/scenes/insights/InsightScene 40.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/insights/views/BoxPlot/BoxPlot 5 kB 0 B
frontend/dist-report/posthog-app/src/scenes/insights/views/CalendarHeatMap/CalendarHeatMap 9.23 kB 0 B
frontend/dist-report/posthog-app/src/scenes/insights/views/RegionMap/RegionMap 30.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/insights/views/WorldMap/WorldMap 6.16 kB 0 B
frontend/dist-report/posthog-app/src/scenes/instance/AsyncMigrations/AsyncMigrations 14.3 kB 0 B
frontend/dist-report/posthog-app/src/scenes/instance/DeadLetterQueue/DeadLetterQueue 6.68 kB 0 B
frontend/dist-report/posthog-app/src/scenes/instance/QueryPerformance/QueryPerformance 9.91 kB 0 B
frontend/dist-report/posthog-app/src/scenes/instance/SystemStatus/SystemStatus 18.2 kB 0 B
frontend/dist-report/posthog-app/src/scenes/integrations/IntegrationsLandingScene 1.64 kB 0 B
frontend/dist-report/posthog-app/src/scenes/IntegrationsRedirect/IntegrationsRedirect 921 B 0 B
frontend/dist-report/posthog-app/src/scenes/marketing-analytics/MarketingAnalyticsScene 46.7 kB 0 B
frontend/dist-report/posthog-app/src/scenes/max/Max 20.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/models/ModelsScene 19.6 kB 0 B
frontend/dist-report/posthog-app/src/scenes/models/NodeDetailScene 19.7 kB 0 B
frontend/dist-report/posthog-app/src/scenes/moveToPostHogCloud/MoveToPostHogCloud 4.5 kB 0 B
frontend/dist-report/posthog-app/src/scenes/new-tab/NewTabScene 2.72 kB 0 B
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookCanvasScene 12 kB 0 B
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookPanel/NotebookPanel 14 kB 0 B
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookScene 17.4 kB 0 B
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebooksScene 8.73 kB 0 B
frontend/dist-report/posthog-app/src/scenes/oauth/OAuthAuthorize 810 B 0 B
frontend/dist-report/posthog-app/src/scenes/onboarding/legacy/coupon/OnboardingCouponRedemption 1.34 kB 0 B
frontend/dist-report/posthog-app/src/scenes/onboarding/Onboarding 782 kB 0 B
frontend/dist-report/posthog-app/src/scenes/onboarding/shared/sdkHealth/SdkHealthScene 9.16 kB 0 B
frontend/dist-report/posthog-app/src/scenes/organization/ConfirmOrganization/ConfirmOrganization 4.5 kB 0 B
frontend/dist-report/posthog-app/src/scenes/organization/Create/Create 704 B 0 B
frontend/dist-report/posthog-app/src/scenes/organization/Deactivated 1.17 kB 0 B
frontend/dist-report/posthog-app/src/scenes/organization/PendingDeletion 2.24 kB 0 B
frontend/dist-report/posthog-app/src/scenes/persons/PersonScene 28 kB 0 B
frontend/dist-report/posthog-app/src/scenes/persons/PersonsScene 11.6 kB 0 B
frontend/dist-report/posthog-app/src/scenes/PreflightCheck/PreflightCheck 5.57 kB 0 B
frontend/dist-report/posthog-app/src/scenes/product-tours/ProductTour 273 kB 0 B
frontend/dist-report/posthog-app/src/scenes/product-tours/ProductTours 6 kB 0 B
frontend/dist-report/posthog-app/src/scenes/project-homepage/ProjectHomepage 26.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/project/Create/Create 982 B 0 B
frontend/dist-report/posthog-app/src/scenes/project/PendingDeletion 2.6 kB 0 B
frontend/dist-report/posthog-app/src/scenes/resource-transfer/ResourceTransfer 10.5 kB 0 B
frontend/dist-report/posthog-app/src/scenes/saved-insights/SavedInsights 3.43 kB 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/detail/SessionRecordingDetail 8.55 kB 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/file-playback/SessionRecordingFilePlaybackScene 11.2 kB 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/kiosk/SessionRecordingsKiosk 16.6 kB 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/player/modal/SessionPlayerModal 8.26 kB 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/player/snapshot-processing/DecompressionWorkerManager 323 B 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/playlist/SessionRecordingsPlaylistScene 11.7 kB 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/SessionRecordings 7.68 kB 0 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/settings/SessionRecordingsSettingsScene 8.91 kB 0 B
frontend/dist-report/posthog-app/src/scenes/sessions/SessionProfileScene 21.7 kB 0 B
frontend/dist-report/posthog-app/src/scenes/settings/SettingsMap 6.62 kB 0 B
frontend/dist-report/posthog-app/src/scenes/settings/SettingsScene 9.96 kB 0 B
frontend/dist-report/posthog-app/src/scenes/sites/Site 1.57 kB 0 B
frontend/dist-report/posthog-app/src/scenes/startups/StartupProgram 21.1 kB 0 B
frontend/dist-report/posthog-app/src/scenes/StripeConfirmInstall/StripeConfirmInstall 3.67 kB 0 B
frontend/dist-report/posthog-app/src/scenes/subscriptions/SubscriptionScene 17.6 kB 0 B
frontend/dist-report/posthog-app/src/scenes/subscriptions/SubscriptionsScene 7.02 kB 0 B
frontend/dist-report/posthog-app/src/scenes/surveys/forms/SurveyFormBuilder 3.06 kB 0 B
frontend/dist-report/posthog-app/src/scenes/surveys/Survey 7.38 kB 0 B
frontend/dist-report/posthog-app/src/scenes/surveys/Surveys 27.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/surveys/wizard/SurveyWizard 69.8 kB 0 B
frontend/dist-report/posthog-app/src/scenes/themes/CustomCssScene 4.94 kB 0 B
frontend/dist-report/posthog-app/src/scenes/toolbar-launch/ToolbarLaunch 3.9 kB 0 B
frontend/dist-report/posthog-app/src/scenes/Unsubscribe/Unsubscribe 1.71 kB 0 B
frontend/dist-report/posthog-app/src/scenes/web-analytics/SessionAttributionExplorer/SessionAttributionExplorerScene 12.2 kB 0 B
frontend/dist-report/posthog-app/src/scenes/web-analytics/WebAnalyticsScene 20.7 kB 0 B
frontend/dist-report/posthog-app/src/scenes/wizard/Wizard 4.45 kB 0 B
frontend/dist-report/posthog-app/src/sharedChunkAnchors 1.33 kB 0 B
frontend/dist-report/render-query/src/render-query/render-query 25.4 MB -475 B (0%)
frontend/dist-report/toolbar/src/toolbar/toolbar 11.2 MB 0 B

compressed-size-action

@Gilbert09 Gilbert09 force-pushed the tom/warehouse-webhook-delivery-feedback branch from d9538af to 2c3bc02 Compare June 24, 2026 13:48
@tests-posthog

tests-posthog Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Query snapshots: Backend query snapshots updated

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

What this means:

  • Query snapshots have been automatically updated to match current output
  • These changes reflect modifications to database queries or schema

Next steps:

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

Review snapshot changes →

@Gilbert09 Gilbert09 force-pushed the tom/warehouse-webhook-delivery-feedback branch from cdaf230 to 463d285 Compare June 24, 2026 14:46
@tests-posthog

tests-posthog Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Query snapshots: Backend query snapshots updated

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

What this means:

  • Query snapshots have been automatically updated to match current output
  • These changes reflect modifications to database queries or schema

Next steps:

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

Review snapshot changes →

@tests-posthog

tests-posthog Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Query snapshots: Backend query snapshots updated

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

What this means:

  • Query snapshots have been automatically updated to match current output
  • These changes reflect modifications to database queries or schema

Next steps:

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

Review snapshot changes →

Gilbert09 added 10 commits June 25, 2026 22:12
… errors

Webhook sources (e.g. Stripe) ingest via a hog function endpoint. When the
signing secret is wrong the hog function returns a 4xx to the sender, no data
lands in S3, and the import pipeline silently completes with 0 rows — the user
is never told to fix their secret.

This adds a feedback loop: the CDP node emits each warehouse_source_webhook
delivery outcome to a new ClickHouse table, and the import pipeline reads recent
outcomes per source. Persistent non-retryable rejections (>=3 consecutive
400/401/403 with no success since) now fail the run with a NonRetryableException,
which disables the schema and surfaces a friendly error in the UI. The lookback
window tracks the schema's own sync cadence plus a buffer.
…ry and stub it in S3 tests

Run the warehouse_webhook_delivery_status ClickHouse query through
database_sync_to_async_pool (thread_sensitive=False) instead of bare
sync_to_async, matching the Django ORM fetches in the same file and avoiding
serialising concurrent activity workers onto a single thread.

Existing WebhookSourceManager get_items tests now exercise the new fail-fast
delivery check, which queries Postgres + ClickHouse. Stub that check in those
tests (it has dedicated coverage in test_webhook_source_manager.py) so they
stay focused on S3 read/transform behaviour.

Generated-By: PostHog Code
Task-Id: c247d0fa-1196-4dd2-9265-80cad1088dd2
The persistent-delivery-failure check is an advisory health signal, not a
correctness gate. If the warehouse_webhook_delivery_status query errors — a
transient ClickHouse hiccup, or the table not yet existing during a deploy —
swallow it and continue rather than failing the user's import run. This also
makes the import worker safe to deploy ahead of the ClickHouse migration.

Generated-By: PostHog Code
Task-Id: c247d0fa-1196-4dd2-9265-80cad1088dd2
…comment

The INSERT helper is not referenced by any test; correct the misleading
"used by tests" comment to describe it as a bypass-Kafka producer helper
kept for parity with the hog_invocation_results table family.

Generated-By: PostHog Code
Task-Id: 77e746c7-ae01-4e1a-9621-076bb86deb00
Generated-By: PostHog Code
Task-Id: 77cc7f1c-5848-4065-9d39-13b1fb1a4afe
master relocated ingestion-outputs from src/ingestion/outputs/ to
src/common/outputs/. Point the warehouse webhook status service (and its
test) at the new ~/common/outputs/ingestion-outputs path so the nodejs
build compiles.

Generated-By: PostHog Code
Task-Id: fb7cf23b-91d0-499e-ab76-df9a61bd4ea4
@Gilbert09 Gilbert09 force-pushed the tom/warehouse-webhook-delivery-feedback branch from 0325284 to 600f547 Compare June 25, 2026 21:12
Gilbert09 and others added 2 commits June 25, 2026 22:21
…ils move

The cdp utils modules (logger, posthog, json-parse) moved to ~/common/utils. Point the new warehouse-webhook-status service and its test at the new paths so the Node.js build compiles.

Generated-By: PostHog Code
Task-Id: c2c97120-82b6-4827-8f17-aac874fcdc09
@tests-posthog

tests-posthog Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Query snapshots: Backend query snapshots updated

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

What this means:

  • Query snapshots have been automatically updated to match current output
  • These changes reflect modifications to database queries or schema

Next steps:

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

Review snapshot changes →

Copy link
Copy Markdown
Member Author

CI status: one required check blocked by a pre-existing master failure

This branch is now conflict-free and rebased onto the latest master. All review threads are resolved, and 167 checks pass. The only red check is:

  • Django tests – Core (persons-on-events off) … (12/25)posthog/hogql/test/test_direct_postgres_query.py::TestDirectPostgresQuery::test_execute_direct_postgres_query_blocks_internal_hostAssertionError: ExposedHogQLError not raised
  • …and its aggregate Django Tests Pass.

This failure is not caused by this PR. It reproduces identically on recent master commits that contain none of this branch's changes (e.g. 6b369ef, 90c40c1, c42a91e all fail shard 12/25 on the same test; an older commit 8d87de5 passed), and this PR touches none of the direct-SQL / HogQL code under test.

Root cause (for whoever picks up the master fix): the test is order-dependent. _is_host_safe allow-lists team_id == 2 (US) / team_id == 1 (EU). In shard 12/25 the test's team is created with pk == 2, so under CLOUD_DEPLOYMENT="US" the localhost host is allow-listed and the expected ExposedHogQLError is never raised. Recent test reorganization shifted shard composition so this test now lands on pk == 2. The fix belongs in a separate change that makes the test independent of the team's primary key (or stubs the region/allow-list), rather than being bundled into this data-warehouse PR.

I re-ran the failed shard once to rule out flakiness — it fails deterministically, matching master.

Generated-By: PostHog Code
Task-Id: c2c97120-82b6-4827-8f17-aac874fcdc09
@github-actions

Copy link
Copy Markdown
Contributor

🎭 Playwright report · View test results →

⚠️ 1 flaky test:

  • Creating a SQL insight with a variable and overriding it on a dashboard (chromium)

These issues are not necessarily caused by your changes.
Annoyed by this comment? Help fix flakies and failures and it'll disappear!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-migration-service-check Author attests every migration in this PR is DB-noop and safe to ship alongside service code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants