Skip to content

chore(browser): type-check browser tests in CI and fix the errors - #5430

Closed
pauldambra wants to merge 3 commits into
mainfrom
posthog/browser-test-typecheck
Closed

pauldambra wants to merge 3 commits into
mainfrom
posthog/browser-test-typecheck

Conversation

@pauldambra

Copy link
Copy Markdown
Member

Problem

packages/browser has a test:typecheck script, but CI never runs it. So 13 type errors built up without anyone seeing them: in tests, and in two source files that the test config compiles with strict: false.

Why: found while working on #5429. We want CI to catch these errors, not let them pile up.

Changes

  • check-types for posthog-js now runs typecheck && test:typecheck. CI already runs pnpm check-types, so it now covers test types too. The node package already does the same.
  • Fixed the 13 errors. Most are test-only: wrong mock types, a false that is not a valid cookieless_mode, an unused @ts-expect-error, and a beforeEach that returned a value.
  • Two source files changed so that they type-check without strict mode too. The behavior is the same:
    • replay/external/config.ts: returns undefined instead of the nullish cleanedURL. The caller checks with isNullish.
    • browser-next/src/lane.ts: result ? result.retry : undefined instead of result?.retry.

I did not turn on strict for tests. That would add more than 1,400 errors.

Release info Sub-libraries affected

Libraries affected

  • All of them
  • posthog-js (web)
  • posthog-js-lite (web lite)
  • posthog-node
  • posthog-react-native
  • @posthog/react-native-plugin
  • @posthog/react
  • @posthog/ai
  • @posthog/convex
  • @posthog/next
  • @posthog/nextjs-config
  • @posthog/nuxt
  • @posthog/openfeature-node-provider
  • @posthog/openfeature-web-provider
  • @posthog/rollup-plugin
  • @posthog/webpack-plugin
  • @posthog/types
  • @posthog/browser-common

Checklist

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

If releasing new changes

  • Ran pnpm changeset to generate a changeset file

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Written with Claude Code in PostHog Desktop. No changeset, because nothing a user can see changes. Checked locally: pnpm turbo run check-types --filter=posthog-js and --filter=@posthog/browser pass. The unit tests in the changed files pass, and so do all the browser-next tests.


Created with PostHog Desktop

🤖 Generated with Claude Code

The browser package has a test:typecheck script, but CI never ran it, so
13 type errors built up in tests and in two source files that the tests
compile with strict: false.

check-types for posthog-js now runs typecheck and test:typecheck, the same
way the node package checks its test types. The two source changes behave
the same as before.

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

Generated-By: PostHog Desktop
Task-Id: 6ab57ee6-6279-4378-b074-ed4f92849780
@pauldambra pauldambra self-assigned this Oct 25, 2026
@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor
⚠️ `posthog-js` is modified but this PR has no changeset

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

Modified in this PR but no changeset added:

  • posthog-js

If this change should ship, run pnpm changeset and select a bump level.
If it isn't user-facing (refactor with no behavior change, internal tooling, generated files), no action needed.

@github-actions

Copy link
Copy Markdown
Contributor

📝 No Changeset Found

This PR doesn't include a changeset. A changeset is required to release a new version.

How to add a changeset

Run this command and follow the prompts:

pnpm changeset

Remember: Never use major version bumps for posthog-js as it's autoloaded by clients.

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Replay incident risk check

The current diff no longer matches any past incident pattern.

No incident-pattern matches for 1 changed file(s) vs origin/main.

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Coherence

📄 0 spec file errors · ⛔ 0 broken rules · 🚪 2 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.

Note

These findings do not make this check fail.

None of these findings are in files that this pull request changes. You do not need to fix them in this pull request.

🚪 Unchecked inputs (2)

  • public api in packages/web/Web.spec.md. The input comes from: host-app.
  • webpack plugin in packages/webpack-plugin/Webpack-plugin.spec.md. The input comes from: build.
What this means and how to fix it

Input from outside this code comes in at these places. The spec does not say what checks that input. 10 more places were already like this when Coherence was added. This list does not show them.

To close one of these, find the place by its name in the ## entrances section of its spec file. Add one line under it:

  • If all of the input goes through one function that a rule in the spec protects, add guard: <function>.
  • If a rule in the spec already checks input from the same source, add the place's name to the entrances: line of that rule.
  • If the input needs no check, add control: none - <reason>.

To get the line to add, run npx --no -- coherence scaffold control "<name>".

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 26.4 MB

ℹ️ 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.5 kB
packages/ai/dist/anthropic/index.mjs 46.1 kB
packages/ai/dist/claude-agent-sdk/index.cjs 50.1 kB
packages/ai/dist/claude-agent-sdk/index.mjs 49.8 kB
packages/ai/dist/evaluations/index.cjs 59.1 kB
packages/ai/dist/evaluations/index.mjs 58.7 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.2 kB
packages/ai/dist/genkit/index.mjs 36 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.7 kB
packages/ai/dist/openai/index.cjs 92.3 kB
packages/ai/dist/openai/index.mjs 91.7 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/feature-flags.js 64.7 kB
packages/browser-common/dist/feature-flags.mjs 58.4 kB
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 15.5 kB
packages/browser-common/dist/surveys/icons.mjs 12.3 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 34.6 kB
packages/browser-common/dist/surveys/surveys-extension-utils.mjs 26.1 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-buffer.js 7.69 kB
packages/browser-next/dist/analytics-buffer.mjs 6.03 kB
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-internal.js 1.95 kB
packages/browser-next/dist/analytics-internal.mjs 273 B
packages/browser-next/dist/analytics-options.js 585 B
packages/browser-next/dist/analytics-options.mjs 12 B
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.44 kB
packages/browser-next/dist/autocapture.mjs 3.01 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-summary.js 2.14 kB
packages/browser-next/dist/capture-summary.mjs 647 B
packages/browser-next/dist/capture-v1.js 29.9 kB
packages/browser-next/dist/capture-v1.mjs 27.2 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 4.42 kB
packages/browser-next/dist/extensions/registry.mjs 3.12 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 6.61 kB
packages/browser-next/dist/flags.mjs 5.02 kB
packages/browser-next/dist/id.js 2.25 kB
packages/browser-next/dist/id.mjs 983 B
packages/browser-next/dist/index.js 5.46 kB
packages/browser-next/dist/index.mjs 3.38 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.33 kB
packages/browser-next/dist/logs.mjs 3.83 kB
packages/browser-next/dist/named-error.js 1.57 kB
packages/browser-next/dist/named-error.mjs 271 B
packages/browser-next/dist/posthog.js 34.7 kB
packages/browser-next/dist/posthog.mjs 32.3 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/state.js 24.9 kB
packages/browser-next/dist/state.mjs 23.1 kB
packages/browser-next/dist/surveys-extension.js 11.3 kB
packages/browser-next/dist/surveys-extension.mjs 9.73 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/version.js 1.31 kB
packages/browser-next/dist/version.mjs 45 B
packages/browser/dist/all-external-dependencies.js 428 kB
packages/browser/dist/array.full.es5.js 584 kB
packages/browser/dist/array.full.js 722 kB
packages/browser/dist/array.full.no-external.js 789 kB
packages/browser/dist/array.js 373 kB
packages/browser/dist/array.no-external.js 419 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/default-extensions.js 370 kB
packages/browser/dist/element-inference.js 5.28 kB
packages/browser/dist/exception-autocapture.js 17.8 kB
packages/browser/dist/extension-bundles.js 222 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 221 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/main.js 377 kB
packages/browser/dist/module.full.cjs 727 kB
packages/browser/dist/module.full.js 726 kB
packages/browser/dist/module.full.no-external.cjs 793 kB
packages/browser/dist/module.full.no-external.js 793 kB
packages/browser/dist/module.js 376 kB
packages/browser/dist/module.mjs 376 kB
packages/browser/dist/module.no-external.cjs 423 kB
packages/browser/dist/module.no-external.js 423 kB
packages/browser/dist/module.slim.js 158 kB
packages/browser/dist/module.slim.no-external.js 172 kB
packages/browser/dist/posthog-recorder.js 220 kB
packages/browser/dist/product-tours-preview.js 78.1 kB
packages/browser/dist/product-tours.js 122 kB
packages/browser/dist/recorder-v2.js 140 kB
packages/browser/dist/recorder.js 140 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 333 kB
packages/browser/dist/surveys-preview.js 120 kB
packages/browser/dist/surveys.js 144 kB
packages/browser/dist/tracing-headers.js 4.71 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.16 kB
packages/core/dist/error-tracking/coercers/utils.mjs 716 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.31 kB
packages/core/dist/error-tracking/parsers/node.mjs 2.95 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 28.9 kB
packages/core/dist/featureFlagLocalEvaluation.mjs 26.1 kB
packages/core/dist/featureFlagUtils.js 8.61 kB
packages/core/dist/featureFlagUtils.mjs 5.52 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 11.8 kB
packages/core/dist/logs/index.mjs 9.83 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 17 kB
packages/core/dist/metrics/index.mjs 14.1 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.3 kB
packages/core/dist/posthog-core-stateless.mjs 45.9 kB
packages/core/dist/posthog-core.js 50.4 kB
packages/core/dist/posthog-core.mjs 44.7 kB
packages/core/dist/privacy.js 15.6 kB
packages/core/dist/privacy.mjs 14 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 kB
packages/core/dist/traces/span.mjs 16.7 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/types.js 8.53 kB
packages/core/dist/types.mjs 5.37 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.63 kB
packages/mcp/dist/extensions/analytics-parameters.mjs 4.27 kB
packages/mcp/dist/extensions/capture.js 4.11 kB
packages/mcp/dist/extensions/capture.mjs 2.65 kB
packages/mcp/dist/extensions/client-identity.js 6.33 kB
packages/mcp/dist/extensions/client-identity.mjs 3.71 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 6.33 kB
packages/mcp/dist/extensions/constants.mjs 3.83 kB
packages/mcp/dist/extensions/context-parameters.js 2.85 kB
packages/mcp/dist/extensions/context-parameters.mjs 893 B
packages/mcp/dist/extensions/conversation-id.js 6.41 kB
packages/mcp/dist/extensions/conversation-id.mjs 3.58 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.78 kB
packages/mcp/dist/extensions/event-types.mjs 458 B
packages/mcp/dist/extensions/exceptions.js 2.67 kB
packages/mcp/dist/extensions/exceptions.mjs 1.19 kB
packages/mcp/dist/extensions/feedback.js 12.4 kB
packages/mcp/dist/extensions/feedback.mjs 9.48 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 15 kB
packages/mcp/dist/extensions/instrument-highlevel.mjs 11.8 kB
packages/mcp/dist/extensions/instrument-lowlevel.js 7.98 kB
packages/mcp/dist/extensions/instrument-lowlevel.mjs 5.43 kB
packages/mcp/dist/extensions/instrumentation.js 36.5 kB
packages/mcp/dist/extensions/instrumentation.mjs 29.6 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.96 kB
packages/mcp/dist/extensions/mcp-payloads.mjs 2.24 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.59 kB
packages/mcp/dist/extensions/model-parameters.mjs 2.32 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.3 kB
packages/mcp/dist/extensions/posthog-events.mjs 8.35 kB
packages/mcp/dist/extensions/posthog-mcp.js 16.8 kB
packages/mcp/dist/extensions/posthog-mcp.mjs 13.5 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 4.56 kB
packages/mcp/dist/extensions/sanitization.mjs 2.77 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 5.47 kB
packages/mcp/dist/extensions/session-token.mjs 3.6 kB
packages/mcp/dist/extensions/session.js 6.79 kB
packages/mcp/dist/extensions/session.mjs 4.16 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.61 kB
packages/mcp/dist/extensions/tools.mjs 1.63 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 11.9 kB
packages/mcp/dist/extensions/truncation.mjs 9.99 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 46 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.94 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/client.js 66.4 kB
packages/node/dist/client.mjs 62.6 kB
packages/node/dist/emails/emails.js 15.3 kB
packages/node/dist/emails/emails.mjs 13.2 kB
packages/node/dist/emails/errors.js 2.79 kB
packages/node/dist/emails/errors.mjs 1.52 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 7.2 kB
packages/node/dist/exports.mjs 510 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.01 kB
packages/node/dist/extensions/context/lifetime.mjs 571 B
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.7 kB
packages/node/dist/extensions/feature-flags/feature-flags.mjs 42 kB
packages/node/dist/extensions/nestjs.js 5.97 kB
packages/node/dist/extensions/nestjs.mjs 3.62 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/feature-flag-evaluations.js 6.72 kB
packages/node/dist/feature-flag-evaluations.mjs 5.24 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/storage-memory.js 1.61 kB
packages/node/dist/storage-memory.mjs 297 B
packages/node/dist/types.js 1.59 kB
packages/node/dist/types.mjs 292 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.38 kB
packages/openfeature-web-provider/dist/mapping.mjs 3.18 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 97.6 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.3 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/index.js 14.6 kB
packages/rrweb/all/dist/rrweb-all.cjs 670 kB
packages/rrweb/all/dist/rrweb-all.js 669 kB
packages/rrweb/all/dist/rrweb-all.umd.cjs 699 kB
packages/rrweb/all/dist/rrweb-all.umd.min.cjs 345 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 238 kB
packages/rrweb/record/dist/rrweb-record.js 237 kB
packages/rrweb/record/dist/rrweb-record.umd.cjs 242 kB
packages/rrweb/record/dist/rrweb-record.umd.min.cjs 118 kB
packages/rrweb/replay/dist/rrweb-replay.cjs 437 kB
packages/rrweb/replay/dist/rrweb-replay.js 437 kB
packages/rrweb/replay/dist/rrweb-replay.umd.cjs 458 kB
packages/rrweb/replay/dist/rrweb-replay.umd.min.cjs 228 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 167 kB
packages/rrweb/rrdom/dist/rrdom.umd.cjs 179 kB
packages/rrweb/rrdom/dist/rrdom.umd.min.cjs 86.9 kB
packages/rrweb/rrweb-snapshot/dist/rebuild-********.cjs 133 kB
packages/rrweb/rrweb-snapshot/dist/rebuild-********.js 132 kB
packages/rrweb/rrweb-snapshot/dist/record.cjs 4.48 kB
packages/rrweb/rrweb-snapshot/dist/record.js 3.14 kB
packages/rrweb/rrweb-snapshot/dist/record.umd.cjs 97.4 kB
packages/rrweb/rrweb-snapshot/dist/record.umd.min.cjs 45.7 kB
packages/rrweb/rrweb-snapshot/dist/replay.cjs 1.96 kB
packages/rrweb/rrweb-snapshot/dist/replay.js 1.31 kB
packages/rrweb/rrweb-snapshot/dist/replay.umd.cjs 206 kB
packages/rrweb/rrweb-snapshot/dist/replay.umd.min.cjs 90.9 kB
packages/rrweb/rrweb-snapshot/dist/rrweb-snapshot.cjs 4.76 kB
packages/rrweb/rrweb-snapshot/dist/rrweb-snapshot.js 3.32 kB
packages/rrweb/rrweb-snapshot/dist/rrweb-snapshot.umd.cjs 252 kB
packages/rrweb/rrweb-snapshot/dist/rrweb-snapshot.umd.min.cjs 113 kB
packages/rrweb/rrweb-snapshot/dist/snapshot-********.cjs 37.7 kB
packages/rrweb/rrweb-snapshot/dist/snapshot-********.js 35.6 kB
packages/rrweb/rrweb-snapshot/dist/types-********.cjs 49.9 kB
packages/rrweb/rrweb-snapshot/dist/types-********.js 44.6 kB
packages/rrweb/rrweb/dist/rrweb.cjs 655 kB
packages/rrweb/rrweb/dist/rrweb.js 654 kB
packages/rrweb/rrweb/dist/rrweb.umd.cjs 681 kB
packages/rrweb/rrweb/dist/rrweb.umd.min.cjs 335 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 Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Node SDK compliance v2

Commit: 3377df6
Workflow run and artifacts

Capture v0 — acceptance

✅ 28 passed / ❌ 3 non-passing / ⚠️ 853 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:

Harness exit: 1; report validation exit: 1.

Capture v1 — acceptance

✅ 28 passed / ❌ 3 non-passing / ⚠️ 853 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:

Harness exit: 1; report validation exit: 1.

Capture v0 — migration

✅ 55 passed / ❌ 1 non-passing / ⚠️ 101 not selected

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

❌ 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:134

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

Operation: /flags/

Field: geoip_disable

Expected:

false

Actual value:

true

Harness exit: 1; report validation exit: 1.

Capture v1 — migration

✅ 120 passed / ❌ 1 non-passing / ⚠️ 36 not selected

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

❌ 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:134

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

Operation: /flags/

Field: geoip_disable

Expected:

false

Actual value:

true

Harness exit: 1; report validation exit: 1.

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

posthog-js Compliance Report

Date: 2026-11-05 12:42:53 UTC
Duration: 88689ms

✅ 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 ✅ 116ms
Format Validation.Event Has Uuid ✅ 14ms
Format Validation.Event Has Lib Properties ✅ 11ms
Format Validation.Distinct Id Is String Client ✅ 12ms
Format Validation.Token Is Present Client ✅ 12ms
Format Validation.Custom Properties Preserved ✅ 12ms
Format Validation.Event Has Timestamp ✅ 10ms
Retry Behavior.Retries On 503 ✅ 5016ms
Retry Behavior.Does Not Retry On 400 ✅ 2015ms
Retry Behavior.Does Not Retry On 401 ✅ 2022ms
Retry Behavior.Respects Retry After Header ✅ 5015ms
Retry Behavior.Implements Backoff ✅ 15026ms
Retry Behavior.Retries On 500 ✅ 5012ms
Retry Behavior.Retries On 502 ✅ 5011ms
Retry Behavior.Retries On 504 ✅ 5015ms
Retry Behavior.Max Retries Respected ✅ 15026ms
Deduplication.Generates Unique Uuids ✅ 18ms
Deduplication.Preserves Uuid On Retry ✅ 5016ms
Deduplication.Preserves Uuid And Timestamp On Retry ✅ 10020ms
Deduplication.Preserves Uuid And Timestamp On Batch Retry ✅ 5017ms
Deduplication.No Duplicate Events In Batch ✅ 18ms
Deduplication.Different Events Have Different Uuids ✅ 10ms
Batch Format.Flush With No Events Sends Nothing ✅ 5ms
Error Handling.Does Not Retry On 403 ✅ 2010ms
Error Handling.Does Not Retry On 413 ✅ 2013ms
Error Handling.Retries On 408 ✅ 5012ms

@pauldambra
pauldambra marked this pull request as ready for review October 25, 2026 16:35
@pauldambra
pauldambra requested review from a team as code owners October 25, 2026 16:35
@pauldambra
pauldambra requested review from TueHaulund, fasyy612 and ksvat and removed request for a team October 25, 2026 16:35

Copy link
Copy Markdown
Member Author

Note

🤖 Automated comment by QA Swarm — not written by a human

Multi-perspective review: router (cheap-first pass) + delegated lenses (qa-team, paul-reviewer, xp-reviewer, security-audit, engineering-systems-thinking as warranted)

Verdict: ✅ APPROVE (round 1 @ 454ef61)

The changes fix types only. The two source changes keep the same behavior.

Key findings

None.

  • Replay incident check: config.ts now returns undefined instead of a nullish cleanedURL. Every caller treats null and undefined the same: maskRequestFn uses isNullish, and _maskUrl in lazy-loaded-session-recorder.ts uses ?.. No signature or persisted-state shape changes across the lazy-load boundary, and recording start conditions do not change.
  • lane.ts: result is LaneDeliveryResult<E> | void, so it is an object or undefined. result ? result.retry : undefined gives the same value as result?.retry.

Convergence

None (only the router ran).

Reviewer summaries

Reviewer Assessment
🧭 router No findings. Danger LOW, confidence HIGH. The test edits keep what each test checks. No delegation.

Automated by QA Swarm — not a human review

site-apps test now builds the browser PostHogFeatureFlags from the instance, like remote-config does, so it needs no cast.

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

Generated-By: PostHog Desktop
Task-Id: 6ab57ee6-6279-4378-b074-ed4f92849780
@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

This PR hasn't seen activity in a week! Should it be merged, closed, or further worked on? If you want to keep it open, post a comment or remove the stale label – otherwise this will be closed in another week.

@github-actions github-actions Bot added the stale label Nov 3, 2026
# Conflicts:
#	packages/browser/src/__tests__/deferred-init-extensions.test.ts
#	packages/browser/src/__tests__/extensions/surveys.test.ts
#	packages/browser/src/__tests__/site-apps.test.ts
@github-actions

github-actions Bot commented Nov 5, 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.73 KiB/op 10.01 KiB/op 2.8% more memory Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Time per operation 22.74 µs/op 22.34 µs/op 1.8% less time Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Idle process memory (RSS) 102.7 MiB 102.69 MiB <0.1% less memory Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Observed peak process memory (RSS) 106.14 MiB 106.01 MiB 0.1% less memory Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Managed heap after settling 9.96 MiB 9.96 MiB <0.1% less memory Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Process memory after settling (RSS) 105.84 MiB 105.7 MiB 0.1% less memory Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Process CPU time per operation 39.01 µs/op 38.38 µs/op 1.6% less time Not flagged
Capture and deliver events (32-byte payload, burst)
Shard: capture
Lifetime peak process memory (RSS) 106.34 MiB 106.26 MiB <0.1% less memory Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Allocated memory per operation (estimated) 18.08 KiB/op 17.8 KiB/op 1.6% less memory Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Time per operation 36.76 µs/op 38.58 µs/op 4.9% more time Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Idle process memory (RSS) 103.08 MiB 103.13 MiB <0.1% more memory Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Observed peak process memory (RSS) 113.46 MiB 113.47 MiB <0.1% more memory Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Managed heap after settling 9.97 MiB 9.96 MiB <0.1% less memory Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Process memory after settling (RSS) 109.35 MiB 109.36 MiB <0.1% more memory Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Process CPU time per operation 53.4 µs/op 56.44 µs/op 5.7% more time Not flagged
Capture and deliver events (4,096-byte payload, burst)
Shard: capture
Lifetime peak process memory (RSS) 116.21 MiB 116.19 MiB <0.1% less memory Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Allocated memory per operation (estimated) 9.83 KiB/op 10.26 KiB/op 4.4% more memory Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Time per operation 22.84 µs/op 23.6 µs/op 3.3% more time Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Idle process memory (RSS) 102.35 MiB 102.5 MiB 0.2% more memory Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Observed peak process memory (RSS) 106.38 MiB 106.39 MiB <0.1% more memory Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Managed heap after settling 10.04 MiB 10.03 MiB <0.1% less memory Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Process memory after settling (RSS) 106.38 MiB 106.48 MiB <0.1% more memory Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Process CPU time per operation 38.73 µs/op 40.11 µs/op 3.6% more time Not flagged
Capture and deliver events (32-byte payload, steady)
Shard: capture
Lifetime peak process memory (RSS) 106.63 MiB 106.8 MiB 0.2% more memory Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Allocated memory per operation (estimated) 18.4 KiB/op 18.01 KiB/op 2.1% less memory Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Time per operation 34.1 µs/op 33.4 µs/op 2% less time Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Idle process memory (RSS) 102.72 MiB 102.62 MiB <0.1% less memory Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Observed peak process memory (RSS) 109.02 MiB 109.28 MiB 0.2% more memory Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Managed heap after settling 10.04 MiB 10.04 MiB <0.1% less memory Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Process memory after settling (RSS) 107.81 MiB 108.11 MiB 0.3% more memory Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Process CPU time per operation 51.55 µs/op 50.4 µs/op 2.2% less time Not flagged
Capture and deliver events (4,096-byte payload, steady)
Shard: capture
Lifetime peak process memory (RSS) 109.06 MiB 109.31 MiB 0.2% more memory Not flagged
Queue an event (32-byte payload)
Shard: capture
Allocated memory per operation (estimated) 8.33 KiB/op 8.75 KiB/op 5.1% more memory Not flagged
Queue an event (32-byte payload)
Shard: capture
Time per operation 16.02 µs/op 15.91 µs/op 0.7% less time Not flagged
Queue an event (32-byte payload)
Shard: capture
Process CPU time per operation 30.71 µs/op 30.59 µs/op 0.4% less time Not flagged
Queue an event (4,096-byte payload)
Shard: capture
Allocated memory per operation (estimated) 8.52 KiB/op 8.28 KiB/op 2.7% less memory Not flagged
Queue an event (4,096-byte payload)
Shard: capture
Time per operation 16.75 µs/op 15.57 µs/op 7.1% less time Not flagged
Queue an event (4,096-byte payload)
Shard: capture
Process CPU time per operation 32.24 µs/op 29.9 µs/op 7.3% less time Not flagged
Evaluate all 10 flags
Shard: flags-scaling
Allocated memory per operation (estimated) 132.2 KiB/op 132.16 KiB/op <0.1% less memory Not flagged
Evaluate all 10 flags
Shard: flags-scaling
Time per operation 284.44 µs/op 284.23 µs/op <0.1% less time Not flagged
Evaluate all 10 flags
Shard: flags-scaling
Process CPU time per operation 445.24 µs/op 445.04 µs/op <0.1% less time Not flagged
Evaluate all 100 flags
Shard: flags-scaling
Allocated memory per operation (estimated) 1.23 MiB/op 1.23 MiB/op 0.1% less memory Not flagged
Evaluate all 100 flags
Shard: flags-scaling
Time per operation 2.34 ms/op 2.36 ms/op 1% more time Not flagged
Evaluate all 100 flags
Shard: flags-scaling
Process CPU time per operation 3.68 ms/op 3.69 ms/op 0.4% more time Not flagged
Evaluate all 1,000 flags
Shard: flags-scaling
Allocated memory per operation (estimated) 12.14 MiB/op 12.13 MiB/op <0.1% less memory Not flagged
Evaluate all 1,000 flags
Shard: flags-scaling
Time per operation 24.24 ms/op 24.15 ms/op 0.4% less time Not flagged
Evaluate all 1,000 flags
Shard: flags-scaling
Process CPU time per operation 36.42 ms/op 36.37 ms/op 0.1% less time Not flagged
Evaluate 1,000 flags under concurrent load
Shard: flags-memory
Idle process memory (RSS) 286.25 MiB 286.05 MiB <0.1% less memory Not flagged
Evaluate 1,000 flags under concurrent load
Shard: flags-memory
Observed peak process memory (RSS) 297.38 MiB 297.03 MiB 0.1% less memory Not flagged
Evaluate 1,000 flags under concurrent load
Shard: flags-memory
Managed heap after settling 9.61 MiB 9.61 MiB <0.1% less memory Not flagged
Evaluate 1,000 flags under concurrent load
Shard: flags-memory
Process memory after settling (RSS) 297.38 MiB 296.99 MiB 0.1% less memory Not flagged
Evaluate 1,000 flags under concurrent load
Shard: flags-memory
Lifetime peak process memory (RSS) 297.45 MiB 297.03 MiB 0.1% less memory Not flagged
Refresh 1,000 flag definitions
Shard: flags-memory
Idle process memory (RSS) 225.7 MiB 227.16 MiB 0.6% more memory Not flagged
Refresh 1,000 flag definitions
Shard: flags-memory
Observed peak process memory (RSS) 239.85 MiB 239.72 MiB <0.1% less memory Not flagged
Refresh 1,000 flag definitions
Shard: flags-memory
Managed heap after settling 11.62 MiB 11.62 MiB <0.1% more memory Not flagged
Refresh 1,000 flag definitions
Shard: flags-memory
Process memory after settling (RSS) 234.15 MiB 234.21 MiB <0.1% more memory Not flagged
Refresh 1,000 flag definitions
Shard: flags-memory
Lifetime peak process memory (RSS) 240.85 MiB 240.69 MiB <0.1% less memory Not flagged
Evaluate one boolean flag
Shard: flags-single
Allocated memory per operation (estimated) 17.2 KiB/op 17.06 KiB/op 0.8% less memory Not flagged
Evaluate one boolean flag
Shard: flags-single
Time per operation 85.32 µs/op 85.48 µs/op 0.2% more time Not flagged
Evaluate one boolean flag
Shard: flags-single
Process CPU time per operation 94.41 µs/op 94.34 µs/op <0.1% less time Not flagged
Evaluate a cohort-filtered flag
Shard: flags-single
Allocated memory per operation (estimated) 14.03 KiB/op 14.09 KiB/op 0.4% more memory Not flagged
Evaluate a cohort-filtered flag
Shard: flags-single
Time per operation 48.1 µs/op 48.27 µs/op 0.4% more time Not flagged
Evaluate a cohort-filtered flag
Shard: flags-single
Process CPU time per operation 56.88 µs/op 56.97 µs/op 0.1% more time Not flagged
Evaluate a flag (early match)
Shard: flags-single
Allocated memory per operation (estimated) 17.6 KiB/op 17.67 KiB/op 0.4% more memory Not flagged
Evaluate a flag (early match)
Shard: flags-single
Time per operation 49.5 µs/op 48.44 µs/op 2.1% less time Not flagged
Evaluate a flag (early match)
Shard: flags-single
Process CPU time per operation 58.25 µs/op 56.52 µs/op 3% less time Not flagged
Evaluate a flag (late match)
Shard: flags-single
Allocated memory per operation (estimated) 22.38 KiB/op 22.23 KiB/op 0.7% less memory Not flagged
Evaluate a flag (late match)
Shard: flags-single
Time per operation 50.93 µs/op 48.87 µs/op 4% less time Not flagged
Evaluate a flag (late match)
Shard: flags-single
Process CPU time per operation 59.44 µs/op 57.35 µs/op 3.5% less time Not flagged
Evaluate a flag (no match)
Shard: flags-single
Allocated memory per operation (estimated) 17.07 KiB/op 17.05 KiB/op 0.1% less memory Not flagged
Evaluate a flag (no match)
Shard: flags-single
Time per operation 5.66 µs/op 5.72 µs/op 1.2% more time Not flagged
Evaluate a flag (no match)
Shard: flags-single
Process CPU time per operation 10.12 µs/op 10.19 µs/op 0.8% more time Not flagged
Evaluate a property-filtered flag
Shard: flags-single
Allocated memory per operation (estimated) 12.61 KiB/op 12.7 KiB/op 0.7% more memory Not flagged
Evaluate a property-filtered flag
Shard: flags-single
Time per operation 47.07 µs/op 47.32 µs/op 0.5% more time Not flagged
Evaluate a property-filtered flag
Shard: flags-single
Process CPU time per operation 54.98 µs/op 55.37 µs/op 0.7% more time Not flagged
Evaluate a regex-filtered flag
Shard: flags-single
Allocated memory per operation (estimated) 18.35 KiB/op 18.19 KiB/op 0.9% less memory Not flagged
Evaluate a regex-filtered flag
Shard: flags-single
Time per operation 92.19 µs/op 91.61 µs/op 0.6% less time Not flagged
Evaluate a regex-filtered flag
Shard: flags-single
Process CPU time per operation 103.03 µs/op 102.14 µs/op 0.9% less time Not flagged
Evaluate a rollout flag
Shard: flags-single
Allocated memory per operation (estimated) 14.28 KiB/op 14.26 KiB/op 0.1% less memory Not flagged
Evaluate a rollout flag
Shard: flags-single
Time per operation 66.18 µs/op 68.63 µs/op 3.7% more time Not flagged
Evaluate a rollout flag
Shard: flags-single
Process CPU time per operation 73.66 µs/op 77.38 µs/op 5% more time Not flagged
Evaluate a multivariate flag
Shard: flags-single
Allocated memory per operation (estimated) 17.39 KiB/op 17.44 KiB/op 0.3% more memory Not flagged
Evaluate a multivariate flag
Shard: flags-single
Time per operation 87.99 µs/op 88.52 µs/op 0.6% more time Not flagged
Evaluate a multivariate flag
Shard: flags-single
Process CPU time per operation 97.82 µs/op 97.92 µs/op 0.1% 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 b29ad2ec499c7cce83745ef3a64984ab3924008e → 4f30f79a7df0f3e69042dd35ba42b2fbf265854a.

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.

@pauldambra
pauldambra added this pull request to the merge queue Nov 5, 2026
@marandaneto
marandaneto removed this pull request from the merge queue due to a manual request Nov 5, 2026
@marandaneto

Copy link
Copy Markdown
Member

I recommend closing #5430 as superseded

Its substantive changes already landed through #5210, merged October 29:

  • Browser check-types now runs test:typecheck.
  • The source/test type errors were corrected.
  • Turbo cache inputs were updated appropriately.

@pauldambra pauldambra closed this Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants