Skip to content

fix(core): keep session-attribution props on minimal $feature_flag_called events - #4287

Merged
marandaneto merged 4 commits into
mainfrom
posthog-code/keep-utm-on-minimal-flag-called
Aug 4, 2026
Merged

fix(core): keep session-attribution props on minimal $feature_flag_called events#4287
marandaneto merged 4 commits into
mainfrom
posthog-code/keep-utm-on-minimal-flag-called

Conversation

@posthog

@posthog posthog Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Problem

Web analytics session-level UTM attribution keys off the first event in a session. posthog-js can make that first event a $feature_flag_called — and for projects gated into the new minimal $feature_flag_called path (MINIMAL_FLAG_CALLED_EVENT_PROPERTIES in packages/core/src/featureFlagUtils.ts), the event is rebuilt from a strict allowlist that omitted every referrer and utm_*/campaign param.

Campaign params ride along as super properties under their bare names (utm_source, gclid, …) and are exactly what the server session table reads to build session-initial UTM and channel type. So a UTM-less minimal flag-called event landing first silently set the whole session's attribution to NULL — corrupting web-analytics campaign attribution and channel-type grouping for any project that uses minimal flag-called events together with flags + campaign tracking. It degrades data correctness rather than erroring, so it looks like a config gap rather than a bug.

Changes

  • Added $referring_domain and all canonical campaign params (utm_source/medium/campaign/content/term, gad_source, mc_cid, and click-ID params) to the minimal allowlist, kept in sync with the browser SDK's CAMPAIGN_PARAMS and the server session table. Full $referrer remains excluded to preserve the minimal event's privacy and payload-size contract.
  • Added exhaustive browser coverage for all 24 campaign properties and Node coverage for registration/minimization, while asserting $referrer and unrelated super properties remain stripped.

The fix lives in @posthog/core, so it applies to both the browser SDK and posthog-node through the shared minimizeFlagCalledEventProperties.

Out of scope

The originating report also bundled two docs/support clarifications for tickets where the SDK behaves as designed (SPA pageviews via capture_pageview: 'history_change'; identified_only only suppressing $initial_utm_* person props). Those are documentation changes that live outside this repo and are not addressed here.

Release info Sub-libraries affected

Libraries affected

  • posthog-js (web)
  • posthog-node

Checklist

  • Tests for new code
  • Accounted for the impact of any changes across different platforms
  • Accounted for backwards compatibility of any changes (no breaking changes!)
  • Took care not to unnecessarily increase the bundle size

If releasing new changes

  • Ran pnpm changeset to generate a changeset file

🤖 Agent context

Autonomy: Fully autonomous

Investigated with Claude Code (PostHog Desktop). Traced the reported symptom to its root cause: campaign params are stored as bare-named super properties and consumed by the server session table for session-initial UTM, but the minimal $feature_flag_called allowlist introduced in #4172 excluded them. Chose to add the canonical campaign keys and $referring_domain directly to the core allowlist (rather than threading them through transportKeys) because these are canonical PostHog property names shared with the server, matching how $current_url/$pathname are already handled. Verified via the existing minimal-flag-called browser suite plus a new UTM-preservation test; ran @posthog/core unit tests (780 passing) and lint.


Created with PostHog Desktop from this inbox report.

…lled events

The minimal `$feature_flag_called` allowlist (MINIMAL_FLAG_CALLED_EVENT_PROPERTIES)
rebuilt the event from a strict allowlist that omitted every referrer and
`utm_*`/campaign param. The server session table derives session-initial UTM and
channel type from whichever event lands first in a session, so a minimal
flag-called event firing first nulled out the whole session's attribution.

Add the referrer and campaign-param keys (kept in sync with the browser SDK's
CAMPAIGN_PARAMS and the server session table) to the allowlist so they survive
minimization. Entries are inert on SDKs that never set them.

Generated-By: PostHog Code
Task-Id: 9dd7e155-821a-4fe9-93bf-1b7e9c0a1c06
@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Size Change: +5.29 kB (+0.03%)

Total Size: 18.2 MB

📦 View Changed
Filename Size Change
packages/browser/dist/array.full.es5.js 432 kB +269 B (+0.06%)
packages/browser/dist/array.full.js 462 kB +257 B (+0.06%)
packages/browser/dist/array.full.no-********.js 548 kB +213 B (+0.04%)
packages/browser/dist/array.js 240 kB +257 B (+0.11%)
packages/browser/dist/array.no-********.js 267 kB +257 B (+0.1%)
packages/browser/dist/default-extensions.js 238 kB +257 B (+0.11%)
packages/browser/dist/lazy-********.js 170 kB -26 B (-0.02%)
packages/browser/dist/main.js 244 kB +257 B (+0.11%)
packages/browser/dist/module.full.js 465 kB +257 B (+0.06%)
packages/browser/dist/module.full.no-********.js 551 kB +213 B (+0.04%)
packages/browser/dist/module.js 244 kB +257 B (+0.11%)
packages/browser/dist/module.no-********.js 270 kB +257 B (+0.1%)
packages/browser/dist/module.slim.js 121 kB +257 B (+0.21%)
packages/browser/dist/module.slim.no-********.js 129 kB +257 B (+0.2%)
packages/browser/dist/posthog-********.js 170 kB -26 B (-0.02%)
packages/core/dist/featureFlagUtils.js 8.52 kB +772 B (+9.97%) ⚠️
packages/core/dist/featureFlagUtils.mjs 5.48 kB +541 B (+10.95%) ⚠️
packages/core/dist/index.js 19 kB +671 B (+3.67%)
packages/core/dist/index.mjs 1.96 kB +94 B (+5.03%) 🔍
ℹ️ View Unchanged
Filename Size Change
packages/ai/dist/anthropic/index.cjs 39.3 kB 0 B
packages/ai/dist/anthropic/index.mjs 39 kB 0 B
packages/ai/dist/gemini/index.cjs 38.3 kB 0 B
packages/ai/dist/gemini/index.mjs 38.2 kB 0 B
packages/ai/dist/index.cjs 60.6 kB 0 B
packages/ai/dist/index.mjs 60.5 kB 0 B
packages/ai/dist/langchain/index.cjs 36.8 kB 0 B
packages/ai/dist/langchain/index.mjs 36.7 kB 0 B
packages/ai/dist/openai-agents/index.cjs 31.3 kB 0 B
packages/ai/dist/openai-agents/index.mjs 31.2 kB 0 B
packages/ai/dist/openai/index.cjs 107 kB 0 B
packages/ai/dist/openai/index.mjs 106 kB 0 B
packages/ai/dist/otel/index.cjs 18.2 kB 0 B
packages/ai/dist/otel/index.mjs 18.1 kB 0 B
packages/ai/dist/vercel/index.cjs 50.6 kB 0 B
packages/ai/dist/vercel/index.mjs 50.6 kB 0 B
packages/browser-common/dist/client.js 603 B 0 B
packages/browser-common/dist/client.mjs 0 B 0 B 🆕
packages/browser-common/dist/config.js 1.43 kB 0 B
packages/browser-common/dist/config.mjs 223 B 0 B
packages/browser-common/dist/constants.js 1.66 kB 0 B
packages/browser-common/dist/constants.mjs 219 B 0 B
packages/browser-common/dist/disposable.js 1.63 kB 0 B
packages/browser-common/dist/disposable.mjs 386 B 0 B
packages/browser-common/dist/extension-runtime.js 3 kB 0 B
packages/browser-common/dist/extension-runtime.mjs 1.76 kB 0 B
packages/browser-common/dist/extension.js 603 B 0 B
packages/browser-common/dist/extension.mjs 0 B 0 B 🆕
packages/browser-common/dist/index.js 3.08 kB 0 B
packages/browser-common/dist/index.mjs 170 B 0 B
packages/browser-common/dist/persistence.js 603 B 0 B
packages/browser-common/dist/persistence.mjs 0 B 0 B 🆕
packages/browser-common/dist/pubsub.js 2.23 kB 0 B
packages/browser-common/dist/pubsub.mjs 993 B 0 B
packages/browser-common/dist/types/compression.js 1.28 kB 0 B
packages/browser-common/dist/types/compression.mjs 93 B 0 B
packages/browser-common/dist/types/index.js 4.11 kB 0 B
packages/browser-common/dist/types/index.mjs 144 B 0 B
packages/browser-common/dist/types/network-recording.js 603 B 0 B
packages/browser-common/dist/types/network-recording.mjs 0 B 0 B 🆕
packages/browser-common/dist/types/remote-config.js 603 B 0 B
packages/browser-common/dist/types/remote-config.mjs 0 B 0 B 🆕
packages/browser-common/dist/types/surveys.js 4.55 kB 0 B
packages/browser-common/dist/types/surveys.mjs 2.17 kB 0 B
packages/browser-common/dist/utils/array-at-********.js 628 B 0 B
packages/browser-common/dist/utils/array-at-********.mjs 425 B 0 B
packages/browser-common/dist/utils/autocapture-utils.js 24 kB 0 B
packages/browser-common/dist/utils/autocapture-utils.mjs 18.5 kB 0 B
packages/browser-common/dist/utils/blocked-uas.js 2.1 kB 0 B
packages/browser-common/dist/utils/blocked-uas.mjs 598 B 0 B
packages/browser-common/dist/utils/cookie-utils.js 1.89 kB 0 B
packages/browser-common/dist/utils/cookie-utils.mjs 673 B 0 B
packages/browser-common/dist/utils/device-model-utils.js 1.98 kB 0 B
packages/browser-common/dist/utils/device-model-utils.mjs 678 B 0 B
packages/browser-common/dist/utils/element-utils.js 2.46 kB 0 B
packages/browser-common/dist/utils/element-utils.mjs 804 B 0 B
packages/browser-common/dist/utils/elements-chain-utils.js 2.77 kB 0 B
packages/browser-common/dist/utils/elements-chain-utils.mjs 1.23 kB 0 B
packages/browser-common/dist/utils/encode-utils.js 1.4 kB 0 B
packages/browser-common/dist/utils/encode-utils.mjs 205 B 0 B
packages/browser-common/dist/utils/event-utils.js 15.7 kB 0 B
packages/browser-common/dist/utils/event-utils.mjs 10 kB 0 B
packages/browser-common/dist/utils/general-utils.js 7.31 kB 0 B
packages/browser-common/dist/utils/general-utils.mjs 4.49 kB 0 B
packages/browser-common/dist/utils/globals.js 2.78 kB 0 B
packages/browser-common/dist/utils/globals.mjs 860 B 0 B
packages/browser-common/dist/utils/logger.js 3.4 kB 0 B
packages/browser-common/dist/utils/logger.mjs 1.61 kB 0 B
packages/browser-common/dist/utils/matcher-utils.js 2.85 kB 0 B
packages/browser-common/dist/utils/matcher-utils.mjs 1.33 kB 0 B
packages/browser-common/dist/utils/property-utils.js 5.38 kB 0 B
packages/browser-common/dist/utils/property-utils.mjs 3.34 kB 0 B
packages/browser-common/dist/utils/prototype-utils.js 3.51 kB 0 B
packages/browser-common/dist/utils/prototype-utils.mjs 1.86 kB 0 B
packages/browser-common/dist/utils/regex-utils.js 1.68 kB 0 B
packages/browser-common/dist/utils/regex-utils.mjs 378 B 0 B
packages/browser-common/dist/utils/request-utils.js 6.73 kB 0 B
packages/browser-common/dist/utils/request-utils.mjs 4.19 kB 0 B
packages/browser-common/dist/utils/simple-event-emitter.js 1.76 kB 0 B
packages/browser-common/dist/utils/simple-event-emitter.mjs 553 B 0 B
packages/browser-common/dist/utils/stylesheet-loader.js 2.13 kB 0 B
packages/browser-common/dist/utils/stylesheet-loader.mjs 823 B 0 B
packages/browser-common/dist/utils/type-utils.js 1.59 kB 0 B
packages/browser-common/dist/utils/type-utils.mjs 267 B 0 B
packages/browser-common/dist/utils/url-targeting-utils.js 2.35 kB 0 B
packages/browser-common/dist/utils/url-targeting-utils.mjs 863 B 0 B
packages/browser-common/dist/utils/uuidv7.js 6.66 kB 0 B
packages/browser-common/dist/utils/uuidv7.mjs 5.18 kB 0 B
packages/browser/dist/all-external-dependencies.js 248 kB 0 B
packages/browser/dist/conversations.js 68.2 kB 0 B
packages/browser/dist/crisp-chat-integration.js 2.03 kB 0 B
packages/browser/dist/customizations.full.js 16 kB 0 B
packages/browser/dist/customizations.js 15.8 kB 0 B
packages/browser/dist/dead-clicks-autocapture.js 17.9 kB 0 B
packages/browser/dist/element-inference.js 5.62 kB 0 B
packages/browser/dist/exception-autocapture.js 12.8 kB 0 B
packages/browser/dist/extension-bundles.js 134 kB 0 B
packages/browser/dist/external-scripts-loader.js 3.16 kB 0 B
packages/browser/dist/intercom-integration.js 2.08 kB 0 B
packages/browser/dist/logs.js 4.41 kB 0 B
packages/browser/dist/product-tours-preview.js 76.7 kB 0 B
packages/browser/dist/product-tours.js 118 kB 0 B
packages/browser/dist/recorder-v2.js 112 kB 0 B
packages/browser/dist/recorder.js 112 kB 0 B
packages/browser/dist/rrweb-plugin-console-record.js 6.99 kB 0 B
packages/browser/dist/rrweb-types.js 2.33 kB 0 B
packages/browser/dist/rrweb.js 296 kB 0 B
packages/browser/dist/surveys-preview.js 78.5 kB 0 B
packages/browser/dist/surveys.js 98.4 kB 0 B
packages/browser/dist/tracing-headers.js 3.71 kB 0 B
packages/browser/dist/web-vitals-with-attribution.js 12.3 kB 0 B
packages/browser/dist/web-vitals.js 6.72 kB 0 B
packages/browser/react/dist/esm/index.js 21.1 kB 0 B
packages/browser/react/dist/esm/slim/index.js 17.5 kB 0 B
packages/browser/react/dist/esm/surveys/index.js 4.75 kB 0 B
packages/browser/react/dist/umd/index.js 24.3 kB 0 B
packages/browser/react/dist/umd/slim/index.js 20.3 kB 0 B
packages/browser/react/dist/umd/surveys/index.js 5.52 kB 0 B
packages/convex/dist/client/feature-flags/crypto.js 461 B 0 B
packages/convex/dist/client/feature-flags/evaluator.js 16.5 kB 0 B
packages/convex/dist/client/feature-flags/index.js 196 B 0 B
packages/convex/dist/client/feature-flags/match-********.js 14.8 kB 0 B
packages/convex/dist/client/feature-flags/types.js 44 B 0 B
packages/convex/dist/client/index.js 14.6 kB 0 B
packages/convex/dist/component/_generated/api.js 712 B 0 B
packages/convex/dist/component/_generated/component.js 212 B 0 B
packages/convex/dist/component/_generated/dataModel.js 230 B 0 B
packages/convex/dist/component/_generated/server.js 3.74 kB 0 B
packages/convex/dist/component/convex.config.js 1.66 kB 0 B
packages/convex/dist/component/crons.js 969 B 0 B
packages/convex/dist/component/lib.js 24.8 kB 0 B
packages/convex/dist/component/schema.js 1.17 kB 0 B
packages/convex/dist/component/version.js 68 B 0 B
packages/core/dist/cookie.js 5.34 kB 0 B
packages/core/dist/cookie.mjs 3.12 kB 0 B
packages/core/dist/error-tracking/chunk-ids.js 2.54 kB 0 B
packages/core/dist/error-tracking/chunk-ids.mjs 1.31 kB 0 B
packages/core/dist/error-tracking/coercers/dom-exception-coercer.js 2.3 kB 0 B
packages/core/dist/error-tracking/coercers/dom-exception-coercer.mjs 993 B 0 B
packages/core/dist/error-tracking/coercers/error-coercer.js 2.03 kB 0 B
packages/core/dist/error-tracking/coercers/error-coercer.mjs 789 B 0 B
packages/core/dist/error-tracking/coercers/error-event-coercer.js 2.35 kB 0 B
packages/core/dist/error-tracking/coercers/error-event-coercer.mjs 1.05 kB 0 B
packages/core/dist/error-tracking/coercers/event-coercer.js 1.82 kB 0 B
packages/core/dist/error-tracking/coercers/event-coercer.mjs 548 B 0 B
packages/core/dist/error-tracking/coercers/index.js 6.79 kB 0 B
packages/core/dist/error-tracking/coercers/index.mjs 326 B 0 B
packages/core/dist/error-tracking/coercers/object-coercer.js 3.85 kB 0 B
packages/core/dist/error-tracking/coercers/object-coercer.mjs 2.4 kB 0 B
packages/core/dist/error-tracking/coercers/primitive-coercer.js 1.67 kB 0 B
packages/core/dist/error-tracking/coercers/primitive-coercer.mjs 419 B 0 B
packages/core/dist/error-tracking/coercers/promise-rejection-event.js 2.59 kB 0 B
packages/core/dist/error-tracking/coercers/promise-rejection-event.mjs 1.25 kB 0 B
packages/core/dist/error-tracking/coercers/string-coercer.js 2.01 kB 0 B
packages/core/dist/error-tracking/coercers/string-coercer.mjs 820 B 0 B
packages/core/dist/error-tracking/coercers/utils.js 2.06 kB 0 B
packages/core/dist/error-tracking/coercers/utils.mjs 716 B 0 B
packages/core/dist/error-tracking/error-properties-builder.js 5.56 kB 0 B
packages/core/dist/error-tracking/error-properties-builder.mjs 4.23 kB 0 B
packages/core/dist/error-tracking/exception-steps.js 6.01 kB 0 B
packages/core/dist/error-tracking/exception-steps.mjs 3.84 kB 0 B
packages/core/dist/error-tracking/index.js 5.32 kB 0 B
packages/core/dist/error-tracking/index.mjs 222 B 0 B
packages/core/dist/error-tracking/parsers/base.js 1.83 kB 0 B
packages/core/dist/error-tracking/parsers/base.mjs 464 B 0 B
packages/core/dist/error-tracking/parsers/chrome.js 2.73 kB 0 B
packages/core/dist/error-tracking/parsers/chrome.mjs 1.32 kB 0 B
packages/core/dist/error-tracking/parsers/gecko.js 2.47 kB 0 B
packages/core/dist/error-tracking/parsers/gecko.mjs 1.13 kB 0 B
packages/core/dist/error-tracking/parsers/index.js 4.75 kB 0 B
packages/core/dist/error-tracking/parsers/index.mjs 2.1 kB 0 B
packages/core/dist/error-tracking/parsers/node.js 4.21 kB 0 B
packages/core/dist/error-tracking/parsers/node.mjs 2.95 kB 0 B
packages/core/dist/error-tracking/parsers/opera.js 2.26 kB 0 B
packages/core/dist/error-tracking/parsers/opera.mjs 746 B 0 B
packages/core/dist/error-tracking/parsers/safari.js 1.88 kB 0 B
packages/core/dist/error-tracking/parsers/safari.mjs 574 B 0 B
packages/core/dist/error-tracking/parsers/winjs.js 1.72 kB 0 B
packages/core/dist/error-tracking/parsers/winjs.mjs 426 B 0 B
packages/core/dist/error-tracking/release.js 1.42 kB 0 B
packages/core/dist/error-tracking/release.mjs 203 B 0 B
packages/core/dist/error-tracking/types.js 1.33 kB 0 B
packages/core/dist/error-tracking/types.mjs 131 B 0 B
packages/core/dist/error-tracking/utils.js 1.8 kB 0 B
packages/core/dist/error-tracking/utils.mjs 604 B 0 B
packages/core/dist/eventemitter.js 1.78 kB 0 B
packages/core/dist/eventemitter.mjs 571 B 0 B
packages/core/dist/gzip.js 5.73 kB 0 B
packages/core/dist/gzip.mjs 3.85 kB 0 B
packages/core/dist/logs/index.js 10.5 kB 0 B
packages/core/dist/logs/index.mjs 8.87 kB 0 B
packages/core/dist/logs/logs-utils.js 7.01 kB 0 B
packages/core/dist/logs/logs-utils.mjs 4.85 kB 0 B
packages/core/dist/logs/types.js 603 B 0 B
packages/core/dist/logs/types.mjs 0 B 0 B 🆕
packages/core/dist/metrics/config.js 1.95 kB 0 B
packages/core/dist/metrics/config.mjs 735 B 0 B
packages/core/dist/metrics/index.js 14.4 kB 0 B
packages/core/dist/metrics/index.mjs 12 kB 0 B
packages/core/dist/metrics/metrics-utils.js 3.86 kB 0 B
packages/core/dist/metrics/metrics-utils.mjs 1.97 kB 0 B
packages/core/dist/metrics/types.js 603 B 0 B
packages/core/dist/metrics/types.mjs 0 B 0 B 🆕
packages/core/dist/posthog-core-stateless.js 41.9 kB 0 B
packages/core/dist/posthog-core-stateless.mjs 38.9 kB 0 B
packages/core/dist/posthog-core.js 49.1 kB 0 B
packages/core/dist/posthog-core.mjs 43.5 kB 0 B
packages/core/dist/surveys/activation.js 2.2 kB 0 B
packages/core/dist/surveys/activation.mjs 572 B 0 B
packages/core/dist/surveys/events.js 4.21 kB 0 B
packages/core/dist/surveys/events.mjs 1.99 kB 0 B
packages/core/dist/surveys/index.js 5.73 kB 0 B
packages/core/dist/surveys/index.mjs 1.21 kB 0 B
packages/core/dist/surveys/keys.js 1.7 kB 0 B
packages/core/dist/surveys/keys.mjs 350 B 0 B
packages/core/dist/surveys/translations.js 10 kB 0 B
packages/core/dist/surveys/translations.mjs 7.55 kB 0 B
packages/core/dist/surveys/validation.js 3.06 kB 0 B
packages/core/dist/surveys/validation.mjs 1.51 kB 0 B
packages/core/dist/testing/index.js 2.93 kB 0 B
packages/core/dist/testing/index.mjs 79 B 0 B
packages/core/dist/testing/PostHogCoreTestClient.js 3.24 kB 0 B
packages/core/dist/testing/PostHogCoreTestClient.mjs 1.83 kB 0 B
packages/core/dist/testing/test-utils.js 2.83 kB 0 B
packages/core/dist/testing/test-utils.mjs 1.15 kB 0 B
packages/core/dist/tracing-headers.js 3.38 kB 0 B
packages/core/dist/tracing-headers.mjs 2.08 kB 0 B
packages/core/dist/types.js 8.21 kB 0 B
packages/core/dist/types.mjs 5.09 kB 0 B
packages/core/dist/utils/bot-detection.js 3.28 kB 0 B
packages/core/dist/utils/bot-detection.mjs 1.95 kB 0 B
packages/core/dist/utils/browser-utils.js 1.48 kB 0 B
packages/core/dist/utils/browser-utils.mjs 182 B 0 B
packages/core/dist/utils/bucketed-rate-limiter.js 4.23 kB 0 B
packages/core/dist/utils/bucketed-rate-limiter.mjs 2.22 kB 0 B
packages/core/dist/utils/index.js 16.6 kB 0 B
packages/core/dist/utils/index.mjs 3.06 kB 0 B
packages/core/dist/utils/json-utils.js 5.48 kB 0 B
packages/core/dist/utils/json-utils.mjs 4.29 kB 0 B
packages/core/dist/utils/logger.js 2.58 kB 0 B
packages/core/dist/utils/logger.mjs 1.29 kB 0 B
packages/core/dist/utils/number-utils.js 3.32 kB 0 B
packages/core/dist/utils/number-utils.mjs 1.68 kB 0 B
packages/core/dist/utils/promise-queue.js 2.48 kB 0 B
packages/core/dist/utils/promise-queue.mjs 1.25 kB 0 B
packages/core/dist/utils/string-utils.js 3.73 kB 0 B
packages/core/dist/utils/string-utils.mjs 1.97 kB 0 B
packages/core/dist/utils/type-utils.js 7.43 kB 0 B
packages/core/dist/utils/type-utils.mjs 3.28 kB 0 B
packages/core/dist/utils/user-agent-utils.js 17.7 kB 0 B
packages/core/dist/utils/user-agent-utils.mjs 14.2 kB 0 B
packages/core/dist/vendor/uuidv7.js 8.29 kB 0 B
packages/core/dist/vendor/uuidv7.mjs 6.72 kB 0 B
packages/mcp/dist/extensions/analytics-parameters.js 4.34 kB 0 B
packages/mcp/dist/extensions/analytics-parameters.mjs 2.38 kB 0 B
packages/mcp/dist/extensions/capture.js 3.75 kB 0 B
packages/mcp/dist/extensions/capture.mjs 2.39 kB 0 B
packages/mcp/dist/extensions/client-********.js 2.98 kB 0 B
packages/mcp/dist/extensions/client-********.mjs 1.36 kB 0 B
packages/mcp/dist/extensions/compatibility.js 5.62 kB 0 B
packages/mcp/dist/extensions/compatibility.mjs 3.85 kB 0 B
packages/mcp/dist/extensions/constants.js 4.68 kB 0 B
packages/mcp/dist/extensions/constants.mjs 2.44 kB 0 B
packages/mcp/dist/extensions/context-parameters.js 4.01 kB 0 B
packages/mcp/dist/extensions/context-parameters.mjs 2.12 kB 0 B
packages/mcp/dist/extensions/conversation-id.js 6.78 kB 0 B
packages/mcp/dist/extensions/conversation-id.mjs 3.96 kB 0 B
packages/mcp/dist/extensions/event-types.js 1.68 kB 0 B
packages/mcp/dist/extensions/event-types.mjs 459 B 0 B
packages/mcp/dist/extensions/exceptions.js 2.57 kB 0 B
packages/mcp/dist/extensions/exceptions.mjs 1.19 kB 0 B
packages/mcp/dist/extensions/ids.js 2.01 kB 0 B
packages/mcp/dist/extensions/ids.mjs 637 B 0 B
packages/mcp/dist/extensions/instrument-********.js 4.75 kB 0 B
packages/mcp/dist/extensions/instrument-********.mjs 3.01 kB 0 B
packages/mcp/dist/extensions/instrument-highlevel.js 12.2 kB 0 B
packages/mcp/dist/extensions/instrument-highlevel.mjs 9.83 kB 0 B
packages/mcp/dist/extensions/instrumentation.js 23.8 kB 0 B
packages/mcp/dist/extensions/instrumentation.mjs 19 kB 0 B
packages/mcp/dist/extensions/intent.js 3.21 kB 0 B
packages/mcp/dist/extensions/intent.mjs 1.65 kB 0 B
packages/mcp/dist/extensions/internal.js 7.27 kB 0 B
packages/mcp/dist/extensions/internal.mjs 5.03 kB 0 B
packages/mcp/dist/extensions/lib-********.js 1.6 kB 0 B
packages/mcp/dist/extensions/lib-********.mjs 267 B 0 B
packages/mcp/dist/extensions/logger.js 1.72 kB 0 B
packages/mcp/dist/extensions/logger.mjs 380 B 0 B
packages/mcp/dist/extensions/mcp-********.js 4.68 kB 0 B
packages/mcp/dist/extensions/mcp-********.mjs 3.3 kB 0 B
packages/mcp/dist/extensions/mcp-sdk-compat.js 4.57 kB 0 B
packages/mcp/dist/extensions/mcp-sdk-compat.mjs 2.58 kB 0 B
packages/mcp/dist/extensions/posthog-events.js 10.8 kB 0 B
packages/mcp/dist/extensions/posthog-events.mjs 7.35 kB 0 B
packages/mcp/dist/extensions/posthog-mcp.js 6.65 kB 0 B
packages/mcp/dist/extensions/posthog-mcp.mjs 4.74 kB 0 B
packages/mcp/dist/extensions/sanitization.js 4.49 kB 0 B
packages/mcp/dist/extensions/sanitization.mjs 2.86 kB 0 B
packages/mcp/dist/extensions/session-token.js 5.72 kB 0 B
packages/mcp/dist/extensions/session-token.mjs 4 kB 0 B
packages/mcp/dist/extensions/session.js 4.74 kB 0 B
packages/mcp/dist/extensions/session.mjs 2.78 kB 0 B
packages/mcp/dist/extensions/sink.js 4.37 kB 0 B
packages/mcp/dist/extensions/sink.mjs 2.67 kB 0 B
packages/mcp/dist/extensions/tools.js 3.51 kB 0 B
packages/mcp/dist/extensions/tools.mjs 1.63 kB 0 B
packages/mcp/dist/extensions/tracing-helpers.js 2.41 kB 0 B
packages/mcp/dist/extensions/tracing-helpers.mjs 772 B 0 B
packages/mcp/dist/extensions/truncation.js 11.2 kB 0 B
packages/mcp/dist/extensions/truncation.mjs 9.54 kB 0 B
packages/mcp/dist/index.js 8.52 kB 0 B
packages/mcp/dist/index.mjs 4.87 kB 0 B
packages/mcp/dist/types.js 603 B 0 B
packages/mcp/dist/types.mjs 0 B 0 B 🆕
packages/mcp/dist/version.js 1.21 kB 0 B
packages/mcp/dist/version.mjs 46 B 0 B
packages/next/dist/app/PostHogProvider.js 5.37 kB 0 B
packages/next/dist/client/ClientPostHogProvider.js 2.28 kB 0 B
packages/next/dist/client/hooks.js 172 B 0 B
packages/next/dist/client/PostHogPageView.js 1.76 kB 0 B
packages/next/dist/index.client.js 401 B 0 B
packages/next/dist/index.edge.js 570 B 0 B
packages/next/dist/index.js 554 B 0 B
packages/next/dist/index.react-server.js 420 B 0 B
packages/next/dist/middleware/postHogMiddleware.js 3.68 kB 0 B
packages/next/dist/pages.client.js 225 B 0 B
packages/next/dist/pages.edge.js 294 B 0 B
packages/next/dist/pages.js 347 B 0 B
packages/next/dist/pages/createPostHog.js 1.48 kB 0 B
packages/next/dist/pages/getServerSidePostHog.js 1.48 kB 0 B
packages/next/dist/pages/PostHogPageView.js 1.55 kB 0 B
packages/next/dist/pages/PostHogProvider.js 1.58 kB 0 B
packages/next/dist/server.edge.js 795 B 0 B
packages/next/dist/server/captureRequestError.js 5.26 kB 0 B
packages/next/dist/server/clientCache.edge.js 305 B 0 B
packages/next/dist/server/clientCache.js 1.54 kB 0 B
packages/next/dist/server/clientCache.node.js 305 B 0 B
packages/next/dist/server/createPostHog.js 1.44 kB 0 B
packages/next/dist/server/getPostHog.js 3.45 kB 0 B
packages/next/dist/server/onRequestError.js 1.39 kB 0 B
packages/next/dist/server/onRequestError.types.js 59 B 0 B
packages/next/dist/shared/browser.js 195 B 0 B
packages/next/dist/shared/config.js 2.23 kB 0 B
packages/next/dist/shared/constants.js 201 B 0 B
packages/next/dist/shared/cookie.js 540 B 0 B
packages/next/dist/shared/identity.js 2.56 kB 0 B
packages/next/dist/shared/tracing-headers.js 2.18 kB 0 B
packages/nextjs-config/dist/config.js 6.1 kB 0 B
packages/nextjs-config/dist/config.mjs 4.53 kB 0 B
packages/nextjs-config/dist/index.js 2.24 kB 0 B
packages/nextjs-config/dist/index.mjs 30 B 0 B
packages/nextjs-config/dist/strip-sourcemap-********.js 3.63 kB 0 B
packages/nextjs-config/dist/strip-sourcemap-********.mjs 1.77 kB 0 B
packages/nextjs-config/dist/utils.js 2.94 kB 0 B
packages/nextjs-config/dist/utils.mjs 826 B 0 B
packages/node/dist/capture-v1/config.js 1.5 kB 0 B
packages/node/dist/capture-v1/config.mjs 292 B 0 B
packages/node/dist/capture-v1/errors.js 1.89 kB 0 B
packages/node/dist/capture-v1/errors.mjs 694 B 0 B
packages/node/dist/capture-v1/routing.js 1.68 kB 0 B
packages/node/dist/capture-v1/routing.mjs 279 B 0 B
packages/node/dist/capture-v1/sender.js 9.22 kB 0 B
packages/node/dist/capture-v1/sender.mjs 7.75 kB 0 B
packages/node/dist/capture-v1/transform.js 4.86 kB 0 B
packages/node/dist/capture-v1/transform.mjs 3.38 kB 0 B
packages/node/dist/capture-v1/types.js 603 B 0 B
packages/node/dist/capture-v1/types.mjs 0 B 0 B 🆕
packages/node/dist/client.js 54.6 kB 0 B
packages/node/dist/client.mjs 51.9 kB 0 B
packages/node/dist/entrypoints/index.edge.js 3.85 kB 0 B
packages/node/dist/entrypoints/index.edge.mjs 720 B 0 B
packages/node/dist/entrypoints/index.node.js 5.72 kB 0 B
packages/node/dist/entrypoints/index.node.mjs 1.29 kB 0 B
packages/node/dist/entrypoints/nestjs.js 2.31 kB 0 B
packages/node/dist/entrypoints/nestjs.mjs 42 B 0 B
packages/node/dist/experimental.js 870 B 0 B
packages/node/dist/experimental.mjs 267 B 0 B
packages/node/dist/exports.js 6.75 kB 0 B
packages/node/dist/exports.mjs 582 B 0 B
packages/node/dist/extensions/context/context.js 2.13 kB 0 B
packages/node/dist/extensions/context/context.mjs 863 B 0 B
packages/node/dist/extensions/context/types.js 603 B 0 B
packages/node/dist/extensions/context/types.mjs 0 B 0 B 🆕
packages/node/dist/extensions/error-tracking/autocapture.js 5.19 kB 0 B
packages/node/dist/extensions/error-tracking/autocapture.mjs 3.62 kB 0 B
packages/node/dist/extensions/error-tracking/index.js 4.38 kB 0 B
packages/node/dist/extensions/error-tracking/index.mjs 3.17 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/context-lines.node.js 11.6 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/context-lines.node.mjs 9.64 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/module.node.js 2.78 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/module.node.mjs 1.45 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/relative-path.node.js 1.97 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/relative-path.node.mjs 624 B 0 B
packages/node/dist/extensions/express.js 4.97 kB 0 B
packages/node/dist/extensions/express.mjs 2.78 kB 0 B
packages/node/dist/extensions/feature-flags/cache.js 603 B 0 B
packages/node/dist/extensions/feature-flags/cache.mjs 0 B 0 B 🆕
packages/node/dist/extensions/feature-flags/crypto.js 1.57 kB 0 B
packages/node/dist/extensions/feature-flags/crypto.mjs 395 B 0 B
packages/node/dist/extensions/feature-flags/feature-flags.js 42.2 kB 0 B
packages/node/dist/extensions/feature-flags/feature-flags.mjs 40.1 kB 0 B
packages/node/dist/extensions/nestjs.js 5.62 kB 0 B
packages/node/dist/extensions/nestjs.mjs 3.42 kB 0 B
packages/node/dist/extensions/sentry-integration.js 4.88 kB 0 B
packages/node/dist/extensions/sentry-integration.mjs 3.36 kB 0 B
packages/node/dist/extensions/tracing-headers.js 3.31 kB 0 B
packages/node/dist/extensions/tracing-headers.mjs 1.53 kB 0 B
packages/node/dist/extensions/url-utils.js 2.22 kB 0 B
packages/node/dist/extensions/url-utils.mjs 785 B 0 B
packages/node/dist/feature-flag-evaluations.js 6.08 kB 0 B
packages/node/dist/feature-flag-evaluations.mjs 4.74 kB 0 B
packages/node/dist/storage-memory.js 1.52 kB 0 B
packages/node/dist/storage-memory.mjs 297 B 0 B
packages/node/dist/types.js 1.43 kB 0 B
packages/node/dist/types.mjs 224 B 0 B
packages/node/dist/version.js 1.21 kB 0 B
packages/node/dist/version.mjs 46 B 0 B
packages/nuxt/dist/module.mjs 5.76 kB 0 B
packages/nuxt/dist/runtime/composables/useFeatureFlagEnabled.js 566 B 0 B
packages/nuxt/dist/runtime/composables/useFeatureFlagPayload.js 690 B 0 B
packages/nuxt/dist/runtime/composables/useFeatureFlagVariantKey.js 591 B 0 B
packages/nuxt/dist/runtime/composables/usePostHog.js 128 B 0 B
packages/nuxt/dist/runtime/nitro-plugin.js 1.08 kB 0 B
packages/nuxt/dist/runtime/vue-plugin.js 1.14 kB 0 B
packages/openfeature-node-provider/dist/index.js 1.76 kB 0 B
packages/openfeature-node-provider/dist/index.mjs 190 B 0 B
packages/openfeature-node-provider/dist/mapping.js 5.32 kB 0 B
packages/openfeature-node-provider/dist/mapping.mjs 3.21 kB 0 B
packages/openfeature-node-provider/dist/provider.js 3.99 kB 0 B
packages/openfeature-node-provider/dist/provider.mjs 2.6 kB 0 B
packages/openfeature-web-provider/dist/index.js 1.75 kB 0 B
packages/openfeature-web-provider/dist/index.mjs 184 B 0 B
packages/openfeature-web-provider/dist/mapping.js 5.29 kB 0 B
packages/openfeature-web-provider/dist/mapping.mjs 3.18 kB 0 B
packages/openfeature-web-provider/dist/provider.js 4.41 kB 0 B
packages/openfeature-web-provider/dist/provider.mjs 3.06 kB 0 B
packages/plugin-utils/dist/cli.js 3.14 kB 0 B
packages/plugin-utils/dist/cli.mjs 1.64 kB 0 B
packages/plugin-utils/dist/config.js 3.07 kB 0 B
packages/plugin-utils/dist/config.mjs 1.83 kB 0 B
packages/plugin-utils/dist/index.js 4.3 kB 0 B
packages/plugin-utils/dist/index.mjs 217 B 0 B
packages/plugin-utils/dist/spawn-local.js 2.17 kB 0 B
packages/plugin-utils/dist/spawn-local.mjs 918 B 0 B
packages/plugin-utils/dist/utils.js 3.27 kB 0 B
packages/plugin-utils/dist/utils.mjs 1.3 kB 0 B
packages/react-native/dist/autocapture.js 6.27 kB 0 B
packages/react-native/dist/error-tracking/index.js 9.97 kB 0 B
packages/react-native/dist/error-tracking/utils.js 2.58 kB 0 B
packages/react-native/dist/frameworks/wix-navigation.js 1.3 kB 0 B
packages/react-native/dist/hooks/useFeatureFlag.js 1.84 kB 0 B
packages/react-native/dist/hooks/useFeatureFlagResult.js 963 B 0 B
packages/react-native/dist/hooks/useFeatureFlags.js 921 B 0 B
packages/react-native/dist/hooks/useNavigationTracker.js 2.45 kB 0 B
packages/react-native/dist/hooks/usePostHog.js 544 B 0 B
packages/react-native/dist/hooks/utils.js 988 B 0 B
packages/react-native/dist/index.js 4.33 kB 0 B
packages/react-native/dist/logs-********.js 3.66 kB 0 B
packages/react-native/dist/native-deps.js 8.73 kB 0 B
packages/react-native/dist/optional/OptionalAsyncStorage.js 299 B 0 B
packages/react-native/dist/optional/OptionalExpoApplication.js 377 B 0 B
packages/react-native/dist/optional/OptionalExpoDevice.js 347 B 0 B
packages/react-native/dist/optional/OptionalExpoFileSystem.js 386 B 0 B
packages/react-native/dist/optional/OptionalExpoFileSystemLegacy.js 423 B 0 B
packages/react-native/dist/optional/OptionalExpoLocalization.js 383 B 0 B
packages/react-native/dist/optional/OptionalPlugin.js 569 B 0 B
packages/react-native/dist/optional/OptionalReactNativeDeviceInfo.js 415 B 0 B
packages/react-native/dist/optional/OptionalReactNativeLocalize.js 303 B 0 B
packages/react-native/dist/optional/OptionalReactNativeNavigation.js 415 B 0 B
packages/react-native/dist/optional/OptionalReactNativeNavigationWix.js 443 B 0 B
packages/react-native/dist/optional/OptionalReactNativeSafeArea.js 644 B 0 B
packages/react-native/dist/optional/OptionalReactNativeSvg.js 872 B 0 B
packages/react-native/dist/posthog-rn.js 55.2 kB 0 B
packages/react-native/dist/PostHogContext.js 329 B 0 B
packages/react-native/dist/PostHogErrorBoundary.js 3.19 kB 0 B
packages/react-native/dist/PostHogMaskView.js 1.68 kB 0 B
packages/react-native/dist/PostHogProvider.js 4.55 kB 0 B
packages/react-native/dist/storage.js 5.76 kB 0 B
packages/react-native/dist/surveys/components/BottomSection.js 1.51 kB 0 B
packages/react-native/dist/surveys/components/Cancel.js 968 B 0 B
packages/react-native/dist/surveys/components/ConfirmationMessage.js 1.71 kB 0 B
packages/react-native/dist/surveys/components/QuestionHeader.js 1.43 kB 0 B
packages/react-native/dist/surveys/components/QuestionTypes.js 14 kB 0 B
packages/react-native/dist/surveys/components/SurveyModal.js 6.66 kB 0 B
packages/react-native/dist/surveys/components/Surveys.js 6.58 kB 0 B
packages/react-native/dist/surveys/getActiveMatchingSurveys.js 2.73 kB 0 B
packages/react-native/dist/surveys/icons.js 10 kB 0 B
packages/react-native/dist/surveys/index.js 600 B 0 B
packages/react-native/dist/surveys/PostHogSurveyProvider.js 6.73 kB 0 B
packages/react-native/dist/surveys/safeStyleSheet.js 448 B 0 B
packages/react-native/dist/surveys/survey-translations.js 1.11 kB 0 B
packages/react-native/dist/surveys/surveys-utils.js 13.6 kB 0 B
packages/react-native/dist/surveys/useActivatedSurveys.js 3.73 kB 0 B
packages/react-native/dist/surveys/useSurveyStorage.js 2.48 kB 0 B
packages/react-native/dist/tooling/expoconfig.js 17.3 kB 0 B
packages/react-native/dist/tooling/metroconfig.js 2.32 kB 0 B
packages/react-native/dist/tooling/posthogMetroSerializer.js 4.86 kB 0 B
packages/react-native/dist/tooling/utils.js 4.05 kB 0 B
packages/react-native/dist/tooling/vendor/expo/expoconfig.js 70 B 0 B
packages/react-native/dist/tooling/vendor/metro/countLines.js 237 B 0 B
packages/react-native/dist/tooling/vendor/metro/utils.js 3.35 kB 0 B
packages/react-native/dist/types.js 70 B 0 B
packages/react-native/dist/utils.js 1.3 kB 0 B
packages/react-native/dist/version.js 130 B 0 B
packages/react/dist/esm/index.js 21.1 kB 0 B
packages/react/dist/esm/slim/index.js 17.5 kB 0 B
packages/react/dist/esm/surveys/index.js 4.75 kB 0 B
packages/react/dist/umd/index.js 24.3 kB 0 B
packages/react/dist/umd/slim/index.js 20.3 kB 0 B
packages/react/dist/umd/surveys/index.js 5.52 kB 0 B
packages/rollup-plugin/dist/index.js 2.47 kB 0 B
packages/rrweb/all/dist/rrweb-all.cjs 646 kB 0 B
packages/rrweb/all/dist/rrweb-all.js 646 kB 0 B
packages/rrweb/all/dist/rrweb-all.umd.cjs 649 kB 0 B
packages/rrweb/all/dist/rrweb-all.umd.min.cjs 305 kB 0 B
packages/rrweb/packer/dist/base-********.cjs 18.3 kB 0 B
packages/rrweb/packer/dist/base-********.js 18.2 kB 0 B
packages/rrweb/packer/dist/base-********.umd.cjs 18.7 kB 0 B
packages/rrweb/packer/dist/base-********.umd.min.cjs 9.5 kB 0 B
packages/rrweb/packer/dist/pack.cjs 347 B 0 B
packages/rrweb/packer/dist/pack.js 285 B 0 B
packages/rrweb/packer/dist/pack.umd.cjs 1.63 kB 0 B
packages/rrweb/packer/dist/pack.umd.min.cjs 1.11 kB 0 B
packages/rrweb/packer/dist/packer.cjs 257 B 0 B
packages/rrweb/packer/dist/packer.js 136 B 0 B
packages/rrweb/packer/dist/packer.umd.cjs 662 B 0 B
packages/rrweb/packer/dist/packer.umd.min.cjs 626 B 0 B
packages/rrweb/packer/dist/unpack.cjs 769 B 0 B
packages/rrweb/packer/dist/unpack.js 702 B 0 B
packages/rrweb/packer/dist/unpack.umd.cjs 1.17 kB 0 B
packages/rrweb/packer/dist/unpack.umd.min.cjs 955 B 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.cjs 37.6 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.js 37.5 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.umd.cjs 38 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.umd.min.cjs 22.2 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.cjs 34.3 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.js 34.2 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.umd.cjs 34.7 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.umd.min.cjs 20.5 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.cjs 15.6 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.js 15.5 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.umd.cjs 16.1 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.umd.min.cjs 7.61 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.cjs 5.01 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.js 4.9 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.umd.cjs 5.44 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.umd.min.cjs 2.64 kB 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.cjs 681 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.js 548 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.umd.cjs 1.12 kB 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.umd.min.cjs 829 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.cjs 933 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.js 820 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.umd.cjs 1.37 kB 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.umd.min.cjs 968 B 0 B
packages/rrweb/record/dist/rrweb-record.cjs 193 kB 0 B
packages/rrweb/record/dist/rrweb-record.js 193 kB 0 B
packages/rrweb/record/dist/rrweb-record.umd.cjs 194 kB 0 B
packages/rrweb/record/dist/rrweb-record.umd.min.cjs 92.3 kB 0 B
packages/rrweb/replay/dist/rrweb-replay.cjs 457 kB 0 B
packages/rrweb/replay/dist/rrweb-replay.js 457 kB 0 B
packages/rrweb/replay/dist/rrweb-replay.umd.cjs 459 kB 0 B
packages/rrweb/replay/dist/rrweb-replay.umd.min.cjs 217 kB 0 B
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.cjs 153 kB 0 B
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.js 152 kB 0 B
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.umd.cjs 154 kB 0 B
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.umd.min.cjs 71.7 kB 0 B
packages/rrweb/rrdom/dist/rrdom.cjs 178 kB 0 B
packages/rrweb/rrdom/dist/rrdom.js 177 kB 0 B
packages/rrweb/rrdom/dist/rrdom.umd.cjs 179 kB 0 B
packages/rrweb/rrdom/dist/rrdom.umd.min.cjs 82.3 kB 0 B
packages/rrweb/rrweb-snapshot/dist/record.cjs 34.9 kB 0 B
packages/rrweb/rrweb-snapshot/dist/record.js 33.8 kB 0 B
packages/rrweb/rrweb-snapshot/dist/record.umd.cjs 57.5 kB 0 B
packages/rrweb/rrweb-snapshot/dist/record.umd.min.cjs 27.3 kB 0 B
packages/rrweb/rrweb-snapshot/dist/replay.cjs 141 kB 0 B
packages/rrweb/rrweb-snapshot/dist/replay.js 140 kB 0 B
packages/rrweb/rrweb-snapshot/dist/replay.umd.cjs 165 kB 0 B
packages/rrweb/rrweb-snapshot/dist/replay.umd.min.cjs 75.6 kB 0 B
packages/rrweb/rrweb-snapshot/dist/rrweb-********.cjs 2.27 kB 0 B
packages/rrweb/rrweb-snapshot/dist/rrweb-********.js 1.42 kB 0 B
packages/rrweb/rrweb-snapshot/dist/rrweb-********.umd.cjs 225 kB 0 B
packages/rrweb/rrweb-snapshot/dist/rrweb-********.umd.min.cjs 94.5 kB 0 B
packages/rrweb/rrweb-snapshot/dist/types-********.cjs 19.5 kB 0 B
packages/rrweb/rrweb-snapshot/dist/types-********.js 19 kB 0 B
packages/rrweb/rrweb-snapshot/dist/types-********.umd.cjs 20 kB 0 B
packages/rrweb/rrweb-snapshot/dist/types-********.umd.min.cjs 9.87 kB 0 B
packages/rrweb/rrweb/dist/rrweb.cjs 630 kB 0 B
packages/rrweb/rrweb/dist/rrweb.js 630 kB 0 B
packages/rrweb/rrweb/dist/rrweb.umd.cjs 630 kB 0 B
packages/rrweb/rrweb/dist/rrweb.umd.min.cjs 296 kB 0 B
packages/rrweb/types/dist/rrweb-types.cjs 5.75 kB 0 B
packages/rrweb/types/dist/rrweb-types.js 5.46 kB 0 B
packages/rrweb/types/dist/rrweb-types.umd.cjs 6.16 kB 0 B
packages/rrweb/types/dist/rrweb-types.umd.min.cjs 2.86 kB 0 B
packages/rrweb/utils/dist/rrweb-utils.cjs 7.56 kB 0 B
packages/rrweb/utils/dist/rrweb-utils.js 7.1 kB 0 B
packages/rrweb/utils/dist/rrweb-utils.umd.cjs 7.97 kB 0 B
packages/rrweb/utils/dist/rrweb-utils.umd.min.cjs 4.04 kB 0 B
packages/types/dist/capture-log.js 603 B 0 B
packages/types/dist/capture-log.mjs 0 B 0 B 🆕
packages/types/dist/capture-metric.js 1.37 kB 0 B
packages/types/dist/capture-metric.mjs 93 B 0 B
packages/types/dist/capture.js 603 B 0 B
packages/types/dist/capture.mjs 0 B 0 B 🆕
packages/types/dist/common.js 603 B 0 B
packages/types/dist/common.mjs 0 B 0 B 🆕
packages/types/dist/feature-flags.js 603 B 0 B
packages/types/dist/feature-flags.mjs 0 B 0 B 🆕
packages/types/dist/index.js 1.45 kB 0 B
packages/types/dist/index.mjs 122 B 0 B
packages/types/dist/posthog-config.js 603 B 0 B
packages/types/dist/posthog-config.mjs 0 B 0 B 🆕
packages/types/dist/posthog.js 603 B 0 B
packages/types/dist/posthog.mjs 0 B 0 B 🆕
packages/types/dist/request.js 603 B 0 B
packages/types/dist/request.mjs 0 B 0 B 🆕
packages/types/dist/segment.js 603 B 0 B
packages/types/dist/segment.mjs 0 B 0 B 🆕
packages/types/dist/session-recording.js 603 B 0 B
packages/types/dist/session-recording.mjs 0 B 0 B 🆕
packages/types/dist/survey.js 603 B 0 B
packages/types/dist/survey.mjs 0 B 0 B 🆕
packages/types/dist/toolbar.js 603 B 0 B
packages/types/dist/toolbar.mjs 0 B 0 B 🆕
packages/types/dist/tree-shakeable.js 603 B 0 B
packages/types/dist/tree-shakeable.mjs 0 B 0 B 🆕
packages/web/dist/index.cjs 14 kB 0 B
packages/web/dist/index.mjs 14 kB 0 B
packages/webpack-plugin/dist/config.js 1.47 kB 0 B
packages/webpack-plugin/dist/config.mjs 480 B 0 B
packages/webpack-plugin/dist/index.js 6.7 kB 0 B
packages/webpack-plugin/dist/index.mjs 2.94 kB 0 B
tooling/changelog/dist/index.js 3.31 kB 0 B
tooling/rollup-utils/dist/index.js 1.17 kB 0 B

compressed-size-action

@marandaneto
marandaneto requested a review from a team August 2, 2026 18:58
@marandaneto

Copy link
Copy Markdown
Member

I reproduced the attribution loss on the real minimal $feature_flag_called browser path and verified that the head preserves the supplied campaign fields. Before proceeding:

  • Add a posthog-js patch changeset. changeset status currently plans only an @posthog/core release, but the browser SDK bundles core into its published artifacts, so this fix would not otherwise be released. Add a posthog-node changeset too if Node behavior is intended to be part of this release.
  • Remove $referrer from the minimal allowlist unless there is a concrete ingestion/session consumer requiring the full URL. Current session attribution uses $referring_domain; retaining full $referrer weakens the minimal event's size/privacy boundary.
  • Add an exhaustive assertion for the canonical campaign key set and coverage of the Node minimization path, rather than testing only a subset.

Local evidence: base stripped $referring_domain, UTM and click-ID values; head preserved them while continuing to strip an unrelated superproperty.

@marandaneto

Copy link
Copy Markdown
Member

Addressed the review feedback in bf0bf21f4 (fix: complete minimal flag attribution coverage):

  • added patch release entries for posthog-js and posthog-node alongside @posthog/core
  • removed full $referrer from the minimal allowlist while retaining $referring_domain
  • kept all 24 canonical campaign/click-ID keys in a shared core constant
  • added exhaustive browser synchronization/preservation coverage against browser-common's canonical CAMPAIGN_PARAMS
  • added Node remote-evaluation/minimization-path coverage, including assertions that $referrer and an unrelated superproperty remain stripped

Validation on Node 24.18.0:

  • core focused Jest: 15/15 passed
  • browser focused Jest: 200/200 passed
  • Node focused Jest: 83/83 passed
  • changed-file ESLint + Prettier: passed
  • changeset status: plans @posthog/core 1.45.2, posthog-js 1.407.4, and posthog-node 5.46.2
  • posthog-node build: passed
  • pnpm turbo --filter=posthog-js build: 12/12 tasks passed (including core/browser-common/browser and required rrweb dependencies)

Autoreview against origin/main at bf0bf21f4, with all comment types: clean — no accepted/actionable findings; patch correct (0.94).

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

posthog-node Compliance Report

Date: 2026-08-04 14:09:41 UTC
Duration: 198263ms

✅ All Tests Passed!

111/111 tests passed


Capture_V1 Tests

94/94 tests passed

View Details
Test Status Duration
Endpoint And Method.Targets V1 Endpoint 96ms
Endpoint And Method.Does Not Use Legacy Endpoints 14ms
Required Headers.Has Authorization Bearer Header 12ms
Required Headers.Has Content Type Json 12ms
Required Headers.Has Posthog Sdk Info Format 11ms
Required Headers.Has Posthog Attempt Header 11ms
Required Headers.Has Posthog Request Id 11ms
Required Headers.Has Posthog Request Timestamp 10ms
Required Headers.Has User Agent 11ms
Body Format.Body Has Created At And Batch 10ms
Body Format.No Api Key In Body 8ms
Body Format.No Sent At In Body 7ms
Event Format.Event Has Required Root Fields 8ms
Event Format.Event Uuid Is Valid 7ms
Event Format.Event Timestamp Is Rfc3339 7ms
Event Format.Distinct Id Is String 8ms
Event Format.Distinct Id At Root Not Properties 8ms
Event Format.Custom Properties Preserved 8ms
Event Format.Set Properties Preserved 8ms
Event Format.Set Once Properties Preserved 7ms
Event Format.Groups Properties Preserved 8ms
Event Format.Sdk Generates Uuid If Not Provided 9ms
Event Format.Event Has Required Root Fields Batch 10ms
Event Format.Event Uuid Is Valid Batch 10ms
Event Format.Event Timestamp Is Rfc3339 Batch 11ms
Event Format.Distinct Id Is String Batch 10ms
Event Format.Distinct Id At Root Not Properties Batch 12ms
Event Format.Custom Properties Preserved Batch 11ms
Event Format.Set Properties Preserved Batch 18ms
Event Format.Set Once Properties Preserved Batch 11ms
Event Format.Groups Properties Preserved Batch 11ms
Event Format.Sdk Generates Uuid If Not Provided Batch 9ms
Batch Behavior.Multiple Events In Single Batch 14ms
Batch Behavior.Batch Envelope Smoke 12ms
Batch Behavior.Flush With No Events Sends Nothing 4ms
Batch Behavior.Flush At Triggers Batch 1008ms
Batch Behavior.Created At Reflects Batch Creation Time 8ms
Deduplication.Generates Unique Uuids 17ms
Deduplication.Different Events Same Content Different Uuids 9ms
Deduplication.Preserves Uuid On Retry 6018ms
Deduplication.Preserves Timestamp On Retry 6018ms
Deduplication.Preserves Uuid And Timestamp On Batch Retry 6021ms
Deduplication.No Duplicate Events In Batch 15ms
Header Behavior On Retry.Attempt Header Starts At One 7ms
Header Behavior On Retry.Attempt Header Increments On Retry 12026ms
Header Behavior On Retry.Request Id Preserved On Retry 6018ms
Header Behavior On Retry.Different Requests Have Different Request Ids 2016ms
Header Behavior On Retry.Request Timestamp Changes On Retry 6019ms
Response Format Validation.Success Response Has Uuid Keyed Results 9ms
Response Format Validation.Success Response Has Ok For Each Event 10ms
Response Format Validation.Success No Retry After When All Ok 9ms
Response Format Validation.Success Retry After Present When Retry Events 1013ms
Response Format Validation.Success No Retry After When Drop Only 12ms
Response Format Validation.Response Echoes Request Id 8ms
Retry Behavior.Retries On 408 6017ms
Retry Behavior.Retries On 500 6018ms
Retry Behavior.Retries On 503 7020ms
Retry Behavior.Retries On 504 6017ms
Retry Behavior.Retryable Errors Have Retry After 3018ms
Retry Behavior.Respects Retry After On Retryable Error 11021ms
Retry Behavior.Does Not Retry On 400 2012ms
Retry Behavior.Does Not Retry On 401 2010ms
Retry Behavior.Does Not Retry On 402 2012ms
Retry Behavior.Does Not Retry On 413 2011ms
Retry Behavior.Does Not Retry On 415 2012ms
Retry Behavior.Non Retryable Errors Have No Retry After 2012ms
Retry Behavior.Implements Backoff 18026ms
Retry Behavior.Max Retries Respected 18034ms
Partial Batch Handling.Handles 200 Full Success 2011ms
Partial Batch Handling.Handles 200 With All Ok 3017ms
Partial Batch Handling.Does Not Retry Dropped Events 3014ms
Partial Batch Handling.Does Not Retry Limited Events 3013ms
Partial Batch Handling.Prunes Ok Events On Partial Retry 6020ms
Partial Batch Handling.Prunes Dropped Events On Partial Retry 6020ms
Partial Batch Handling.Retries Only Retry Events From Partial 6023ms
Partial Batch Handling.Partial Retry Preserves Uuids 6023ms
Partial Batch Handling.Partial Retry Attempt Header Increments 6022ms
Partial Batch Handling.Partial Retry Request Id Preserved 6021ms
Partial Batch Handling.Respects Retry After On Partial 8022ms
Partial Batch Handling.Unknown Result Treated As Terminal 3015ms
Partial Batch Handling.Mixed Ok Drop Limited No Retry 3016ms
Compression.Sends Gzip Content Encoding 10ms
Compression.No Content Encoding When Disabled 8ms
Compression.Compressed Body Is Decompressible 8ms
Error Handling.Does Not Retry On Unknown 4Xx 2010ms
Event Options.Cookieless Mode Override 10ms
Event Options.Disable Skew Correction Override 7ms
Event Options.Process Person Profile Override 9ms
Event Options.Product Tour Id Override 8ms
Event Options.Unset Options Omitted 8ms
Event Options.Options Override In Batch 10ms
Geoip And Historical Migration.Geoip Disable Injected Into Properties 8ms
Geoip And Historical Migration.Historical Migration Set In Body 8ms
Geoip And Historical Migration.Historical Migration Absent By Default 8ms

Feature_Flags Tests

17/17 tests passed

View Details
Test Status Duration
Request Payload.Request With Person Properties Device Id 11ms
Request Payload.Flags Request Uses V2 Query Param 10ms
Request Payload.Flags Request Hits Flags Path Not Decide 10ms
Request Payload.Flags Request Omits Authorization Header 10ms
Request Payload.Token In Flags Body Matches Init 10ms
Request Payload.Groups Round Trip 10ms
Request Payload.Groups Default To Empty Object 11ms
Request Payload.Disable Geoip False Propagates As Geoip Disable False 10ms
Request Payload.Disable Geoip Omitted Defaults To False 9ms
Request Payload.Flag Keys To Evaluate Contains Only Requested Key 10ms
Request Lifecycle.No Flags Request On Init Alone 3ms
Request Lifecycle.No Flags Request On Normal Capture 8ms
Request Lifecycle.Two Flag Calls Produce Two Remote Requests 13ms
Request Lifecycle.Mock Response Value Is Returned To Caller 16ms
Retry Behavior.Retries Flags On 502 265ms
Retry Behavior.Retries Flags On 504 263ms
Side Effect Events.Get Feature Flag Captures Feature Flag Called Event 10ms

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

posthog-js Compliance Report

Date: 2026-08-04 14:16:06 UTC
Duration: 88652ms

✅ All Tests Passed!

26/26 tests passed


Capture Tests

26/26 tests passed

View Details
Test Status Duration
Format Validation.Event Has Required Fields Client 89ms
Format Validation.Event Has Uuid 15ms
Format Validation.Event Has Lib Properties 11ms
Format Validation.Distinct Id Is String Client 13ms
Format Validation.Token Is Present Client 13ms
Format Validation.Custom Properties Preserved 13ms
Format Validation.Event Has Timestamp 12ms
Retry Behavior.Retries On 503 5017ms
Retry Behavior.Does Not Retry On 400 2012ms
Retry Behavior.Does Not Retry On 401 2014ms
Retry Behavior.Respects Retry After Header 5017ms
Retry Behavior.Implements Backoff 15022ms
Retry Behavior.Retries On 500 5013ms
Retry Behavior.Retries On 502 5011ms
Retry Behavior.Retries On 504 5016ms
Retry Behavior.Max Retries Respected 15023ms
Deduplication.Generates Unique Uuids 17ms
Deduplication.Preserves Uuid On Retry 5009ms
Deduplication.Preserves Uuid And Timestamp On Retry 10021ms
Deduplication.Preserves Uuid And Timestamp On Batch Retry 5018ms
Deduplication.No Duplicate Events In Batch 17ms
Deduplication.Different Events Have Different Uuids 11ms
Batch Format.Flush With No Events Sends Nothing 4ms
Error Handling.Does Not Retry On 403 2011ms
Error Handling.Does Not Retry On 413 2012ms
Error Handling.Retries On 408 5012ms

