Skip to content

feat(flags): treat failed evaluations as unavailable - #5693

Open
marandaneto wants to merge 15 commits into
mainfrom
fix/spec211-failed-flags
Open

marandaneto wants to merge 15 commits into
mainfrom
fix/spec211-failed-flags

Conversation

@marandaneto

@marandaneto marandaneto commented Nov 12, 2026 •

Copy link
Copy Markdown
Member

Problem

Implements sdk-specs #211: detailed server-failed records have no evaluated value/payload. Placeholder values could bypass defaults or leak into event enrichment and persisted state.

Changes

  • Filter failures across core, browser, Node and React Native reads/results/enrichment, including pre-fix persisted caches. Preserve healthy false and legacy values.
  • Report the public EVALUATION_FAILED diagnostic independently of response/request/quota errors. Preserve suppression/dedupe and native no-result/default mappings.
  • Retain successful value/payload pairs on partial/global-error client refreshes and same-context Node local fallback; complete nonerrored client responses replace served state.
  • Recover through legacy object/array responses, enrollment and bootstrap without stale failed provenance/payloads. Preserve healthy-cache bootstrap precedence and own-key override semantics, including constructor/toString.
  • Keep loaded browser reads key-local. Reuse the legacy browser’s optional, identity/pending-write-aware pre-merge persistence reconciliation; no schema change or new cross-tab protocol.
  • Earlier review fixes retain per-key failure after request/quota errors, distinguish cold no-result from a healthy cache, clear only stale bootstrap requestError, preserve own cached false/payload pairs before suppressing failed details, and add v1 errored cross-tab coverage/private helper cleanup plus the generated mangled-name entry.
  • Main-sync integration: ordinary signed merge of main at 480395c443c5916d83b8c8fd8f6084f1ab244db2, followed by a separate signed Node fix. Incoming main adds a strict v4 reader where parser-unreadable records also carry failed. Distinguish those from readable server failures: malformed records keep their disabled/unknown-error compatibility.
  • Node snapshots now retain private server-failure provenance for original and selected/accessed reads without adding evaluated values, payloads, keys or enrichment. Original local unresolved errors compose with evaluation_failed; filtered unresolved maps and slice-missing suppression remain; explicit-key filters warn only for genuinely unknown keys. This supersedes the earlier skip-only snapshot implementation, which lost the new v4 attribution.
  • Preserve immutable released fixtures/schemas. Narrowly adapt failed-record expectations to native undefined; the derived failed-event validator permits only the omitted response while retaining every other pinned schema constraint, with independent no-result/error assertions. No production sentinel coercion.

Validation

Final reviewer suggestions

Current signed HEAD 488a5b0bfb5a422943cdab50b955abbbacddd7dd implements both remaining suggestions from @haacked, superseding the earlier decisions below:

  • All seven existing package changeset entries now request minor bumps. No package versions, dependencies or locks were changed, and no release was published.
  • Node only() looks up both evaluated and failed-record maps before warning. Known failed records retain private diagnostics without a misleading missing-key warning; genuinely unknown keys still warn. Failed keys remain absent from evaluated values, payloads, keys and capture enrichment.
  • Two new regressions (legacy-detail and typed-value response shapes) produced 2 genuine warning assertion failures / 151 controls, then 153 passed. Mixed selection checks healthy false, unknown-only warning, retained evaluation_failed events, no extra request and no failed enrichment. A controlled blanket-warning-suppression mutation fails both cases, then restoration passes.
  • Seven-package unit/built/type/lint graph: 43/43 tasks, 28 cached; 15,463 source passes / one existing skip. Node normal and exact edge suites: 2,492 passed each. API references, scoped format/correctness, diff and Changesets status pass; seven minor/no patch/no major. Focused 153 passed again at signed HEAD.
  • Whole-submitted-branch Authoring/deslop and exact-final-HEAD autoreview --mode branch --base origin/main clean; TruffleHog clean. No source changes afterward, history rewriting, main synchronization, CI retry/watch/wait or fresh native/browser/shared-harness conformance claim.

Previous review follow-up

Preceding signed HEAD 74b196ddd3b97fb40b496e202e75e6641aa47940, following the earlier review plan:

  • Reproduced loss of persisted failed constructor/toString provenance when bootstrap did not supply those keys: 2 genuine assertion failures / 29 controls with the final regression tests. An own-key bootstrap check fixes both; the 31-case core failed suite covers own-false replacement and reopen without claiming broader prototype-key event-dedupe hardening.
  • Added cached-false errored-refresh coverage, Node missing prototype-name reads with flag_missing/dedupe/no extra request, and retained/legacy payload assertions. These coverage additions passed the original implementation; no speculative defects claimed. Separate ordinary-object mutations of Node's value and diagnostic maps each fail both new cases; dropping legacy payloads fails the added payload assertion. All mutations restored exactly.
  • Simplified shared failed-value/payload lookup and named the unchanged own cached-value predicate; Node reuses one parsed record for failure detection and attribution. Clarified the pinned-schema exception comment. No new storage, wire schema, public method, dependency or shipped SDK version changes.
  • Changeset return values were clarified at this head. Its original patch-intent and warning-policy decisions are superseded by the final reviewer-suggestions follow-up above.
  • Seven-package unit/built/type/lint graph: 43/43 tasks, 8 cached; 15,461 source passes / one existing core skip (browser 6,412/core 2,423/shared 1,929/Node 2,490/browser-next 660/RN 1,522/web-lite 25). Exact Node edge command: 2,490 passed. Signed-HEAD focused rerun: core 31, Node 687, shared 50.
  • Exact generated-name browser build 13/13 tasks, 4 cached; registry unchanged. Public API, regenerated Node references, ES5/ES6, changeset status, scoped format/correctness and diff checks pass. Compatibility self-tests 170 passed. No fresh native browser/device/live-service/shared-harness conformance claim; known Node v2 acceptance report remains separate.
  • Whole-submitted-branch Authoring/deslop and clean exact-final-HEAD autoreview --mode branch --base origin/main completed; TruffleHog clean. No source changes afterward, no history rewriting or main synchronization. New-head CI is not awaited/retried or claimed green.

Previous browser deployment CI follow-up

Preceding signed HEAD 74239c9d350168afdd7a540585ced406f1b52ef4 changed only the compatibility normalizer, its tests and README; SDK runtime, dependencies, versions and all seven golden files were unchanged.

  • Diagnosed Browser deployment snapshots: Firefox initial navigation recorded fetchStart=-4 and responseStart=responseEnd=endTime=-2. The error's (0 vs 1) denotes repetition indices, not milliseconds. The existing -2 ms exception covered only request phases.
  • Extended only recognized, finite initial-navigation request/response phases to the observed bounded -4 ms offset. Negative resource/noninitial clocks, malformed values, unrelated fields, headers, bodies, status and native fixture timing/privacy assertions remain significant.
  • Baseline normalizer: 6 passed. Extended/new regressions on pre-fix code: 2 genuine assertion failures / 5 controls, then green. Exact CI self-test command at signed HEAD: 170 passed. Four isolated guard mutations fail the intended boundary/navigation/initial/finiteness test.
  • Offline reprocessing of 1,176 archived CI observations / 588 cells first reproduces every original snapshot exactly. The fix changes just eight paths: four clock fields in wire and decoded copies of one run. All repetition pairs and all committed golden observations then match. This reuses recorded Linux CI evidence; it is not a freshly executed browser matrix or current-source integrity proof. No golden regeneration or integrity-evidence rewriting.
  • Scoped Oxfmt/Oxlint/root correctness and Git diff checks pass. Whole-submitted-branch Authoring/deslop assessment and clean exact-final-HEAD autoreview --mode branch --base origin/main completed; TruffleHog clean. No source edits afterward.
  • Signed canonical push; no history rewriting, main synchronization, CI retry/watch/wait, release or runtime workaround. New-head GitHub CI is not claimed green.

SDK behavioral validation before the CI-only follow-up

The following results were obtained at preceding signed SDK head cb0488f192398c4a1f680fb0ef2cab20cb627cb3, Node 24.21.0 / pnpm 11.7.0. All previously submitted SDK files and feature tests remain byte-identical in the CI-only follow-up; these broad suites were not needlessly rerun:

  • Reproduced the completed GitHub unit/edge failures on the newly merged tree: 81 failed / 2,393 passed across four Node files. No setup/timeouts counted as reds.
  • Expanded real-event snapshot/clone regression selector: 26 genuine pre-fix failures / 9 controls, then 35 passed. V2/v4, three response-error states, local inconclusiveness, placeholders, defaults, provenance, no extra request, dedupe and unselected payload-only failures are covered. Typed attribution uses the actual queued-event listener, not a public-capture spy that the v4 path bypasses.
  • Current Node unit suite: 2,488 passed. Exact CI edge command, with coverage enabled: 2,488 passed. Four affected suites pass 685 tests again at signed HEAD.
  • Integrated seven-package test/unit/built/type/lint graph: 43/43 tasks passed, 10 content-keyed cached; 15,452 source passes / one existing core skip: browser 6,412, core 2,416, shared 1,929, Node 2,488, browser-next 660, RN JS 1,522, web-lite 25.
  • A controlled invalid diagnostic-ID mutation fails all 26 new raw-event cases, then restoration passes. Earlier accepted error/cold/default/bootstrap/Node regressions, inherited-key matrix and v1 cross-tab sensitivity remain covered; no tests deleted, newly skipped or weakened.
  • Exact WRITE_MANGLED_PROPERTIES=1 browser build: 13/13 tasks, registry diff empty. API check, regenerated Node reference diff, ES5/ES6, formatting and feature-delta checks pass.
  • Whole submitted branch Authoring/deslop and exact-final-HEAD autoreview --mode branch --base origin/main: clean; TruffleHog clean. No source edits afterward.

No real-browser compatibility matrix, rrweb browser, physical RN/device, live-service or full shared-harness conformance claim. Existing unrelated acceptance falsy-payload/GeoIP and performance reports remain untouched. New-head CI was not awaited or retried; local validation is not an aggregate CI pass.

Release info Sub-libraries affected

  • posthog-js
  • posthog-js-lite
  • posthog-node
  • posthog-react-native
  • @posthog/browser-common

Also affected: @posthog/core and @posthog/browser. Existing seven-package release intent now requests minor bumps; diagnostic references retained. Main’s version/lock changes are inherited upstream; no authored dependency/version/pin change, duplicate intent or release.

Checklist

  • Signed ordinary merge and fix commits; no history rewriting.
  • Entire feature diff reviewed; independent regressions and compatibility coverage retained.
  • Scoped formatting/types/lint/build/generated checks and exact-HEAD review completed.

Agent context

Autonomy: Human-driven (agent-assisted). Human DRI and assignee: @marandaneto. Pi handled JS integration while an isolated worker handled the separate Python checkout; one writer per worktree. Parent independently accepted source/proofs and owns review/publication. Human review is required before merge; no auto-merge or release requested.

@marandaneto marandaneto self-assigned this Nov 12, 2026
@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor
⚠️ Possible changeset mismatch — 2 extra

This is informational — the PR is not blocked. Click the triangle above to collapse, or push a fix and this comment will auto-delete.

Declared in a changeset but no source files modified:

  • @posthog/browser
  • posthog-js-lite

Double-check this is intentional — for example, releasing a previously-merged change.

Changesets in this PR:

  • @posthog/browser — minor
  • @posthog/browser-common — minor
  • @posthog/core — minor
  • posthog-js — minor
  • posthog-js-lite — minor
  • posthog-node — minor
  • posthog-react-native — minor

@github-actions

Copy link
Copy Markdown
Contributor

Replay incident risk check

This diff touches code involved in past incidents. This is a heads-up, not a verdict: read the matched sections of INCIDENTS.md and answer their review questions before merging.

For a judgment on whether this diff has the same failure mode, run the replay-incident-risk skill locally: open a Claude session in the repo root and ask it to review your diff with that skill. Or run node .agents/skills/replay-incident-risk/check.mjs and answer the review questions for each matched class yourself.

Matched 1 past incident pattern(s) (diff vs origin/main):

## Version skew across the lazy-load boundary [path match]
Lazy-loaded bundles (recorder, surveys, web vitals, tracing headers) are served unversioned from the CDN: this change deploys instantly to every SDK version, including npm-pinned ones. Cross-boundary signature changes and persisted-state shape changes have caused fleet-wide recording loss (Mar 2026), broken surveys (Jul 2025, Oct 2025), and a six-day web-vitals gap (Jan 2026).
  Touched paths:
    - packages/browser/src/posthog-persistence.ts
  Read: .agents/skills/replay-incident-risk/INCIDENTS.md#class-1-version-skew-across-the-lazy-load-boundary

This check is advisory. It flags resemblance to past incidents, not correctness.
For a judgment pass on whether this diff has the same failure mode, run the
`replay-incident-risk` skill in a Claude session from the repo root, or answer the
review questions in the matched sections of .agents/skills/replay-incident-risk/INCIDENTS.md yourself.

@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Coherence

📄 0 spec file errors · ⛔ 0 broken rules · 🚪 0 unchecked inputs · 🐛 0 bugs that came back

What is Coherence?

Coherence compares the code with its spec files (*.spec.md). A spec file lists the rules for one part of the code.

This check read 44 parts of the code and 7 rules.

Tip

Nothing to fix.

@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Size Change: +30.8 kB (+0.11%)

Total Size: 27.4 MB

📦 View Changed
Filename Size Change
packages/browser-common/dist/feature-flags.js 68.4 kB +3.63 kB (+5.61%) 🔍
packages/browser-common/dist/feature-flags.mjs 61.1 kB +2.74 kB (+4.7%) 🔍
packages/browser/dist/array.full.es5.js 599 kB +1.27 kB (+0.21%)
packages/browser/dist/array.full.js 747 kB +1.11 kB (+0.15%)
packages/browser/dist/array.full.no-external.js 817 kB +1.32 kB (+0.16%)
packages/browser/dist/array.js 381 kB +1.13 kB (+0.3%)
packages/browser/dist/array.no-external.js 430 kB +1.32 kB (+0.31%)
packages/browser/dist/default-extensions.js 378 kB +1.11 kB (+0.29%)
packages/browser/dist/extension-bundles.js 226 kB +884 B (+0.39%)
packages/browser/dist/main.js 385 kB +1.11 kB (+0.29%)
packages/browser/dist/module.full.cjs 752 kB +1.11 kB (+0.15%)
packages/browser/dist/module.full.js 752 kB +1.11 kB (+0.15%)
packages/browser/dist/module.full.no-external.cjs 821 kB +1.32 kB (+0.16%)
packages/browser/dist/module.full.no-external.js 821 kB +1.32 kB (+0.16%)
packages/browser/dist/module.js 385 kB +1.13 kB (+0.29%)
packages/browser/dist/module.mjs 385 kB +1.13 kB (+0.29%)
packages/browser/dist/module.no-external.cjs 434 kB +1.32 kB (+0.3%)
packages/browser/dist/module.no-external.js 434 kB +1.32 kB (+0.3%)
packages/browser/dist/module.slim.js 161 kB +81 B (+0.05%)
packages/browser/dist/module.slim.no-external.js 177 kB +180 B (+0.1%)
packages/core/dist/featureFlagUtils.js 8.89 kB +278 B (+3.23%)
packages/core/dist/featureFlagUtils.mjs 5.8 kB +278 B (+5.04%) 🔍
packages/core/dist/posthog-core.js 50.9 kB +560 B (+1.11%)
packages/core/dist/posthog-core.mjs 45.2 kB +476 B (+1.06%)
packages/core/dist/types.js 8.58 kB +44 B (+0.52%)
packages/core/dist/types.mjs 5.42 kB +44 B (+0.82%)
packages/node/dist/client.js 76 kB +934 B (+1.24%)
packages/node/dist/client.mjs 71.5 kB +708 B (+1%)
packages/node/dist/feature-flag-evaluations.js 7.46 kB +710 B (+10.51%) ⚠️
packages/node/dist/feature-flag-evaluations.mjs 5.88 kB +610 B (+11.56%) ⚠️
packages/node/dist/flags-response.js 10 kB +282 B (+2.89%)
packages/node/dist/flags-response.mjs 7.42 kB +135 B (+1.85%)
packages/node/dist/types.js 1.64 kB +44 B (+2.76%)
packages/node/dist/types.mjs 336 B +44 B (+15.07%) ⚠️
ℹ️ View Unchanged
Filename Size
packages/ai/dist/adk/index.cjs 41.9 kB
packages/ai/dist/adk/index.mjs 41.6 kB
packages/ai/dist/anthropic/index.cjs 47.8 kB
packages/ai/dist/anthropic/index.mjs 46.3 kB
packages/ai/dist/claude-agent-sdk/index.cjs 50.3 kB
packages/ai/dist/claude-agent-sdk/index.mjs 49.9 kB
packages/ai/dist/evaluations/index.cjs 66.6 kB
packages/ai/dist/evaluations/index.mjs 66.3 kB
packages/ai/dist/gemini/index.cjs 60.8 kB
packages/ai/dist/gemini/index.mjs 60.5 kB
packages/ai/dist/genkit/index.cjs 36.3 kB
packages/ai/dist/genkit/index.mjs 36.1 kB
packages/ai/dist/index.cjs 66.5 kB
packages/ai/dist/index.mjs 66.2 kB
packages/ai/dist/langchain/index.cjs 43.1 kB
packages/ai/dist/langchain/index.mjs 42.9 kB
packages/ai/dist/langchain/middleware/index.cjs 49.6 kB
packages/ai/dist/langchain/middleware/index.mjs 49.2 kB
packages/ai/dist/openai-agents/index.cjs 34.9 kB
packages/ai/dist/openai-agents/index.mjs 34.8 kB
packages/ai/dist/openai/index.cjs 92.5 kB
packages/ai/dist/openai/index.mjs 91.9 kB
packages/ai/dist/otel/index.browser.cjs 38.1 kB
packages/ai/dist/otel/index.browser.mjs 37.7 kB
packages/ai/dist/otel/index.cjs 38.2 kB
packages/ai/dist/otel/index.mjs 37.8 kB
packages/ai/dist/vercel/index.cjs 48.4 kB
packages/ai/dist/vercel/index.mjs 48.2 kB
packages/browser-common/dist/autocapture-config.js 585 B
packages/browser-common/dist/autocapture-config.mjs 12 B
packages/browser-common/dist/autocapture.js 29.9 kB
packages/browser-common/dist/autocapture.mjs 23.9 kB
packages/browser-common/dist/client.js 585 B
packages/browser-common/dist/client.mjs 12 B
packages/browser-common/dist/config.js 1.52 kB
packages/browser-common/dist/config.mjs 217 B
packages/browser-common/dist/console-logs.js 13 kB
packages/browser-common/dist/console-logs.mjs 11.3 kB
packages/browser-common/dist/constants.js 6.37 kB
packages/browser-common/dist/constants.mjs 1.94 kB
packages/browser-common/dist/disposable.js 1.72 kB
packages/browser-common/dist/disposable.mjs 386 B
packages/browser-common/dist/extension-runtime.js 3.17 kB
packages/browser-common/dist/extension-runtime.mjs 1.83 kB
packages/browser-common/dist/extension-tokens.js 1.44 kB
packages/browser-common/dist/extension-tokens.mjs 98 B
packages/browser-common/dist/extension.js 585 B
packages/browser-common/dist/extension.mjs 12 B
packages/browser-common/dist/feature-flags-config.js 585 B
packages/browser-common/dist/feature-flags-config.mjs 12 B
packages/browser-common/dist/index.js 5.87 kB
packages/browser-common/dist/index.mjs 447 B
packages/browser-common/dist/logs-config.js 3.35 kB
packages/browser-common/dist/logs-config.mjs 1.99 kB
packages/browser-common/dist/logs-types.js 1.46 kB
packages/browser-common/dist/logs-types.mjs 133 B
packages/browser-common/dist/logs.js 20 kB
packages/browser-common/dist/logs.mjs 18.1 kB
packages/browser-common/dist/persistence.js 585 B
packages/browser-common/dist/persistence.mjs 12 B
packages/browser-common/dist/pubsub.js 2.63 kB
packages/browser-common/dist/pubsub.mjs 1.35 kB
packages/browser-common/dist/rageclick.js 2.51 kB
packages/browser-common/dist/rageclick.mjs 1.21 kB
packages/browser-common/dist/survey-action-matcher.js 7.81 kB
packages/browser-common/dist/survey-action-matcher.mjs 5.96 kB
packages/browser-common/dist/survey-constants.js 4.61 kB
packages/browser-common/dist/survey-constants.mjs 2.17 kB
packages/browser-common/dist/survey-event-host.js 585 B
packages/browser-common/dist/survey-event-host.mjs 12 B
packages/browser-common/dist/survey-event-receiver-base.js 15.2 kB
packages/browser-common/dist/survey-event-receiver-base.mjs 13.5 kB
packages/browser-common/dist/survey-event-receiver.js 5.84 kB
packages/browser-common/dist/survey-event-receiver.mjs 3.7 kB
packages/browser-common/dist/survey-render-context.js 1.59 kB
packages/browser-common/dist/survey-render-context.mjs 285 B
packages/browser-common/dist/surveys-config.js 2.82 kB
packages/browser-common/dist/surveys-config.mjs 619 B
packages/browser-common/dist/surveys-renderer.js 71.1 kB
packages/browser-common/dist/surveys-renderer.mjs 60.7 kB
packages/browser-common/dist/surveys.js 28 kB
packages/browser-common/dist/surveys.mjs 23 kB
packages/browser-common/dist/surveys/components/BottomSection.js 3.4 kB
packages/browser-common/dist/surveys/components/BottomSection.mjs 1.74 kB
packages/browser-common/dist/surveys/components/ConfirmationMessage.js 4 kB
packages/browser-common/dist/surveys/components/ConfirmationMessage.mjs 2.09 kB
packages/browser-common/dist/surveys/components/IntroScreen.js 3.48 kB
packages/browser-common/dist/surveys/components/IntroScreen.mjs 1.68 kB
packages/browser-common/dist/surveys/components/PostHogLogo.js 2 kB
packages/browser-common/dist/surveys/components/PostHogLogo.mjs 614 B
packages/browser-common/dist/surveys/components/QuestionHeader.js 3.48 kB
packages/browser-common/dist/surveys/components/QuestionHeader.mjs 1.64 kB
packages/browser-common/dist/surveys/components/QuestionTypes.js 25.9 kB
packages/browser-common/dist/surveys/components/QuestionTypes.mjs 21 kB
packages/browser-common/dist/surveys/icons.js 24.3 kB
packages/browser-common/dist/surveys/icons.mjs 19.9 kB
packages/browser-common/dist/surveys/survey-branching.js 5.99 kB
packages/browser-common/dist/surveys/survey-branching.mjs 3.9 kB
packages/browser-common/dist/surveys/survey-html-sanitizer.js 5.18 kB
packages/browser-common/dist/surveys/survey-html-sanitizer.mjs 3.47 kB
packages/browser-common/dist/surveys/survey-styles.js 14.7 kB
packages/browser-common/dist/surveys/survey-styles.mjs 13.4 kB
packages/browser-common/dist/surveys/survey-translations.js 2.69 kB
packages/browser-common/dist/surveys/survey-translations.mjs 1.08 kB
packages/browser-common/dist/surveys/survey-url-prefill.js 7.99 kB
packages/browser-common/dist/surveys/survey-url-prefill.mjs 5.62 kB
packages/browser-common/dist/surveys/surveys-extension-utils.js 35 kB
packages/browser-common/dist/surveys/surveys-extension-utils.mjs 26.4 kB
packages/browser-common/dist/token.js 585 B
packages/browser-common/dist/token.mjs 12 B
packages/browser-common/dist/types/compression.js 1.37 kB
packages/browser-common/dist/types/compression.mjs 93 B
packages/browser-common/dist/types/feature-flags.js 585 B
packages/browser-common/dist/types/feature-flags.mjs 12 B
packages/browser-common/dist/types/index.js 4.16 kB
packages/browser-common/dist/types/index.mjs 181 B
packages/browser-common/dist/types/network-recording.js 585 B
packages/browser-common/dist/types/network-recording.mjs 12 B
packages/browser-common/dist/types/remote-config.js 585 B
packages/browser-common/dist/types/remote-config.mjs 12 B
packages/browser-common/dist/types/surveys.js 585 B
packages/browser-common/dist/types/surveys.mjs 12 B
packages/browser-common/dist/utils/array-at-polyfill.js 619 B
packages/browser-common/dist/utils/array-at-polyfill.mjs 437 B
packages/browser-common/dist/utils/array-find-last-polyfill.js 604 B
packages/browser-common/dist/utils/array-find-last-polyfill.mjs 422 B
packages/browser-common/dist/utils/autocapture-utils.js 26.5 kB
packages/browser-common/dist/utils/autocapture-utils.mjs 20.4 kB
packages/browser-common/dist/utils/blocked-uas.js 2.2 kB
packages/browser-common/dist/utils/blocked-uas.mjs 598 B
packages/browser-common/dist/utils/console-original.js 1.49 kB
packages/browser-common/dist/utils/console-original.mjs 171 B
packages/browser-common/dist/utils/convert-to-url.js 1.62 kB
packages/browser-common/dist/utils/convert-to-url.mjs 298 B
packages/browser-common/dist/utils/cookie-utils.js 1.99 kB
packages/browser-common/dist/utils/cookie-utils.mjs 673 B
packages/browser-common/dist/utils/device-model-utils.js 2.08 kB
packages/browser-common/dist/utils/device-model-utils.mjs 678 B
packages/browser-common/dist/utils/element-utils.js 2.56 kB
packages/browser-common/dist/utils/element-utils.mjs 804 B
packages/browser-common/dist/utils/elements-chain-utils.js 2.86 kB
packages/browser-common/dist/utils/elements-chain-utils.mjs 1.23 kB
packages/browser-common/dist/utils/encode-utils.js 1.49 kB
packages/browser-common/dist/utils/encode-utils.mjs 205 B
packages/browser-common/dist/utils/event-utils.js 16.1 kB
packages/browser-common/dist/utils/event-utils.mjs 10.2 kB
packages/browser-common/dist/utils/general-utils.js 7.83 kB
packages/browser-common/dist/utils/general-utils.mjs 4.77 kB
packages/browser-common/dist/utils/globals.js 2.83 kB
packages/browser-common/dist/utils/globals.mjs 842 B
packages/browser-common/dist/utils/logger.js 3.46 kB
packages/browser-common/dist/utils/logger.mjs 1.67 kB
packages/browser-common/dist/utils/matcher-utils.js 2.78 kB
packages/browser-common/dist/utils/matcher-utils.mjs 1.3 kB
packages/browser-common/dist/utils/patch.js 2.94 kB
packages/browser-common/dist/utils/patch.mjs 1.62 kB
packages/browser-common/dist/utils/promise-utils.js 1.45 kB
packages/browser-common/dist/utils/promise-utils.mjs 169 B
packages/browser-common/dist/utils/property-utils.js 3.63 kB
packages/browser-common/dist/utils/property-utils.mjs 1.6 kB
packages/browser-common/dist/utils/prototype-utils.js 3.61 kB
packages/browser-common/dist/utils/prototype-utils.mjs 1.86 kB
packages/browser-common/dist/utils/regex-utils.js 1.55 kB
packages/browser-common/dist/utils/regex-utils.mjs 71 B
packages/browser-common/dist/utils/request-reachability.js 2.55 kB
packages/browser-common/dist/utils/request-reachability.mjs 996 B
packages/browser-common/dist/utils/request-utils.js 6.5 kB
packages/browser-common/dist/utils/request-utils.mjs 3.68 kB
packages/browser-common/dist/utils/sanitize-url.js 1.76 kB
packages/browser-common/dist/utils/sanitize-url.mjs 475 B
packages/browser-common/dist/utils/simple-event-emitter.js 1.86 kB
packages/browser-common/dist/utils/simple-event-emitter.mjs 553 B
packages/browser-common/dist/utils/stylesheet-loader.js 2.23 kB
packages/browser-common/dist/utils/stylesheet-loader.mjs 823 B
packages/browser-common/dist/utils/survey-utils.js 5.74 kB
packages/browser-common/dist/utils/survey-utils.mjs 2.05 kB
packages/browser-common/dist/utils/timezone.js 1.44 kB
packages/browser-common/dist/utils/timezone.mjs 163 B
packages/browser-common/dist/utils/type-utils.js 1.68 kB
packages/browser-common/dist/utils/type-utils.mjs 258 B
packages/browser-common/dist/utils/url-targeting-utils.js 2.4 kB
packages/browser-common/dist/utils/url-targeting-utils.mjs 823 B
packages/browser-common/dist/utils/uuidv7.js 6.81 kB
packages/browser-common/dist/utils/uuidv7.mjs 5.26 kB
packages/browser-next/dist/analytics-api.js 585 B
packages/browser-next/dist/analytics-api.mjs 12 B
packages/browser-next/dist/analytics-buffer.js 1.63 kB
packages/browser-next/dist/analytics-buffer.mjs 211 B
packages/browser-next/dist/analytics-delivery.js 8.79 kB
packages/browser-next/dist/analytics-delivery.mjs 7.11 kB
packages/browser-next/dist/analytics-extension.js 30.2 kB
packages/browser-next/dist/analytics-extension.mjs 27.4 kB
packages/browser-next/dist/analytics-internal.js 1.95 kB
packages/browser-next/dist/analytics-internal.mjs 273 B
packages/browser-next/dist/analytics-options.js 1.83 kB
packages/browser-next/dist/analytics-options.mjs 457 B
packages/browser-next/dist/analytics-properties.js 3.14 kB
packages/browser-next/dist/analytics-properties.mjs 1.66 kB
packages/browser-next/dist/analytics-session-properties.js 2.84 kB
packages/browser-next/dist/analytics-session-properties.mjs 1.42 kB
packages/browser-next/dist/analytics.js 1.67 kB
packages/browser-next/dist/analytics.mjs 259 B
packages/browser-next/dist/autocapture-options.js 1.85 kB
packages/browser-next/dist/autocapture-options.mjs 513 B
packages/browser-next/dist/autocapture.js 4.77 kB
packages/browser-next/dist/autocapture.mjs 3.34 kB
packages/browser-next/dist/automatic-analytics.js 1.64 kB
packages/browser-next/dist/automatic-analytics.mjs 298 B
packages/browser-next/dist/automatic-surveys.js 1.54 kB
packages/browser-next/dist/automatic-surveys.mjs 189 B
packages/browser-next/dist/bot-filter.js 2.38 kB
packages/browser-next/dist/bot-filter.mjs 1.09 kB
packages/browser-next/dist/browser-client.js 585 B
packages/browser-next/dist/browser-client.mjs 12 B
packages/browser-next/dist/capture-properties.js 3.65 kB
packages/browser-next/dist/capture-properties.mjs 2.05 kB
packages/browser-next/dist/capture-summary.js 2.14 kB
packages/browser-next/dist/capture-summary.mjs 647 B
packages/browser-next/dist/capture-v1.js 29.8 kB
packages/browser-next/dist/capture-v1.mjs 26.8 kB
packages/browser-next/dist/core.js 1.96 kB
packages/browser-next/dist/core.mjs 244 B
packages/browser-next/dist/event-buffer.js 5.32 kB
packages/browser-next/dist/event-buffer.mjs 4.04 kB
packages/browser-next/dist/extensions/registry.js 11.4 kB
packages/browser-next/dist/extensions/registry.mjs 10.1 kB
packages/browser-next/dist/flags-internal.js 585 B
packages/browser-next/dist/flags-internal.mjs 12 B
packages/browser-next/dist/flags-options.js 585 B
packages/browser-next/dist/flags-options.mjs 12 B
packages/browser-next/dist/flags-token.js 1.4 kB
packages/browser-next/dist/flags-token.mjs 80 B
packages/browser-next/dist/flags.js 7.18 kB
packages/browser-next/dist/flags.mjs 5.58 kB
packages/browser-next/dist/id.js 2.25 kB
packages/browser-next/dist/id.mjs 983 B
packages/browser-next/dist/immutable.js 1.48 kB
packages/browser-next/dist/immutable.mjs 205 B
packages/browser-next/dist/index.js 2.4 kB
packages/browser-next/dist/index.mjs 611 B
packages/browser-next/dist/key-value-store.js 4 kB
packages/browser-next/dist/key-value-store.mjs 2.52 kB
packages/browser-next/dist/lane.js 15.1 kB
packages/browser-next/dist/lane.mjs 13.8 kB
packages/browser-next/dist/logger.js 2.08 kB
packages/browser-next/dist/logger.mjs 742 B
packages/browser-next/dist/logs-internal.js 585 B
packages/browser-next/dist/logs-internal.mjs 12 B
packages/browser-next/dist/logs-options.js 1.84 kB
packages/browser-next/dist/logs-options.mjs 529 B
packages/browser-next/dist/logs.js 5.41 kB
packages/browser-next/dist/logs.mjs 3.91 kB
packages/browser-next/dist/named-error.js 1.57 kB
packages/browser-next/dist/named-error.mjs 271 B
packages/browser-next/dist/person-processing.js 3.01 kB
packages/browser-next/dist/person-processing.mjs 1.28 kB
packages/browser-next/dist/posthog.js 27.3 kB
packages/browser-next/dist/posthog.mjs 25.2 kB
packages/browser-next/dist/rate-limiter.js 3.06 kB
packages/browser-next/dist/rate-limiter.mjs 1.75 kB
packages/browser-next/dist/remote-config.js 1.85 kB
packages/browser-next/dist/remote-config.mjs 483 B
packages/browser-next/dist/request.js 4.99 kB
packages/browser-next/dist/request.mjs 3.58 kB
packages/browser-next/dist/root-composition.js 6.16 kB
packages/browser-next/dist/root-composition.mjs 4.49 kB
packages/browser-next/dist/state.js 24.6 kB
packages/browser-next/dist/state.mjs 22.7 kB
packages/browser-next/dist/surveys-extension.js 11.4 kB
packages/browser-next/dist/surveys-extension.mjs 9.84 kB
packages/browser-next/dist/surveys-internal.js 585 B
packages/browser-next/dist/surveys-internal.mjs 12 B
packages/browser-next/dist/surveys-options.js 1.44 kB
packages/browser-next/dist/surveys-options.mjs 112 B
packages/browser-next/dist/surveys.js 1.77 kB
packages/browser-next/dist/surveys.mjs 258 B
packages/browser-next/dist/types.js 585 B
packages/browser-next/dist/types.mjs 12 B
packages/browser-next/dist/utf8.js 1.71 kB
packages/browser-next/dist/utf8.mjs 441 B
packages/browser-next/dist/version.js 1.31 kB
packages/browser-next/dist/version.mjs 45 B
packages/browser/dist/all-external-dependencies.js 447 kB
packages/browser/dist/conversations.js 75.1 kB
packages/browser/dist/crisp-chat-integration.js 1.67 kB
packages/browser/dist/customizations.full.js 19.5 kB
packages/browser/dist/customizations.js 19.1 kB
packages/browser/dist/dead-clicks-autocapture.js 24 kB
packages/browser/dist/element-inference.js 5.28 kB
packages/browser/dist/exception-autocapture.js 17.8 kB
packages/browser/dist/external-scripts-loader.js 3.7 kB
packages/browser/dist/intercom-integration.js 1.72 kB
packages/browser/dist/lazy-recorder.js 233 kB
packages/browser/dist/loader-bootstrap.js 4.93 kB
packages/browser/dist/loader.js 6.67 kB
packages/browser/dist/logs.js 7.21 kB
packages/browser/dist/posthog-recorder.js 233 kB
packages/browser/dist/product-tours-preview.js 81.1 kB
packages/browser/dist/product-tours.js 125 kB
packages/browser/dist/recorder-v2.js 151 kB
packages/browser/dist/recorder.js 151 kB
packages/browser/dist/rrweb-plugin-console-record.js 7.63 kB
packages/browser/dist/rrweb-types.js 2.41 kB
packages/browser/dist/rrweb.js 346 kB
packages/browser/dist/surveys-preview.js 125 kB
packages/browser/dist/surveys.js 148 kB
packages/browser/dist/tracing-headers.js 6.41 kB
packages/browser/dist/web-vitals-soft-navs.js 11.1 kB
packages/browser/dist/web-vitals-with-attribution-soft-navs.js 27 kB
packages/browser/dist/web-vitals-with-attribution.js 27 kB
packages/browser/dist/web-vitals.js 11 kB
packages/browser/react/dist/esm/index.js 23.3 kB
packages/browser/react/dist/esm/slim/index.js 19.5 kB
packages/browser/react/dist/esm/surveys/index.js 4.22 kB
packages/browser/react/dist/umd/index.js 27.8 kB
packages/browser/react/dist/umd/slim/index.js 23.5 kB
packages/browser/react/dist/umd/surveys/index.js 6.33 kB
packages/convex/dist/client/feature-flags/crypto.js 76 B
packages/convex/dist/client/feature-flags/evaluator.js 16.2 kB
packages/convex/dist/client/feature-flags/index.js 196 B
packages/convex/dist/client/feature-flags/match-property.js 5.7 kB
packages/convex/dist/client/feature-flags/types.js 44 B
packages/convex/dist/client/index.js 14.8 kB
packages/convex/dist/component/_generated/api.js 712 B
packages/convex/dist/component/_generated/component.js 212 B
packages/convex/dist/component/_generated/dataModel.js 230 B
packages/convex/dist/component/_generated/server.js 3.74 kB
packages/convex/dist/component/convex.config.js 1.66 kB
packages/convex/dist/component/crons.js 969 B
packages/convex/dist/component/lib.js 24.9 kB
packages/convex/dist/component/schema.js 1.17 kB
packages/convex/dist/component/version.js 67 B
packages/core/dist/cookie.js 5.71 kB
packages/core/dist/cookie.mjs 3.4 kB
packages/core/dist/error-tracking/chunk-ids.js 3.44 kB
packages/core/dist/error-tracking/chunk-ids.mjs 2.11 kB
packages/core/dist/error-tracking/coercers/dom-exception-coercer.js 2.4 kB
packages/core/dist/error-tracking/coercers/dom-exception-coercer.mjs 993 B
packages/core/dist/error-tracking/coercers/error-coercer.js 2.58 kB
packages/core/dist/error-tracking/coercers/error-coercer.mjs 1.24 kB
packages/core/dist/error-tracking/coercers/error-event-coercer.js 2.45 kB
packages/core/dist/error-tracking/coercers/error-event-coercer.mjs 1.05 kB
packages/core/dist/error-tracking/coercers/event-coercer.js 1.92 kB
packages/core/dist/error-tracking/coercers/event-coercer.mjs 548 B
packages/core/dist/error-tracking/coercers/index.js 5.82 kB
packages/core/dist/error-tracking/coercers/index.mjs 326 B
packages/core/dist/error-tracking/coercers/object-coercer.js 4.13 kB
packages/core/dist/error-tracking/coercers/object-coercer.mjs 2.53 kB
packages/core/dist/error-tracking/coercers/primitive-coercer.js 1.76 kB
packages/core/dist/error-tracking/coercers/primitive-coercer.mjs 419 B
packages/core/dist/error-tracking/coercers/promise-rejection-event.js 2.69 kB
packages/core/dist/error-tracking/coercers/promise-rejection-event.mjs 1.25 kB
packages/core/dist/error-tracking/coercers/string-coercer.js 2.11 kB
packages/core/dist/error-tracking/coercers/string-coercer.mjs 820 B
packages/core/dist/error-tracking/coercers/utils.js 2.04 kB
packages/core/dist/error-tracking/coercers/utils.mjs 599 B
packages/core/dist/error-tracking/error-properties-builder.js 10.1 kB
packages/core/dist/error-tracking/error-properties-builder.mjs 8.58 kB
packages/core/dist/error-tracking/exception-steps.js 6.1 kB
packages/core/dist/error-tracking/exception-steps.mjs 3.83 kB
packages/core/dist/error-tracking/index.js 4.62 kB
packages/core/dist/error-tracking/index.mjs 222 B
packages/core/dist/error-tracking/parsers/base.js 2.43 kB
packages/core/dist/error-tracking/parsers/base.mjs 961 B
packages/core/dist/error-tracking/parsers/chrome.js 2.83 kB
packages/core/dist/error-tracking/parsers/chrome.mjs 1.32 kB
packages/core/dist/error-tracking/parsers/gecko.js 2.57 kB
packages/core/dist/error-tracking/parsers/gecko.mjs 1.13 kB
packages/core/dist/error-tracking/parsers/index.js 8.87 kB
packages/core/dist/error-tracking/parsers/index.mjs 6.03 kB
packages/core/dist/error-tracking/parsers/node.js 4.33 kB
packages/core/dist/error-tracking/parsers/node.mjs 2.96 kB
packages/core/dist/error-tracking/parsers/opera.js 2.35 kB
packages/core/dist/error-tracking/parsers/opera.mjs 746 B
packages/core/dist/error-tracking/parsers/safari.js 1.98 kB
packages/core/dist/error-tracking/parsers/safari.mjs 574 B
packages/core/dist/error-tracking/parsers/winjs.js 1.82 kB
packages/core/dist/error-tracking/parsers/winjs.mjs 426 B
packages/core/dist/error-tracking/release.js 1.68 kB
packages/core/dist/error-tracking/release.mjs 366 B
packages/core/dist/error-tracking/types.js 1.42 kB
packages/core/dist/error-tracking/types.mjs 131 B
packages/core/dist/error-tracking/utils.js 1.9 kB
packages/core/dist/error-tracking/utils.mjs 604 B
packages/core/dist/eventemitter.js 1.88 kB
packages/core/dist/eventemitter.mjs 571 B
packages/core/dist/featureFlagLocalEvaluation.js 29.5 kB
packages/core/dist/featureFlagLocalEvaluation.mjs 26.7 kB
packages/core/dist/gzip.js 5.88 kB
packages/core/dist/gzip.mjs 3.87 kB
packages/core/dist/index.js 27.9 kB
packages/core/dist/index.mjs 2.02 kB
packages/core/dist/logs/index.js 12.7 kB
packages/core/dist/logs/index.mjs 10.7 kB
packages/core/dist/logs/logs-utils.js 6.68 kB
packages/core/dist/logs/logs-utils.mjs 4.53 kB
packages/core/dist/logs/types.js 585 B
packages/core/dist/logs/types.mjs 12 B
packages/core/dist/metrics/config.js 2.05 kB
packages/core/dist/metrics/config.mjs 735 B
packages/core/dist/metrics/index.js 20.3 kB
packages/core/dist/metrics/index.mjs 17.2 kB
packages/core/dist/metrics/metrics-utils.js 3.67 kB
packages/core/dist/metrics/metrics-utils.mjs 1.68 kB
packages/core/dist/metrics/types.js 585 B
packages/core/dist/metrics/types.mjs 12 B
packages/core/dist/posthog-core-stateless.js 49.5 kB
packages/core/dist/posthog-core-stateless.mjs 46.1 kB
packages/core/dist/privacy.js 17.5 kB
packages/core/dist/privacy.mjs 15.8 kB
packages/core/dist/surveys/activation.js 2.29 kB
packages/core/dist/surveys/activation.mjs 572 B
packages/core/dist/surveys/events.js 5.82 kB
packages/core/dist/surveys/events.mjs 3.14 kB
packages/core/dist/surveys/index.js 7.48 kB
packages/core/dist/surveys/index.mjs 921 B
packages/core/dist/surveys/keys.js 1.8 kB
packages/core/dist/surveys/keys.mjs 350 B
packages/core/dist/surveys/property-matching.js 3.8 kB
packages/core/dist/surveys/property-matching.mjs 2.15 kB
packages/core/dist/surveys/shuffling.js 2.53 kB
packages/core/dist/surveys/shuffling.mjs 1.07 kB
packages/core/dist/surveys/translations.js 9.18 kB
packages/core/dist/surveys/translations.mjs 6.83 kB
packages/core/dist/surveys/validation.js 3.15 kB
packages/core/dist/surveys/validation.mjs 1.51 kB
packages/core/dist/testing/index.js 2.76 kB
packages/core/dist/testing/index.mjs 79 B
packages/core/dist/testing/PostHogCoreTestClient.js 3.35 kB
packages/core/dist/testing/PostHogCoreTestClient.mjs 1.85 kB
packages/core/dist/testing/test-utils.js 2.9 kB
packages/core/dist/testing/test-utils.mjs 1.11 kB
packages/core/dist/traces/config.js 4.62 kB
packages/core/dist/traces/config.mjs 3.27 kB
packages/core/dist/traces/context.js 1.64 kB
packages/core/dist/traces/context.mjs 318 B
packages/core/dist/traces/ids.js 3.2 kB
packages/core/dist/traces/ids.mjs 1.52 kB
packages/core/dist/traces/index.js 26.7 kB
packages/core/dist/traces/index.mjs 24 kB
packages/core/dist/traces/otlp.js 6.33 kB
packages/core/dist/traces/otlp.mjs 4.14 kB
packages/core/dist/traces/sanitize.js 3.59 kB
packages/core/dist/traces/sanitize.mjs 1.88 kB
packages/core/dist/traces/span.js 20.3 kB
packages/core/dist/traces/span.mjs 17.1 kB
packages/core/dist/traces/traceparent.js 4.54 kB
packages/core/dist/traces/traceparent.mjs 2.54 kB
packages/core/dist/traces/types.js 585 B
packages/core/dist/traces/types.mjs 12 B
packages/core/dist/tracing-headers.js 3.48 kB
packages/core/dist/tracing-headers.mjs 2.08 kB
packages/core/dist/utils/backoff.js 2.36 kB
packages/core/dist/utils/backoff.mjs 611 B
packages/core/dist/utils/bot-detection.js 4.19 kB
packages/core/dist/utils/bot-detection.mjs 2.59 kB
packages/core/dist/utils/browser-utils.js 1.57 kB
packages/core/dist/utils/browser-utils.mjs 182 B
packages/core/dist/utils/bucketed-rate-limiter.js 4.32 kB
packages/core/dist/utils/bucketed-rate-limiter.mjs 2.22 kB
packages/core/dist/utils/flush-timer.js 2.06 kB
packages/core/dist/utils/flush-timer.mjs 725 B
packages/core/dist/utils/index.js 17.8 kB
packages/core/dist/utils/index.mjs 3.69 kB
packages/core/dist/utils/json-utils.js 7.44 kB
packages/core/dist/utils/json-utils.mjs 5.02 kB
packages/core/dist/utils/logger.js 2.68 kB
packages/core/dist/utils/logger.mjs 1.29 kB
packages/core/dist/utils/number-utils.js 3.42 kB
packages/core/dist/utils/number-utils.mjs 1.68 kB
packages/core/dist/utils/otlp-any-value.js 7.96 kB
packages/core/dist/utils/otlp-any-value.mjs 5.77 kB
packages/core/dist/utils/otlp-resource.js 3.94 kB
packages/core/dist/utils/otlp-resource.mjs 1.97 kB
packages/core/dist/utils/promise-queue.js 2.58 kB
packages/core/dist/utils/promise-queue.mjs 1.25 kB
packages/core/dist/utils/retry-after.js 3.5 kB
packages/core/dist/utils/retry-after.mjs 1.96 kB
packages/core/dist/utils/string-utils.js 3.83 kB
packages/core/dist/utils/string-utils.mjs 1.97 kB
packages/core/dist/utils/type-utils.js 7.52 kB
packages/core/dist/utils/type-utils.mjs 3.27 kB
packages/core/dist/utils/user-agent-utils.js 19 kB
packages/core/dist/utils/user-agent-utils.mjs 15.2 kB
packages/core/dist/utils/webview-app-utils.js 3.54 kB
packages/core/dist/utils/webview-app-utils.mjs 2.23 kB
packages/core/dist/vendor/uuidv7.js 8.36 kB
packages/core/dist/vendor/uuidv7.mjs 6.7 kB
packages/mcp/dist/extensions/analytics-parameters.js 6.56 kB
packages/mcp/dist/extensions/analytics-parameters.mjs 4.2 kB
packages/mcp/dist/extensions/capture.js 4.16 kB
packages/mcp/dist/extensions/capture.mjs 2.69 kB
packages/mcp/dist/extensions/client-identity.js 7.24 kB
packages/mcp/dist/extensions/client-identity.mjs 4.44 kB
packages/mcp/dist/extensions/compatibility.js 5.45 kB
packages/mcp/dist/extensions/compatibility.mjs 3.4 kB
packages/mcp/dist/extensions/constants.js 5.73 kB
packages/mcp/dist/extensions/constants.mjs 3.23 kB
packages/mcp/dist/extensions/context-parameters.js 2.85 kB
packages/mcp/dist/extensions/context-parameters.mjs 899 B
packages/mcp/dist/extensions/conversation-id.js 6.32 kB
packages/mcp/dist/extensions/conversation-id.mjs 3.48 kB
packages/mcp/dist/extensions/detect.js 3.87 kB
packages/mcp/dist/extensions/detect.mjs 1.49 kB
packages/mcp/dist/extensions/event-types.js 1.82 kB
packages/mcp/dist/extensions/event-types.mjs 498 B
packages/mcp/dist/extensions/exceptions.js 3.82 kB
packages/mcp/dist/extensions/exceptions.mjs 2.25 kB
packages/mcp/dist/extensions/feedback.js 12.1 kB
packages/mcp/dist/extensions/feedback.mjs 9.16 kB
packages/mcp/dist/extensions/headers.js 2.08 kB
packages/mcp/dist/extensions/headers.mjs 643 B
packages/mcp/dist/extensions/ids.js 2.11 kB
packages/mcp/dist/extensions/ids.mjs 637 B
packages/mcp/dist/extensions/instrument-highlevel.js 16 kB
packages/mcp/dist/extensions/instrument-highlevel.mjs 12.8 kB
packages/mcp/dist/extensions/instrument-lowlevel.js 8.44 kB
packages/mcp/dist/extensions/instrument-lowlevel.mjs 5.88 kB
packages/mcp/dist/extensions/instrumentation.js 38.3 kB
packages/mcp/dist/extensions/instrumentation.mjs 31.2 kB
packages/mcp/dist/extensions/intent.js 3.3 kB
packages/mcp/dist/extensions/intent.mjs 1.64 kB
packages/mcp/dist/extensions/internal.js 4.99 kB
packages/mcp/dist/extensions/internal.mjs 2.88 kB
packages/mcp/dist/extensions/lib-identity.js 1.7 kB
packages/mcp/dist/extensions/lib-identity.mjs 267 B
packages/mcp/dist/extensions/logger.js 1.81 kB
packages/mcp/dist/extensions/logger.mjs 380 B
packages/mcp/dist/extensions/mcp-payloads.js 3.93 kB
packages/mcp/dist/extensions/mcp-payloads.mjs 2.1 kB
packages/mcp/dist/extensions/mcp-sdk-compat.js 5.86 kB
packages/mcp/dist/extensions/mcp-sdk-compat.mjs 3.5 kB
packages/mcp/dist/extensions/model-parameters.js 4.6 kB
packages/mcp/dist/extensions/model-parameters.mjs 2.33 kB
packages/mcp/dist/extensions/output-instructions.js 6.21 kB
packages/mcp/dist/extensions/output-instructions.mjs 3.91 kB
packages/mcp/dist/extensions/posthog-events.js 12.7 kB
packages/mcp/dist/extensions/posthog-events.mjs 8.61 kB
packages/mcp/dist/extensions/posthog-mcp.js 17.3 kB
packages/mcp/dist/extensions/posthog-mcp.mjs 13.9 kB
packages/mcp/dist/extensions/request-headers.js 2.27 kB
packages/mcp/dist/extensions/request-headers.mjs 963 B
packages/mcp/dist/extensions/sanitization.js 5.19 kB
packages/mcp/dist/extensions/sanitization.mjs 3.15 kB
packages/mcp/dist/extensions/server-build.js 1.94 kB
packages/mcp/dist/extensions/server-build.mjs 482 B
packages/mcp/dist/extensions/session-token.js 7.48 kB
packages/mcp/dist/extensions/session-token.mjs 5.33 kB
packages/mcp/dist/extensions/session.js 7.34 kB
packages/mcp/dist/extensions/session.mjs 4.72 kB
packages/mcp/dist/extensions/sink.js 4.47 kB
packages/mcp/dist/extensions/sink.mjs 2.67 kB
packages/mcp/dist/extensions/tool-input.js 4.82 kB
packages/mcp/dist/extensions/tool-input.mjs 3.27 kB
packages/mcp/dist/extensions/tools.js 3.81 kB
packages/mcp/dist/extensions/tools.mjs 1.68 kB
packages/mcp/dist/extensions/tracing-helpers.js 2.51 kB
packages/mcp/dist/extensions/tracing-helpers.mjs 772 B
packages/mcp/dist/extensions/transport-identity.js 3 kB
packages/mcp/dist/extensions/transport-identity.mjs 1.09 kB
packages/mcp/dist/extensions/truncation.js 12.5 kB
packages/mcp/dist/extensions/truncation.mjs 10.4 kB
packages/mcp/dist/index.js 10.2 kB
packages/mcp/dist/index.mjs 5.54 kB
packages/mcp/dist/types.js 585 B
packages/mcp/dist/types.mjs 12 B
packages/mcp/dist/version.js 1.31 kB
packages/mcp/dist/version.mjs 45 B
packages/next/dist/app/PostHogProvider.js 5.37 kB
packages/next/dist/client/ClientPostHogProvider.js 2.28 kB
packages/next/dist/client/hooks.js 172 B
packages/next/dist/client/PostHogPageView.js 4.23 kB
packages/next/dist/index.client.js 401 B
packages/next/dist/index.edge.js 588 B
packages/next/dist/index.js 572 B
packages/next/dist/index.react-server.js 420 B
packages/next/dist/middleware/postHogMiddleware.js 4.08 kB
packages/next/dist/otel.js 1.12 kB
packages/next/dist/otel.unsupported.js 181 B
packages/next/dist/pages.client.js 225 B
packages/next/dist/pages.edge.js 294 B
packages/next/dist/pages.js 347 B
packages/next/dist/pages/createPostHog.js 1.48 kB
packages/next/dist/pages/getServerSidePostHog.js 1.48 kB
packages/next/dist/pages/PostHogPageView.js 1.77 kB
packages/next/dist/pages/PostHogProvider.js 1.58 kB
packages/next/dist/server.edge.js 1.65 kB
packages/next/dist/server/captureRequestError.js 16.4 kB
packages/next/dist/server/clientCache.edge.js 305 B
packages/next/dist/server/clientCache.js 1.53 kB
packages/next/dist/server/clientCache.node.js 828 B
packages/next/dist/server/createPostHog.js 1.44 kB
packages/next/dist/server/getPostHog.js 3.89 kB
packages/next/dist/server/onRequestError.js 2.55 kB
packages/next/dist/server/onRequestError.types.js 59 B
packages/next/dist/server/withPostHogProxy.js 4.03 kB
packages/next/dist/shared/browser.js 195 B
packages/next/dist/shared/config.js 2.23 kB
packages/next/dist/shared/constants.js 201 B
packages/next/dist/shared/cookie.js 540 B
packages/next/dist/shared/identity.js 2.56 kB
packages/next/dist/shared/tracing-headers.js 2.18 kB
packages/nextjs-config/dist/config.js 13.6 kB
packages/nextjs-config/dist/config.mjs 11.9 kB
packages/nextjs-config/dist/index.js 2.21 kB
packages/nextjs-config/dist/index.mjs 30 B
packages/nextjs-config/dist/inject-server-release.js 4.51 kB
packages/nextjs-config/dist/inject-server-release.mjs 2.68 kB
packages/nextjs-config/dist/strip-sourcemap-comments.js 5.46 kB
packages/nextjs-config/dist/strip-sourcemap-comments.mjs 3.37 kB
packages/nextjs-config/dist/utils.js 4.81 kB
packages/nextjs-config/dist/utils.mjs 2.33 kB
packages/node/dist/ai-capture/batching.js 2.71 kB
packages/node/dist/ai-capture/batching.mjs 1.21 kB
packages/node/dist/ai-capture/routing.js 1.96 kB
packages/node/dist/ai-capture/routing.mjs 264 B
packages/node/dist/capture-v1/config.js 1.59 kB
packages/node/dist/capture-v1/config.mjs 283 B
packages/node/dist/capture-v1/errors.js 1.99 kB
packages/node/dist/capture-v1/errors.mjs 694 B
packages/node/dist/capture-v1/routing.js 1.77 kB
packages/node/dist/capture-v1/routing.mjs 279 B
packages/node/dist/capture-v1/sender.js 11.5 kB
packages/node/dist/capture-v1/sender.mjs 9.96 kB
packages/node/dist/capture-v1/transform.js 5.22 kB
packages/node/dist/capture-v1/transform.mjs 3.65 kB
packages/node/dist/capture-v1/types.js 585 B
packages/node/dist/capture-v1/types.mjs 12 B
packages/node/dist/emails/attachments.js 8.12 kB
packages/node/dist/emails/attachments.mjs 6.3 kB
packages/node/dist/emails/emails.js 33.3 kB
packages/node/dist/emails/emails.mjs 30.5 kB
packages/node/dist/emails/errors.js 3.04 kB
packages/node/dist/emails/errors.mjs 1.76 kB
packages/node/dist/emails/types.js 585 B
packages/node/dist/emails/types.mjs 12 B
packages/node/dist/entrypoints/index.edge.js 3.66 kB
packages/node/dist/entrypoints/index.edge.mjs 720 B
packages/node/dist/entrypoints/index.node.js 6.45 kB
packages/node/dist/entrypoints/index.node.mjs 1.77 kB
packages/node/dist/entrypoints/nestjs.js 2.27 kB
packages/node/dist/entrypoints/nestjs.mjs 42 B
packages/node/dist/entrypoints/otel.js 3.93 kB
packages/node/dist/entrypoints/otel.mjs 2.35 kB
packages/node/dist/experimental.js 852 B
packages/node/dist/experimental.mjs 279 B
packages/node/dist/exports.js 8.09 kB
packages/node/dist/exports.mjs 558 B
packages/node/dist/extensions/context/context.js 2.62 kB
packages/node/dist/extensions/context/context.mjs 1.14 kB
packages/node/dist/extensions/context/event-context.js 1.93 kB
packages/node/dist/extensions/context/event-context.mjs 501 B
packages/node/dist/extensions/context/lifetime.js 2.61 kB
packages/node/dist/extensions/context/lifetime.mjs 1.03 kB
packages/node/dist/extensions/context/listeners.js 2.35 kB
packages/node/dist/extensions/context/listeners.mjs 788 B
packages/node/dist/extensions/context/span-context.node.js 1.8 kB
packages/node/dist/extensions/context/span-context.node.mjs 355 B
packages/node/dist/extensions/context/types.js 585 B
packages/node/dist/extensions/context/types.mjs 12 B
packages/node/dist/extensions/error-tracking/autocapture.js 17.6 kB
packages/node/dist/extensions/error-tracking/autocapture.mjs 15.7 kB
packages/node/dist/extensions/error-tracking/index.js 5.5 kB
packages/node/dist/extensions/error-tracking/index.mjs 4.1 kB
packages/node/dist/extensions/error-tracking/modifiers/context-lines.node.js 11.7 kB
packages/node/dist/extensions/error-tracking/modifiers/context-lines.node.mjs 9.64 kB
packages/node/dist/extensions/error-tracking/modifiers/module.node.js 2.87 kB
packages/node/dist/extensions/error-tracking/modifiers/module.node.mjs 1.45 kB
packages/node/dist/extensions/error-tracking/modifiers/relative-path.node.js 2.07 kB
packages/node/dist/extensions/error-tracking/modifiers/relative-path.node.mjs 624 B
packages/node/dist/extensions/error-tracking/trace-context.js 2.25 kB
packages/node/dist/extensions/error-tracking/trace-context.mjs 913 B
packages/node/dist/extensions/express.js 6.42 kB
packages/node/dist/extensions/express.mjs 4.07 kB
packages/node/dist/extensions/feature-flags/cache.js 585 B
packages/node/dist/extensions/feature-flags/cache.mjs 12 B
packages/node/dist/extensions/feature-flags/crypto.js 1.37 kB
packages/node/dist/extensions/feature-flags/crypto.mjs 42 B
packages/node/dist/extensions/feature-flags/feature-flags.js 44.9 kB
packages/node/dist/extensions/feature-flags/feature-flags.mjs 42.3 kB
packages/node/dist/extensions/fetch-request.js 9.02 kB
packages/node/dist/extensions/fetch-request.mjs 6.9 kB
packages/node/dist/extensions/nestjs.js 7.39 kB
packages/node/dist/extensions/nestjs.mjs 5 kB
packages/node/dist/extensions/sentry-integration.js 4.99 kB
packages/node/dist/extensions/sentry-integration.mjs 3.37 kB
packages/node/dist/extensions/tracing-headers.js 6.85 kB
packages/node/dist/extensions/tracing-headers.mjs 4.61 kB
packages/node/dist/extensions/url-utils.js 2.32 kB
packages/node/dist/extensions/url-utils.mjs 785 B
packages/node/dist/flag-events.js 8.38 kB
packages/node/dist/flag-events.mjs 6.04 kB
packages/node/dist/gzip.node.js 1.83 kB
packages/node/dist/gzip.node.mjs 416 B
packages/node/dist/host-os.node.js 1.8 kB
packages/node/dist/host-os.node.mjs 349 B
packages/node/dist/logs-config.js 4.4 kB
packages/node/dist/logs-config.mjs 1.92 kB
packages/node/dist/storage-memory.js 1.61 kB
packages/node/dist/storage-memory.mjs 297 B
packages/node/dist/version.js 1.31 kB
packages/node/dist/version.mjs 46 B
packages/nuxt/dist/module.mjs 8.05 kB
packages/nuxt/dist/runtime/composables/useFeatureFlagEnabled.js 566 B
packages/nuxt/dist/runtime/composables/useFeatureFlagPayload.js 690 B
packages/nuxt/dist/runtime/composables/useFeatureFlagVariantKey.js 591 B
packages/nuxt/dist/runtime/composables/usePostHog.js 128 B
packages/nuxt/dist/runtime/nitro-plugin-v2.js 817 B
packages/nuxt/dist/runtime/nitro-plugin-v3.js 893 B
packages/nuxt/dist/runtime/nitro-plugin.js 3.14 kB
packages/nuxt/dist/runtime/server-client.js 32 B
packages/nuxt/dist/runtime/server.js 127 B
packages/nuxt/dist/runtime/vue-plugin.js 1.13 kB
packages/openfeature-node-provider/dist/index.js 1.86 kB
packages/openfeature-node-provider/dist/index.mjs 122 B
packages/openfeature-node-provider/dist/mapping.js 5.66 kB
packages/openfeature-node-provider/dist/mapping.mjs 3.5 kB
packages/openfeature-node-provider/dist/provider.js 4.08 kB
packages/openfeature-node-provider/dist/provider.mjs 2.59 kB
packages/openfeature-web-provider/dist/index.js 1.84 kB
packages/openfeature-web-provider/dist/index.mjs 119 B
packages/openfeature-web-provider/dist/mapping.js 5.42 kB
packages/openfeature-web-provider/dist/mapping.mjs 3.21 kB
packages/openfeature-web-provider/dist/provider.js 4.51 kB
packages/openfeature-web-provider/dist/provider.mjs 3.06 kB
packages/plugin-utils/dist/chunk-ids.js 3.96 kB
packages/plugin-utils/dist/chunk-ids.mjs 2.11 kB
packages/plugin-utils/dist/cli.js 4.47 kB
packages/plugin-utils/dist/cli.mjs 2.72 kB
packages/plugin-utils/dist/config.js 3.6 kB
packages/plugin-utils/dist/config.mjs 2.25 kB
packages/plugin-utils/dist/index.js 4.5 kB
packages/plugin-utils/dist/index.mjs 197 B
packages/plugin-utils/dist/spawn-local.js 3.17 kB
packages/plugin-utils/dist/spawn-local.mjs 1.66 kB
packages/plugin-utils/dist/utils.js 3.36 kB
packages/plugin-utils/dist/utils.mjs 1.3 kB
packages/react-native/dist/autocapture.js 8.42 kB
packages/react-native/dist/error-tracking/exception-context.js 2.25 kB
packages/react-native/dist/error-tracking/fatal-payload.js 6.61 kB
packages/react-native/dist/error-tracking/index.js 17.2 kB
packages/react-native/dist/error-tracking/utils.js 6.03 kB
packages/react-native/dist/frameworks/wix-navigation.js 1.35 kB
packages/react-native/dist/hooks/useFeatureFlag.js 1.9 kB
packages/react-native/dist/hooks/useFeatureFlagResult.js 1.03 kB
packages/react-native/dist/hooks/useFeatureFlags.js 985 B
packages/react-native/dist/hooks/useNavigationTracker.js 2.31 kB
packages/react-native/dist/hooks/usePostHog.js 583 B
packages/react-native/dist/hooks/utils.js 1.02 kB
packages/react-native/dist/index.js 4.36 kB
packages/react-native/dist/logs-defaults.js 3.71 kB
packages/react-native/dist/native-deps.js 9.57 kB
packages/react-native/dist/optional/OptionalAsyncStorage.js 348 B
packages/react-native/dist/optional/OptionalExpoApplication.js 429 B
packages/react-native/dist/optional/OptionalExpoDevice.js 394 B
packages/react-native/dist/optional/OptionalExpoFileSystem.js 437 B
packages/react-native/dist/optional/OptionalExpoFileSystemLegacy.js 480 B
packages/react-native/dist/optional/OptionalExpoLocalization.js 436 B
packages/react-native/dist/optional/OptionalExpoUpdates.js 382 B
packages/react-native/dist/optional/OptionalPlugin.js 1.36 kB
packages/react-native/dist/optional/OptionalReactNativeDeviceInfo.js 473 B
packages/react-native/dist/optional/OptionalReactNativeExceptionsManager.js 626 B
packages/react-native/dist/optional/OptionalReactNativeExceptionsManager.web.js 287 B
packages/react-native/dist/optional/OptionalReactNativeLocalize.js 359 B
packages/react-native/dist/optional/OptionalReactNativeNavigation.js 473 B
packages/react-native/dist/optional/OptionalReactNativeNavigationWix.js 504 B
packages/react-native/dist/optional/OptionalReactNativeSafeArea.js 700 B
packages/react-native/dist/optional/OptionalReactNativeSvg.js 923 B
packages/react-native/dist/posthog-rn.js 98.3 kB
packages/react-native/dist/PostHogContext.js 372 B
packages/react-native/dist/PostHogErrorBoundary.js 3.98 kB
packages/react-native/dist/PostHogMaskView.js 1.72 kB
packages/react-native/dist/PostHogProvider.js 6.15 kB
packages/react-native/dist/storage.js 6.85 kB
packages/react-native/dist/surveys/components/BottomSection.js 1.69 kB
packages/react-native/dist/surveys/components/Cancel.js 1.19 kB
packages/react-native/dist/surveys/components/ConfirmationMessage.js 1.99 kB
packages/react-native/dist/surveys/components/IntroMessage.js 1.87 kB
packages/react-native/dist/surveys/components/QuestionHeader.js 1.69 kB
packages/react-native/dist/surveys/components/QuestionTypes.js 16.1 kB
packages/react-native/dist/surveys/components/SurveyModal.js 7.95 kB
packages/react-native/dist/surveys/components/Surveys.js 8.7 kB
packages/react-native/dist/surveys/getActiveMatchingSurveys.js 3.42 kB
packages/react-native/dist/surveys/icons.js 10.1 kB
packages/react-native/dist/surveys/index.js 634 B
packages/react-native/dist/surveys/PostHogSurveyProvider.js 12.7 kB
packages/react-native/dist/surveys/safeStyleSheet.js 491 B
packages/react-native/dist/surveys/survey-progress.js 7.8 kB
packages/react-native/dist/surveys/survey-shuffling.js 2.38 kB
packages/react-native/dist/surveys/survey-translations.js 1.22 kB
packages/react-native/dist/surveys/surveys-utils.js 12 kB
packages/react-native/dist/surveys/useActivatedSurveys.js 3.89 kB
packages/react-native/dist/surveys/useSurveyStorage.js 3.07 kB
packages/react-native/dist/tooling/expoconfig.js 42.9 kB
packages/react-native/dist/tooling/metroconfig.js 2.36 kB
packages/react-native/dist/tooling/posthogMetroSerializer.js 7.5 kB
packages/react-native/dist/tooling/utils.js 4.49 kB
packages/react-native/dist/tooling/vendor/expo/expoconfig.js 109 B
packages/react-native/dist/tooling/vendor/metro/countLines.js 276 B
packages/react-native/dist/tooling/vendor/metro/utils.js 3.61 kB
packages/react-native/dist/types.js 104 B
packages/react-native/dist/utils.js 1.83 kB
packages/react-native/dist/version.js 166 B
packages/react/dist/esm/index.js 23.3 kB
packages/react/dist/esm/slim/index.js 19.5 kB
packages/react/dist/esm/surveys/index.js 4.22 kB
packages/react/dist/umd/index.js 27.8 kB
packages/react/dist/umd/slim/index.js 23.5 kB
packages/react/dist/umd/surveys/index.js 6.33 kB
packages/rollup-plugin/dist/chunk-fingerprint.js 2.77 kB
packages/rollup-plugin/dist/index.js 14.9 kB
packages/rrweb/all/dist/rrweb-all.cjs 698 kB
packages/rrweb/all/dist/rrweb-all.js 697 kB
packages/rrweb/all/dist/rrweb-all.umd.cjs 729 kB
packages/rrweb/all/dist/rrweb-all.umd.min.cjs 358 kB
packages/rrweb/packer/dist/browser-********.cjs 17.9 kB
packages/rrweb/packer/dist/browser-********.js 17.5 kB
packages/rrweb/packer/dist/pack.cjs 401 B
packages/rrweb/packer/dist/pack.js 301 B
packages/rrweb/packer/dist/pack.umd.cjs 1.67 kB
packages/rrweb/packer/dist/pack.umd.min.cjs 1.11 kB
packages/rrweb/packer/dist/packer.cjs 276 B
packages/rrweb/packer/dist/packer.js 133 B
packages/rrweb/packer/dist/packer.umd.cjs 694 B
packages/rrweb/packer/dist/packer.umd.min.cjs 626 B
packages/rrweb/packer/dist/unpack.cjs 737 B
packages/rrweb/packer/dist/unpack.js 637 B
packages/rrweb/packer/dist/unpack.umd.cjs 1.14 kB
packages/rrweb/packer/dist/unpack.umd.min.cjs 953 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.cjs 34.9 kB
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.js 34.8 kB
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.umd.cjs 37 kB
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.umd.min.cjs 22.9 kB
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.cjs 31.8 kB
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.js 31.7 kB
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.umd.cjs 33.7 kB
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.umd.min.cjs 21.1 kB
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.cjs 16.7 kB
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.js 16.6 kB
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.umd.cjs 15.9 kB
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.umd.min.cjs 8.57 kB
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.cjs 6.25 kB
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.js 6.15 kB
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.umd.cjs 6.5 kB
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.umd.min.cjs 3.57 kB
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.cjs 663 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.js 540 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.umd.cjs 1.1 kB
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.umd.min.cjs 827 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.cjs 816 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.js 715 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.umd.cjs 1.25 kB
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.umd.min.cjs 966 B
packages/rrweb/record/dist/rrweb-record.cjs 263 kB
packages/rrweb/record/dist/rrweb-record.js 262 kB
packages/rrweb/record/dist/rrweb-record.umd.cjs 268 kB
packages/rrweb/record/dist/rrweb-record.umd.min.cjs 129 kB
packages/rrweb/replay/dist/rrweb-replay.cjs 440 kB
packages/rrweb/replay/dist/rrweb-replay.js 440 kB
packages/rrweb/replay/dist/rrweb-replay.umd.cjs 461 kB
packages/rrweb/replay/dist/rrweb-replay.umd.min.cjs 229 kB
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.cjs 142 kB
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.js 141 kB
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.umd.cjs 155 kB
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.umd.min.cjs 76.4 kB
packages/rrweb/rrdom/dist/rrdom.cjs 168 kB
packages/rrweb/rrdom/dist/rrdom.js 168 kB
packages/rrweb/rrdom/dist/rrdom.umd.cjs 179 kB
packages/rrweb/rrdom/dist/rrdom.umd.min.cjs 87.3 kB
packages/rrweb/rrweb-snapshot/dist/rebuild-********.js 133 kB
packages/rrweb/rrweb-snapshot/dist/rebuild-ClnduDn-.cjs 133 kB
packages/rrweb/rrweb-snapshot/dist/record.cjs 5.12 kB
packages/rrweb/rrweb-snapshot/dist/record.js 3.63 kB
packages/rrweb/rrweb-snapshot/dist/record.umd.cjs 107 kB
packages/rrweb/rrweb-snapshot/dist/record.umd.min.cjs 50 kB
packages/rrweb/rrweb-snapshot/dist/replay.cjs 2.6 kB
packages/rrweb/rrweb-snapshot/dist/replay.js 1.8 kB
packages/rrweb/rrweb-snapshot/dist/replay.umd.cjs 215 kB
packages/rrweb/rrweb-snapshot/dist/replay.umd.min.cjs 95 kB
packages/rrweb/rrweb-snapshot/dist/rrweb-snapshot.cjs 5.41 kB
packages/rrweb/rrweb-snapshot/dist/rrweb-snapshot.js 3.81 kB
packages/rrweb/rrweb-snapshot/dist/rrweb-snapshot.umd.cjs 262 kB
packages/rrweb/rrweb-snapshot/dist/rrweb-snapshot.umd.min.cjs 118 kB
packages/rrweb/rrweb-snapshot/dist/snapshot-********.cjs 38.8 kB
packages/rrweb/rrweb-snapshot/dist/snapshot-********.js 36.7 kB
packages/rrweb/rrweb-snapshot/dist/types-********.cjs 56.4 kB
packages/rrweb/rrweb-snapshot/dist/types-********.js 50.1 kB
packages/rrweb/rrweb/dist/rrweb.cjs 683 kB
packages/rrweb/rrweb/dist/rrweb.js 682 kB
packages/rrweb/rrweb/dist/rrweb.umd.cjs 711 kB
packages/rrweb/rrweb/dist/rrweb.umd.min.cjs 348 kB
packages/rrweb/types/dist/rrweb-types.cjs 5.8 kB
packages/rrweb/types/dist/rrweb-types.js 5.5 kB
packages/rrweb/types/dist/rrweb-types.umd.cjs 6.06 kB
packages/rrweb/types/dist/rrweb-types.umd.min.cjs 2.95 kB
packages/rrweb/utils/dist/rrweb-utils.cjs 10.1 kB
packages/rrweb/utils/dist/rrweb-utils.js 9.5 kB
packages/rrweb/utils/dist/rrweb-utils.umd.cjs 10.2 kB
packages/rrweb/utils/dist/rrweb-utils.umd.min.cjs 5.07 kB
packages/types/dist/capture-log.js 585 B
packages/types/dist/capture-log.mjs 12 B
packages/types/dist/capture-metric.js 1.47 kB
packages/types/dist/capture-metric.mjs 93 B
packages/types/dist/capture.js 585 B
packages/types/dist/capture.mjs 12 B
packages/types/dist/common.js 585 B
packages/types/dist/common.mjs 12 B
packages/types/dist/feature-flags.js 585 B
packages/types/dist/feature-flags.mjs 12 B
packages/types/dist/index.js 1.83 kB
packages/types/dist/index.mjs 137 B
packages/types/dist/posthog-config.js 1.53 kB
packages/types/dist/posthog-config.mjs 209 B
packages/types/dist/posthog.js 585 B
packages/types/dist/posthog.mjs 12 B
packages/types/dist/request.js 585 B
packages/types/dist/request.mjs 12 B
packages/types/dist/segment.js 585 B
packages/types/dist/segment.mjs 12 B
packages/types/dist/session-recording.js 585 B
packages/types/dist/session-recording.mjs 12 B
packages/types/dist/survey.js 585 B
packages/types/dist/survey.mjs 12 B
packages/types/dist/toolbar.js 585 B
packages/types/dist/toolbar.mjs 12 B
packages/types/dist/traces.js 585 B
packages/types/dist/traces.mjs 12 B
packages/types/dist/tree-shakeable.js 585 B
packages/types/dist/tree-shakeable.mjs 12 B
packages/web/dist/index.cjs 9.09 kB
packages/web/dist/index.mjs 8.93 kB
packages/webpack-plugin/dist/config.js 3.55 kB
packages/webpack-plugin/dist/config.mjs 2.48 kB
packages/webpack-plugin/dist/index.js 20.2 kB
packages/webpack-plugin/dist/index.mjs 15.6 kB
tooling/changelog/dist/index.js 399 B
tooling/rollup-utils/dist/index.js 1.17 kB
tooling/sdk-mock-server/dist/decode.js 2.03 kB
tooling/sdk-mock-server/dist/index.js 16 kB
tooling/sdk-mock-server/dist/state.js 3.79 kB

compressed-size-action

@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

posthog-js Compliance Report

Date: 2026-11-14 10:01:52 UTC
Duration: 88539ms

✅ 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 ✅ 76ms
Format Validation.Event Has Uuid ✅ 12ms
Format Validation.Event Has Lib Properties ✅ 11ms
Format Validation.Distinct Id Is String Client ✅ 11ms
Format Validation.Token Is Present Client ✅ 10ms
Format Validation.Custom Properties Preserved ✅ 10ms
Format Validation.Event Has Timestamp ✅ 9ms
Retry Behavior.Retries On 503 ✅ 5014ms
Retry Behavior.Does Not Retry On 400 ✅ 2014ms
Retry Behavior.Does Not Retry On 401 ✅ 2019ms
Retry Behavior.Respects Retry After Header ✅ 5014ms
Retry Behavior.Implements Backoff ✅ 15023ms
Retry Behavior.Retries On 500 ✅ 5014ms
Retry Behavior.Retries On 502 ✅ 5014ms
Retry Behavior.Retries On 504 ✅ 5009ms
Retry Behavior.Max Retries Respected ✅ 15020ms
Deduplication.Generates Unique Uuids ✅ 16ms
Deduplication.Preserves Uuid On Retry ✅ 5011ms
Deduplication.Preserves Uuid And Timestamp On Retry ✅ 10018ms
Deduplication.Preserves Uuid And Timestamp On Batch Retry ✅ 5016ms
Deduplication.No Duplicate Events In Batch ✅ 15ms
Deduplication.Different Events Have Different Uuids ✅ 9ms
Batch Format.Flush With No Events Sends Nothing ✅ 4ms
Error Handling.Does Not Retry On 403 ✅ 2009ms
Error Handling.Does Not Retry On 413 ✅ 2010ms
Error Handling.Retries On 408 ✅ 5013ms

@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Node SDK acceptance v2

Commit: 488a5b0
Workflow run and artifacts

Capture v0

✅ 229 passed / ❌ 8 non-passing / ⚠️ 1196 not selected

Drill-down: run artifacts → node-v2-v0 → acceptance/report.json.diagnostics.json (match case_id below).

❌ server_snapshot_payload_false — failed_assertion

Expected native data result

Code: snapshot_result

Failed step: acceptance/public/evaluate-flags.feature:868

the public snapshot outcomes should have these semantics:
❌ server_snapshot_payload_zero — failed_assertion

Expected native data result

Code: snapshot_result

Failed step: acceptance/public/evaluate-flags.feature:868

the public snapshot outcomes should have these semantics:
❌ server_snapshot_payload_null — failed_assertion

Expected native data result

Code: snapshot_result

Failed step: acceptance/public/evaluate-flags.feature:868

the public snapshot outcomes should have these semantics:
❌ migration/yaml-parity-v1/remote-flags-v1.feature::Omitted GeoIP settings default to enabled in flag requests — failed_assertion

Flags field differs

Code: flag_request_field

Failed step: migration/yaml-parity-v1/remote-flags-v1.feature:135

the first flags request field "geoip_disable" should equal JSON false

Operation: /flags/

Field: geoip_disable

Expected:

false

Actual value:

true

❌ migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature::Legacy getter reads reader fixture readers.dependency_error — failed_assertion

Getter value differs

Code: flag_value

Failed step: migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature:1174

the public flag getter should return exactly JSON false

Operation: /get_feature_flag

Arguments:

{"key":"garden-layout","distinct_id":"flags-v4-person"}

Expected:

false

Actual outcome: undefined

❌ migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature::Legacy getter reads reader fixture readers.error — failed_assertion

Getter value differs

Code: flag_value

Failed step: migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature:1213

the public flag getter should return exactly JSON false

Operation: /get_feature_flag

Arguments:

{"key":"garden-layout","distinct_id":"flags-v4-person"}

Expected:

false

Actual outcome: undefined

❌ migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature::Legacy getter reads reader fixture readers.error_with_value — failed_assertion

Getter value differs

Code: flag_value

Failed step: migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature:1252

the public flag getter should return exactly JSON false

Operation: /get_feature_flag

Arguments:

{"key":"garden-layout","distinct_id":"flags-v4-person"}

Expected:

false

Actual outcome: undefined

❌ migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature::Legacy getter reads reader fixture readers.v1_failed — failed_assertion

Getter value differs

Code: flag_value

Failed step: migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature:1425

the public flag getter should return exactly JSON false

Operation: /get_feature_flag

Arguments:

{"key":"garden-layout","distinct_id":"flags-v4-person"}

Expected:

false

Actual outcome: undefined

Harness exit: 1; report validation exit: 1.

Capture v1

✅ 294 passed / ❌ 8 non-passing / ⚠️ 1131 not selected

Drill-down: run artifacts → node-v2-v1 → acceptance/report.json.diagnostics.json (match case_id below).

❌ server_snapshot_payload_false — failed_assertion

Expected native data result

Code: snapshot_result

Failed step: acceptance/public/evaluate-flags.feature:868

the public snapshot outcomes should have these semantics:
❌ server_snapshot_payload_zero — failed_assertion

Expected native data result

Code: snapshot_result

Failed step: acceptance/public/evaluate-flags.feature:868

the public snapshot outcomes should have these semantics:
❌ server_snapshot_payload_null — failed_assertion

Expected native data result

Code: snapshot_result

Failed step: acceptance/public/evaluate-flags.feature:868

the public snapshot outcomes should have these semantics:
❌ migration/yaml-parity-v1/remote-flags-v1.feature::Omitted GeoIP settings default to enabled in flag requests — failed_assertion

Flags field differs

Code: flag_request_field

Failed step: migration/yaml-parity-v1/remote-flags-v1.feature:135

the first flags request field "geoip_disable" should equal JSON false

Operation: /flags/

Field: geoip_disable

Expected:

false

Actual value:

true

❌ migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature::Legacy getter reads reader fixture readers.dependency_error — failed_assertion

Getter value differs

Code: flag_value

Failed step: migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature:1174

the public flag getter should return exactly JSON false

Operation: /get_feature_flag

Arguments:

{"key":"garden-layout","distinct_id":"flags-v4-person"}

Expected:

false

Actual outcome: undefined

❌ migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature::Legacy getter reads reader fixture readers.error — failed_assertion

Getter value differs

Code: flag_value

Failed step: migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature:1213

the public flag getter should return exactly JSON false

Operation: /get_feature_flag

Arguments:

{"key":"garden-layout","distinct_id":"flags-v4-person"}

Expected:

false

Actual outcome: undefined

❌ migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature::Legacy getter reads reader fixture readers.error_with_value — failed_assertion

Getter value differs

Code: flag_value

Failed step: migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature:1252

the public flag getter should return exactly JSON false

Operation: /get_feature_flag

Arguments:

{"key":"garden-layout","distinct_id":"flags-v4-person"}

Expected:

false

Actual outcome: undefined

❌ migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature::Legacy getter reads reader fixture readers.v1_failed — failed_assertion

Getter value differs

Code: flag_value

Failed step: migration/yaml-parity-v1/remote-flags-v4-legacy-getter.feature:1425

the public flag getter should return exactly JSON false

Operation: /get_feature_flag

Arguments:

{"key":"garden-layout","distinct_id":"flags-v4-person"}

Expected:

false

Actual outcome: undefined

Harness exit: 1; report validation exit: 1.

@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

SDK performance: posthog-node

Benchmarks completed. No changes flagged for review.

Flags require at least a 5% change in the median and all six pairs agreeing on direction. This is a noise filter, not proof of a performance change or a CI gate.

View all results
Test Measurement Before PR With PR Change Assessment
Capture and deliver events (32-byte payload, burst)
Shard: capture
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Capture and deliver events (32-byte payload, steady)
Shard: capture
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Queue an event (32-byte payload)
Shard: capture
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Queue an event (4,096-byte payload)
Shard: capture
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Evaluate all 10 flags
Shard: flags-scaling
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Evaluate all 100 flags
Shard: flags-scaling
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Evaluate all 1,000 flags
Shard: flags-scaling
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Evaluate one boolean flag
Shard: flags-single
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Evaluate a cohort-filtered flag
Shard: flags-single
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Evaluate a flag (early match)
Shard: flags-single
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Evaluate a flag (late match)
Shard: flags-single
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Evaluate a flag (no match)
Shard: flags-single
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Evaluate a property-filtered flag
Shard: flags-single
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Evaluate a regex-filtered flag
Shard: flags-single
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Evaluate a rollout flag
Shard: flags-single
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Evaluate a multivariate flag
Shard: flags-single
Allocations per operation — — — unavailable; base:​ unsupported; head:​ unsupported; base:​ V8 samples do not expose total allocation count; sample count is not object count.​; head:​ V8 samples do not expose total allocation count; sample count is not object count.​
Capture and deliver events (32-byte payload, burst)
Shard: capture
Allocated memory per operation (estimated) 9.56 KiB/op 9.87 KiB/op 3.3% more memory Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Time per operation 15.03 µs/op 14.45 µs/op 3.9% less time Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Idle process memory (RSS) 102.7 MiB 102.66 MiB <0.1% less memory Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Observed peak process memory (RSS) 106.45 MiB 106.58 MiB 0.1% more memory Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Managed heap after settling 10.15 MiB 10.15 MiB <0.1% more memory Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Process memory after settling (RSS) 106.06 MiB 106.19 MiB 0.1% more memory Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Process CPU time per operation 28.1 µs/op 27.09 µs/op 3.6% less time Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Lifetime peak process memory (RSS) 106.62 MiB 106.72 MiB <0.1% more memory Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Allocated memory per operation (estimated) 17.62 KiB/op 17.88 KiB/op 1.5% more memory Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Time per operation 26.59 µs/op 27.07 µs/op 1.8% more time Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Idle process memory (RSS) 102.77 MiB 102.86 MiB <0.1% more memory Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Observed peak process memory (RSS) 114.03 MiB 114.09 MiB <0.1% more memory Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Managed heap after settling 10.15 MiB 10.16 MiB <0.1% more memory Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Process memory after settling (RSS) 109.92 MiB 110 MiB <0.1% more memory Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Process CPU time per operation 40.41 µs/op 41.54 µs/op 2.8% more time Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Lifetime peak process memory (RSS) 116.23 MiB 116.38 MiB 0.1% more memory Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Allocated memory per operation (estimated) 10.29 KiB/op 10.57 KiB/op 2.7% more memory Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Time per operation 15.75 µs/op 15.65 µs/op 0.6% less time Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Idle process memory (RSS) 102.82 MiB 102.82 MiB <0.1% more memory Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Observed peak process memory (RSS) 106.89 MiB 107.15 MiB 0.2% more memory Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Managed heap after settling 10.22 MiB 10.23 MiB <0.1% more memory Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Process memory after settling (RSS) 106.89 MiB 106.88 MiB <0.1% less memory Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Process CPU time per operation 29.15 µs/op 28.84 µs/op 1% less time Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Lifetime peak process memory (RSS) 107.19 MiB 107.3 MiB 0.1% more memory Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Allocated memory per operation (estimated) 17.96 KiB/op 17.99 KiB/op 0.1% more memory Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Time per operation 22.88 µs/op 22.69 µs/op 0.8% less time Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Idle process memory (RSS) 103.07 MiB 103.07 MiB <0.1% more memory Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Observed peak process memory (RSS) 109.97 MiB 109.66 MiB 0.3% less memory Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Managed heap after settling 10.23 MiB 10.24 MiB <0.1% more memory Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Process memory after settling (RSS) 108.75 MiB 108.13 MiB 0.6% less memory Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Process CPU time per operation 36.52 µs/op 36.76 µs/op 0.6% more time Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Lifetime peak process memory (RSS) 109.97 MiB 109.66 MiB 0.3% less memory Not flagged
Queue an event (32-byte payload)
Shard: capture
Allocated memory per operation (estimated) 8.66 KiB/op 8.68 KiB/op 0.2% more memory Not flagged
Queue an event (32-byte payload)
Shard: capture
Time per operation 11.3 µs/op 10.68 µs/op 5.5% less time Not flagged
Queue an event (32-byte payload)
Shard: capture
Process CPU time per operation 22.93 µs/op 22.26 µs/op 2.9% less time Not flagged
Queue an event (4,096-byte payload)
Shard: capture
Allocated memory per operation (estimated) 8.45 KiB/op 8.59 KiB/op 1.7% more memory Not flagged
Queue an event (4,096-byte payload)
Shard: capture
Time per operation 10.67 µs/op 10.64 µs/op 0.3% less time Not flagged
Queue an event (4,096-byte payload)
Shard: capture
Process CPU time per operation 21.76 µs/op 21.96 µs/op 0.9% more time Not flagged
Evaluate all 10 flags
Shard: flags-scaling
Allocated memory per operation (estimated) 132.29 KiB/op 132.59 KiB/op 0.2% more memory Not flagged
Evaluate all 10 flags
Shard: flags-scaling
Time per operation 126.51 µs/op 127.7 µs/op 0.9% more time Not flagged
Evaluate all 10 flags
Shard: flags-scaling
Process CPU time per operation 230.84 µs/op 231.98 µs/op 0.5% more time Not flagged
Evaluate all 100 flags
Shard: flags-scaling
Allocated memory per operation (estimated) 1.23 MiB/op 1.24 MiB/op 0.4% more memory Not flagged
Evaluate all 100 flags
Shard: flags-scaling
Time per operation 1.05 ms/op 1.03 ms/op 2.3% less time Not flagged
Evaluate all 100 flags
Shard: flags-scaling
Process CPU time per operation 1.83 ms/op 1.8 ms/op 1.6% less time Not flagged
Evaluate all 1,000 flags
Shard: flags-scaling
Allocated memory per operation (estimated) 12.13 MiB/op 12.11 MiB/op 0.2% less memory Not flagged
Evaluate all 1,000 flags
Shard: flags-scaling
Time per operation 11.86 ms/op 11.99 ms/op 1.1% more time Not flagged
Evaluate all 1,000 flags
Shard: flags-scaling
Process CPU time per operation 18.87 ms/op 19.13 ms/op 1.4% more time Not flagged
Evaluate 1,000 flags under concurrent load
Shard: flags-memory
Idle process memory (RSS) 286.37 MiB 286.85 MiB 0.2% more memory Not flagged
Evaluate 1,000 flags under concurrent load
Shard: flags-memory
Observed peak process memory (RSS) 300.04 MiB 299.28 MiB 0.3% less memory Not flagged
Evaluate 1,000 flags under concurrent load
Shard: flags-memory
Managed heap after settling 9.77 MiB 9.77 MiB <0.1% more memory Not flagged
Evaluate 1,000 flags under concurrent load
Shard: flags-memory
Process memory after settling (RSS) 299.33 MiB 298.85 MiB 0.2% less memory Not flagged
Evaluate 1,000 flags under concurrent load
Shard: flags-memory
Lifetime peak process memory (RSS) 300.04 MiB 299.56 MiB 0.2% less memory Not flagged
Refresh 1,000 flag definitions
Shard: flags-memory
Idle process memory (RSS) 223.06 MiB 222.03 MiB 0.5% less memory Not flagged
Refresh 1,000 flag definitions
Shard: flags-memory
Observed peak process memory (RSS) 238.85 MiB 237.82 MiB 0.4% less memory Not flagged
Refresh 1,000 flag definitions
Shard: flags-memory
Managed heap after settling 11.8 MiB 11.81 MiB <0.1% more memory Not flagged
Refresh 1,000 flag definitions
Shard: flags-memory
Process memory after settling (RSS) 234.27 MiB 233.58 MiB 0.3% less memory Not flagged
Refresh 1,000 flag definitions
Shard: flags-memory
Lifetime peak process memory (RSS) 240.77 MiB 240.06 MiB 0.3% less memory Not flagged
Evaluate one boolean flag
Shard: flags-single
Allocated memory per operation (estimated) 17.18 KiB/op 17.16 KiB/op 0.1% less memory Not flagged
Evaluate one boolean flag
Shard: flags-single
Time per operation 87.08 µs/op 89.51 µs/op 2.8% more time Not flagged
Evaluate one boolean flag
Shard: flags-single
Process CPU time per operation 93.41 µs/op 97.51 µs/op 4.4% more time Not flagged
Evaluate a cohort-filtered flag
Shard: flags-single
Allocated memory per operation (estimated) 14.19 KiB/op 14.18 KiB/op <0.1% less memory Not flagged
Evaluate a cohort-filtered flag
Shard: flags-single
Time per operation 49.15 µs/op 49.49 µs/op 0.7% more time Not flagged
Evaluate a cohort-filtered flag
Shard: flags-single
Process CPU time per operation 57.85 µs/op 58 µs/op 0.3% more time Not flagged
Evaluate a flag (early match)
Shard: flags-single
Allocated memory per operation (estimated) 17.41 KiB/op 17.49 KiB/op 0.5% more memory Not flagged
Evaluate a flag (early match)
Shard: flags-single
Time per operation 49.5 µs/op 49.07 µs/op 0.9% less time Not flagged
Evaluate a flag (early match)
Shard: flags-single
Process CPU time per operation 57.03 µs/op 56.86 µs/op 0.3% less time Not flagged
Evaluate a flag (late match)
Shard: flags-single
Allocated memory per operation (estimated) 22.35 KiB/op 22.3 KiB/op 0.2% less memory Not flagged
Evaluate a flag (late match)
Shard: flags-single
Time per operation 48.58 µs/op 50.94 µs/op 4.9% more time Not flagged
Evaluate a flag (late match)
Shard: flags-single
Process CPU time per operation 55.57 µs/op 58.67 µs/op 5.6% more time Not flagged
Evaluate a flag (no match)
Shard: flags-single
Allocated memory per operation (estimated) 16.98 KiB/op 16.88 KiB/op 0.6% less memory Not flagged
Evaluate a flag (no match)
Shard: flags-single
Time per operation 5.46 µs/op 5.72 µs/op 4.8% more time Not flagged
Evaluate a flag (no match)
Shard: flags-single
Process CPU time per operation 10.04 µs/op 10.34 µs/op 3% more time Not flagged
Evaluate a property-filtered flag
Shard: flags-single
Allocated memory per operation (estimated) 12.64 KiB/op 12.63 KiB/op 0.1% less memory Not flagged
Evaluate a property-filtered flag
Shard: flags-single
Time per operation 47.08 µs/op 47.81 µs/op 1.6% more time Not flagged
Evaluate a property-filtered flag
Shard: flags-single
Process CPU time per operation 53.97 µs/op 55.06 µs/op 2% more time Not flagged
Evaluate a regex-filtered flag
Shard: flags-single
Allocated memory per operation (estimated) 18.26 KiB/op 18.19 KiB/op 0.4% less memory Not flagged
Evaluate a regex-filtered flag
Shard: flags-single
Time per operation 92.48 µs/op 91.4 µs/op 1.2% less time Not flagged
Evaluate a regex-filtered flag
Shard: flags-single
Process CPU time per operation 101.04 µs/op 100.19 µs/op 0.8% less time Not flagged
Evaluate a rollout flag
Shard: flags-single
Allocated memory per operation (estimated) 14.25 KiB/op 14.11 KiB/op 1% less memory Not flagged
Evaluate a rollout flag
Shard: flags-single
Time per operation 69.61 µs/op 69.08 µs/op 0.8% less time Not flagged
Evaluate a rollout flag
Shard: flags-single
Process CPU time per operation 77.39 µs/op 76.87 µs/op 0.7% less time Not flagged
Evaluate a multivariate flag
Shard: flags-single
Allocated memory per operation (estimated) 17.39 KiB/op 17.51 KiB/op 0.7% more memory Not flagged
Evaluate a multivariate flag
Shard: flags-single
Time per operation 86.87 µs/op 89.74 µs/op 3.3% more time Not flagged
Evaluate a multivariate flag
Shard: flags-single
Process CPU time per operation 94.14 µs/op 98.08 µs/op 4.2% more time Not flagged

Values are medians of paired measurements. Not flagged does not mean unchanged. Unavailable means a measurement could not be provided, not zero. Estimated allocation measurements retain their instrumentation uncertainty. RSS measures the whole process, not just SDK allocations; observed peaks are sampled checkpoints. Paired ranges in the diagnostics describe variability, not confidence intervals.

Each shard uses its own runner; compare Before PR against With PR within a row, not across shards.

Compared 480395c443c5916d83b8c8fd8f6084f1ab244db2 → 488a5b0bfb5a422943cdab50b955abbbacddd7dd.

Full report and diagnostics

102 metric rows; 102 rows shown in all results. Omitted or shortened data remain in comparison.json, including per-runner environments, resource limits, measurement methods, samples and checkpoints.

@marandaneto
marandaneto marked this pull request as ready for review November 12, 2026 12:13
@marandaneto
marandaneto requested a review from a team as a code owner November 12, 2026 12:13
@veria-ai

veria-ai Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

PR overview

No security issues were found in this pull request.

Reviews

@posthog-security-review-bot posthog-security-review-bot Bot added the security-review Request a security review label Nov 12, 2026
@posthog-security-review-bot

posthog-security-review-bot Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

✅ Security review complete — cb379cc63a3e

No findings above the confidence threshold, in 8 min.

Add the security-review label to run again on the latest commit.

@posthog posthog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PostHog Review · Standard · reviewed cb379cc: 3 Should fix.

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

@posthog-security-review-bot posthog-security-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agent-driven security review - no findings.

@posthog-security-review-bot posthog-security-review-bot Bot removed the security-review Request a security review label Nov 12, 2026
@marandaneto
marandaneto requested a review from a team November 12, 2026 12:54
@posthog-project-board-bot posthog-project-board-bot Bot moved this to In Review in Feature Flags Nov 12, 2026
@marandaneto

Copy link
Copy Markdown
Member Author

Follow-up to the compatibility-risk check and changeset notice.

Reviewed Class 1's four compatibility questions. The persistence change adds an internal reconcileFeatureFlagsBeforeMerge capability; shared flags invoke it optionally, so old persistence implementations need not provide it. No existing core/CDN extension signature or persisted schema is replaced, and absent failure metadata stays neutral. Failed stored records are filtered/recovered at the existing flag-state boundary; browser cross-tab ownership remains the existing identity/pending-write-aware protocol, not a new browser-next protocol.

Executed pnpm --filter posthog-js compatibility:test --engines chromium --modes npm --comparisons current,historical --scenarios core,replay-persisted-config --output /tmp/sdk-spec211-comments/posthog-js/compatibility-chromium: all 4 cells / 8 executions passed, two repeats, zero snapshot differences. This exercises production-packed current and historical npm cores with current CDN bundles, including cold legacy recorder config while live config is held. That compatibility run was at b77d297, before the two-line own-key correction. Final correction HEAD c376aa7 reran the 26 browser extension tests, 1,921 shared tests and 6,381 browser unit tests successfully; the browser compatibility matrix was not rerun for that correction. This is partial Chromium/npm evidence—not the full Firefox/WebKit, all-entrypoint, Linux or historical-version matrix.

The @posthog/browser and posthog-js-lite patch entries are intentional. Browser-next consumes the changed shared flag implementation, and web lite extends the changed shared core. The existing seven-package patch changeset is retained.

Final reviewed commit: c376aa7.

@haacked haacked self-assigned this Nov 12, 2026

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

Nice fix! One blocking issue inline, plus a couple of questions and small suggestions.

Comment thread packages/node/src/client.ts Resolved
Comment thread packages/core/src/posthog-core.ts Resolved
Comment thread packages/core/src/posthog-core.ts Resolved
@haacked
haacked requested a review from a team November 12, 2026 18:11
@haacked haacked removed their assignment Nov 12, 2026

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

🤖 An AI agent wrote this on behalf of @ioannisj.

Nothing blocking from me. The Node evaluateFlags() snapshot still carries failed records with their values and payloads, where the single-flag path drops them, and on the core path a failed record followed by a failed or quota-limited reload loses evaluation_failed from $feature_flag_error. Nothing else came up in the browser, core and Node read paths.

Comment thread packages/core/src/posthog-core.ts Resolved
Comment thread packages/node/src/client.ts Resolved
@github-project-automation github-project-automation Bot moved this from In Review to Approved in Feature Flags Nov 12, 2026
@posthog-project-board-bot posthog-project-board-bot Bot moved this from Approved to In Review in Feature Flags Nov 13, 2026

@posthog posthog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PostHog Review · Standard · reviewed 16aadcd: 1 Should fix.

@posthog posthog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PostHog Review · Standard · reviewed cb0488f: no findings. This pull request is large, so the review ran in 4 parts with less depth than usual.

@haacked haacked self-assigned this Nov 13, 2026

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

Looks good! A few non-blocking suggestions inline.

Comment thread packages/core/src/posthog-core.ts Resolved
Comment thread packages/node/src/client.ts Resolved
@github-project-automation github-project-automation Bot moved this from In Review to Approved in Feature Flags Nov 13, 2026
@marandaneto marandaneto changed the title fix(flags): treat failed evaluations as unavailable feat(flags): treat failed evaluations as unavailable Nov 14, 2026

This branch has not been deployed

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

Labels

None yet

Projects

Status: Approved

Development

Successfully merging this pull request may close these issues.

3 participants