@marandaneto
marandaneto requested a review from a team August 3, 2026 11:58
@marandaneto
marandaneto marked this pull request as ready for review August 3, 2026 11:58
@marandaneto

Copy link
Copy Markdown
Member

Refreshed onto latest origin/main (ad5bb1b80) with signed normal merge commit f1275cf03 (no history rewrite/force-push). The merge was conflict-free, and the PR diff remains limited to the intended five files.

Post-merge validation on Node 24.18.1 / pnpm 11.7.0:

  • @posthog/core focused Jest: 122/122 passed
  • posthog-js focused feature-flags Jest: 200/200 passed
  • posthog-node focused feature-flags Jest: 83/83 passed
  • targeted core/browser/node ESLint: passed
  • browser TypeScript typecheck: passed
  • core/browser/node changed-file Prettier check: passed
  • browser + Node production builds with dependencies: 13/13 Turbo tasks passed
  • generated public API references + pnpm check:public-api: passed; references are up to date
  • changeset status: patch releases planned for @posthog/core, posthog-js, and posthog-node
  • bundle-driven autoreview against origin/main, all comment types: clean; no accepted/actionable findings (patch correct 0.96)

Contract rechecked in the real code/tests: all 24 canonical campaign/session-attribution keys plus $referring_domain survive minimization; full $referrer and unrelated registration properties remain stripped; browser synchronization and Node registration/remote-evaluation minimization paths remain covered.

@marandaneto

Copy link
Copy Markdown
Member

Final rolling-main refresh complete at signed head 358b4a77001e7f1f4c6927997d21337ebf0c7a12.

  • Normally merged main at refresh cutoff 3418e1e440271de7fb84555b4faa30f709d55eca without rewriting history or force-pushing.
  • Re-ran focused validation and final autoreview/review checks; no code blockers remain.
  • Fresh CI is terminal and green: 52 passing checks, zero pending, zero failures.
  • Review-thread audit: zero unresolved threads.

PR state was otherwise left unchanged.

@marandaneto
marandaneto merged commit d3c4538 into main Aug 4, 2026
55 checks passed
@marandaneto
marandaneto deleted the posthog-code/keep-utm-on-minimal-flag-called branch August 4, 2026 15:47
posthog Bot added a commit to PostHog/sdk-specs that referenced this pull request Aug 5, 2026
…to minimal-event allowlist

## Why

[posthog-js#4287](PostHog/posthog-js#4287) ("keep session-attribution
props on minimal $feature_flag_called events") fixed a web-analytics data-correctness bug: the
minimal-event allowlist added by posthog-js#4172 (documented here in
[#16](#16)) stripped every referrer and campaign/click-id
super property (`utm_source`, `gclid`, `$referring_domain`, etc.). Web-analytics session-initial
UTM attribution and channel-type grouping are read from the **first event in a session**, and a
minimized `$feature_flag_called` event can be that first event — so a flag call landing first in a
session silently nulled out the session's whole attribution.

`openspec/specs/feature-flag-called-tracker/spec.md`'s "Minimal event mode for non-experiment
flags" requirement lists allowlist categories at a category level but never mentions referrer or
campaign/UTM properties anywhere — not in the category list, the posthog-python reference literal,
or the "everything else... SHALL be stripped" clause. This is a real spec gap: an SDK implementing
minimal-event-mode strictly per the current text would (correctly, per the spec) strip these and
reproduce the same bug.

## What this PR does

- Adds a "Session-attribution properties" category to the minimal-event allowlist —
  `$referring_domain` and canonical campaign/click-id super properties (`utm_source`, `utm_medium`,
  `utm_campaign`, `utm_content`, `utm_term`, `gad_source`, `mc_cid`, `gclid`/`fbclid`-style ids) —
  noting that full `$referrer` remains excluded (only `$referring_domain` and bare campaign-param
  keys survive), preserving the minimal event's privacy/payload-size intent.
- Adds one new `@client` scenario asserting session-attribution properties are retained while
  `$referrer` itself is still stripped.
- Change proposed and archived on this branch per this repo's one-PR-per-change convention
  (`openspec/changes/archive/2026-08-05-fix-flag-called-session-attribution/`).
- `openspec validate --specs --strict` passes (59/59).

## Uncertain / flagged for reviewer attention

- Only posthog-js/posthog-node (the shared `@posthog/core` implementation) were confirmed to have
  shipped this bug and fix. No other in-scope SDK currently ships a minimal-event mode per #16's
  own audit, so this is a documentation-only correction, not a new cross-platform parity gap —
  flagged as a follow-up check in `tasks.md` §3.1 for if/when another SDK adds minimal-event mode.


Generated-By: PostHog Code
Task-Id: 457dcd47-67c0-4fb7-830b-c3d13a790c8d
arnohillen added a commit that referenced this pull request Aug 6, 2026
…lled events (#4287)

* fix(core): keep session-attribution props on minimal $feature_flag_called events

The minimal `$feature_flag_called` allowlist (MINIMAL_FLAG_CALLED_EVENT_PROPERTIES)
rebuilt the event from a strict allowlist that omitted every referrer and
`utm_*`/campaign param. The server session table derives session-initial UTM and
channel type from whichever event lands first in a session, so a minimal
flag-called event firing first nulled out the whole session's attribution.

Add the referrer and campaign-param keys (kept in sync with the browser SDK's
CAMPAIGN_PARAMS and the server session table) to the allowlist so they survive
minimization. Entries are inert on SDKs that never set them.

Generated-By: PostHog Code
Task-Id: 9dd7e155-821a-4fe9-93bf-1b7e9c0a1c06

* fix: complete minimal flag attribution coverage

---------

Co-authored-by: posthog[bot] <206114724+posthog[bot]@users.noreply.github.com>
Co-authored-by: Manoel Aranda Neto <marandaneto@gmail.com>
dustinbyrne pushed a commit to PostHog/sdk-specs that referenced this pull request Aug 6, 2026
…to minimal-event allowlist (#26)

## Why

[posthog-js#4287](PostHog/posthog-js#4287) ("keep session-attribution
props on minimal $feature_flag_called events") fixed a web-analytics data-correctness bug: the
minimal-event allowlist added by posthog-js#4172 (documented here in
[#16](#16)) stripped every referrer and campaign/click-id
super property (`utm_source`, `gclid`, `$referring_domain`, etc.). Web-analytics session-initial
UTM attribution and channel-type grouping are read from the **first event in a session**, and a
minimized `$feature_flag_called` event can be that first event — so a flag call landing first in a
session silently nulled out the session's whole attribution.

`openspec/specs/feature-flag-called-tracker/spec.md`'s "Minimal event mode for non-experiment
flags" requirement lists allowlist categories at a category level but never mentions referrer or
campaign/UTM properties anywhere — not in the category list, the posthog-python reference literal,
or the "everything else... SHALL be stripped" clause. This is a real spec gap: an SDK implementing
minimal-event-mode strictly per the current text would (correctly, per the spec) strip these and
reproduce the same bug.

## What this PR does

- Adds a "Session-attribution properties" category to the minimal-event allowlist —
  `$referring_domain` and canonical campaign/click-id super properties (`utm_source`, `utm_medium`,
  `utm_campaign`, `utm_content`, `utm_term`, `gad_source`, `mc_cid`, `gclid`/`fbclid`-style ids) —
  noting that full `$referrer` remains excluded (only `$referring_domain` and bare campaign-param
  keys survive), preserving the minimal event's privacy/payload-size intent.
- Adds one new `@client` scenario asserting session-attribution properties are retained while
  `$referrer` itself is still stripped.
- Change proposed and archived on this branch per this repo's one-PR-per-change convention
  (`openspec/changes/archive/2026-08-05-fix-flag-called-session-attribution/`).
- `openspec validate --specs --strict` passes (59/59).

## Uncertain / flagged for reviewer attention

- Only posthog-js/posthog-node (the shared `@posthog/core` implementation) were confirmed to have
  shipped this bug and fix. No other in-scope SDK currently ships a minimal-event mode per #16's
  own audit, so this is a documentation-only correction, not a new cross-platform parity gap —
  flagged as a follow-up check in `tasks.md` §3.1 for if/when another SDK adds minimal-event mode.


Generated-By: PostHog Code
Task-Id: 457dcd47-67c0-4fb7-830b-c3d13a790c8d

Co-authored-by: posthog[bot] <206114724+posthog[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants