Skip to content

feat(react-native): scope event release mode to the Hermes upload - #4717

Open
ablaszkiewicz wants to merge 7 commits into
mainfrom
feat/react-native-hermes-only-event-mode
Open

feat(react-native): scope event release mode to the Hermes upload#4717
ablaszkiewicz wants to merge 7 commits into
mainfrom
feat/react-native-hermes-only-event-mode

Conversation

@ablaszkiewicz

@ablaszkiewicz ablaszkiewicz commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Related PRs

Event mode is live today, and it is opt-in. These PRs settle where it stays and where it goes.

Deprecating the mobile knobs. The symbol id on these paths is already a content hash, so two releases collide only when they ship a byte-identical artifact. An ordinary release that changes code gets its own symbol set and never collides. The dSYM path also lost release attribution for embedded targets, because one upload covers every target while it creates one release. Review asked for deprecation instead of removal, so every knob stays accepted as a warned no-op.

Making it the default.

React Native. Removes the iOS and Android propagation, and makes event mode the default for the Hermes upload. That is the one path where two releases really do ship the same artifact.

Problem

  • Event mode helps only when two releases ship a byte-identical artifact.
  • A React Native release that changes only JavaScript is exactly that case. The bundle repeats across releases.
  • The native artifacts do not repeat the same way, and the dSYM path lost release attribution for embedded targets.

Changes

  • releaseMode now steers the Hermes source map upload only, and it defaults to event.
  • An absent prop reads POSTHOG_RELEASE_MODE at prebuild time. With neither configured, the prebuild writes nothing and the build scripts apply the default themselves.
  • An unconfigured build on posthog-cli < 0.16.0 warns and uploads the maps bound to the release, instead of failing. Only an explicitly configured event fails the build and names the upgrade.
  • A prebuild recognizes the dSYM phase 4.64 through 4.66 generated and rewrites it to the phase without the release-mode block. Its stale POSTHOG_NO_RELEASE_BIND export would otherwise keep steering the pinned posthog-ios, which still reads the variable until chore: deprecate POSTHOG_NO_RELEASE_BIND in the dsym upload posthog-ios#791 ships.
  • The prebuild no longer deletes a posthog.releaseMode entry from the user's gradle.properties. It writes the Hermes mode under posthog.hermesReleaseMode, and posthog.gradle reads the legacy key as a deprecated fallback with a warning.
  • The generated dSYM phase carries no release mode. iOS dSYMs always bind, and addDsymUploadBuildPhase and buildDsymUploadShellScript no longer take a mode.
  • The releaseMode prop keeps its EXPERIMENTAL marker while the rollout settles, and the changeset shrinks to a short summary, per review.

Note

Two follow-ups stay open until the sibling PRs release: bump POSTHOG_ANDROID_GRADLE_PLUGIN_VERSION to the posthog-android release carrying #747 (1.5.2 still reads posthog.releaseMode and POSTHOG_RELEASE_MODE for R8), and bump the podspec's posthog-ios pin to the release carrying #791.

How did you test this code?

  • jest in packages/react-native: 682 pass; test/optional-plugin.spec.ts fails in this sandbox on the unchanged branch too, so it is environmental.
  • Four verbatim fixtures of the 4.66.3 dSYM phase (event, symbol-set, environment-resolved, and event with both options) prove a prebuild migrates each to the new phase, idempotently, keeping the input paths. They catch the migration list drifting from the published text.
  • Two new cases hold an unconfigured build on an old or version-less posthog-cli to exit 0, warn, and upload without --release-mode. The explicit-mode floor tests keep asserting the hard failure.
  • A case asserts the prebuild leaves a legacy posthog.releaseMode entry in place while writing posthog.hermesReleaseMode.
  • Not run: a prebuild, an Xcode build or a gradle build.

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Written with Claude Code (Opus 5); the review round (phase migration, legacy key preservation, soft CLI floor) with Claude Code (Fable 5). Skills invoked: /writing-pr-descriptions, /writing-tests, /writing-code-comments.

This replaces #4706. The review round addresses the three blocking comments: refresh the previous release's dSYM phases, deprecate posthog.releaseMode instead of deleting it, and cover the migration with fixtures of the published phase text. It also answers the floor question: an unconfigured project never fails its build over an old CLI.

The Hermes maps upload release-independent by default. Two releases that
ship the same JavaScript no longer both report whichever release uploaded
the maps first.

iOS dSYMs and Android R8 mappings always bind to the release their build
creates. The symbol id there is the binary UUID or a hash of the mapping,
so two releases collide only when they ship a byte-identical artifact. The
dSYM path also lost release attribution for embedded targets.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jg6r6rFUBnowrXssZyU7yR
The generated dSYM phase carries no release mode, and the plugin no longer
recognizes the block the previous version wrote. posthog-ios does not read
POSTHOG_NO_RELEASE_BIND any more, so a stale export in an already prebuilt
project sets a variable nothing reads.

addDsymUploadBuildPhase and buildDsymUploadShellScript no longer take a
release mode.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jg6r6rFUBnowrXssZyU7yR
@posthog

posthog Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

🦔 PostHog Review reviewed this pull request

Found 1 must fix, 4 should fix, 0 consider.

Published 5 findings (view the review).

Resolved comments: 2 fixed, 3 left for you

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Size Change: -1.82 kB (-0.01%)

Total Size: 20.8 MB

📦 View Changed
Filename Size Change
packages/react-native/dist/tooling/expoconfig.js 21.8 kB -1.82 kB (-7.71%)
ℹ️ View Unchanged
Filename Size Change
packages/ai/dist/anthropic/index.cjs 42.5 kB 0 B
packages/ai/dist/anthropic/index.mjs 42.1 kB 0 B
packages/ai/dist/gemini/index.cjs 41.7 kB 0 B
packages/ai/dist/gemini/index.mjs 41.6 kB 0 B
packages/ai/dist/index.cjs 63.9 kB 0 B
packages/ai/dist/index.mjs 63.8 kB 0 B
packages/ai/dist/langchain/index.cjs 42.8 kB 0 B
packages/ai/dist/langchain/index.mjs 42.7 kB 0 B
packages/ai/dist/langchain/middleware/index.cjs 49.5 kB 0 B
packages/ai/dist/langchain/middleware/index.mjs 49.4 kB 0 B
packages/ai/dist/openai-agents/index.cjs 31.8 kB 0 B
packages/ai/dist/openai-agents/index.mjs 31.7 kB 0 B
packages/ai/dist/openai/index.cjs 94.9 kB 0 B
packages/ai/dist/openai/index.mjs 94.5 kB 0 B
packages/ai/dist/otel/index.cjs 18.4 kB 0 B
packages/ai/dist/otel/index.mjs 18.3 kB 0 B
packages/ai/dist/vercel/index.cjs 54 kB 0 B
packages/ai/dist/vercel/index.mjs 53.9 kB 0 B
packages/browser-common/dist/client.js 603 B 0 B
packages/browser-common/dist/client.mjs 0 B 0 B 🆕
packages/browser-common/dist/config.js 1.43 kB 0 B
packages/browser-common/dist/config.mjs 223 B 0 B
packages/browser-common/dist/constants.js 1.66 kB 0 B
packages/browser-common/dist/constants.mjs 219 B 0 B
packages/browser-common/dist/disposable.js 1.63 kB 0 B
packages/browser-common/dist/disposable.mjs 386 B 0 B
packages/browser-common/dist/extension-runtime.js 3.07 kB 0 B
packages/browser-common/dist/extension-runtime.mjs 1.83 kB 0 B
packages/browser-common/dist/extension.js 603 B 0 B
packages/browser-common/dist/extension.mjs 0 B 0 B 🆕
packages/browser-common/dist/index.js 3.08 kB 0 B
packages/browser-common/dist/index.mjs 170 B 0 B
packages/browser-common/dist/persistence.js 603 B 0 B
packages/browser-common/dist/persistence.mjs 0 B 0 B 🆕
packages/browser-common/dist/pubsub.js 2.53 kB 0 B
packages/browser-common/dist/pubsub.mjs 1.35 kB 0 B
packages/browser-common/dist/token.js 603 B 0 B
packages/browser-common/dist/token.mjs 0 B 0 B 🆕
packages/browser-common/dist/types/compression.js 1.28 kB 0 B
packages/browser-common/dist/types/compression.mjs 93 B 0 B
packages/browser-common/dist/types/index.js 4.11 kB 0 B
packages/browser-common/dist/types/index.mjs 144 B 0 B
packages/browser-common/dist/types/network-recording.js 603 B 0 B
packages/browser-common/dist/types/network-recording.mjs 0 B 0 B 🆕
packages/browser-common/dist/types/remote-config.js 603 B 0 B
packages/browser-common/dist/types/remote-config.mjs 0 B 0 B 🆕
packages/browser-common/dist/types/surveys.js 4.55 kB 0 B
packages/browser-common/dist/types/surveys.mjs 2.17 kB 0 B
packages/browser-common/dist/utils/array-at-********.js 628 B 0 B
packages/browser-common/dist/utils/array-at-********.mjs 425 B 0 B
packages/browser-common/dist/utils/autocapture-utils.js 24.2 kB 0 B
packages/browser-common/dist/utils/autocapture-utils.mjs 18.6 kB 0 B
packages/browser-common/dist/utils/blocked-uas.js 2.1 kB 0 B
packages/browser-common/dist/utils/blocked-uas.mjs 598 B 0 B
packages/browser-common/dist/utils/cookie-utils.js 1.89 kB 0 B
packages/browser-common/dist/utils/cookie-utils.mjs 673 B 0 B
packages/browser-common/dist/utils/device-model-utils.js 1.98 kB 0 B
packages/browser-common/dist/utils/device-model-utils.mjs 678 B 0 B
packages/browser-common/dist/utils/element-utils.js 2.46 kB 0 B
packages/browser-common/dist/utils/element-utils.mjs 804 B 0 B
packages/browser-common/dist/utils/elements-chain-utils.js 2.77 kB 0 B
packages/browser-common/dist/utils/elements-chain-utils.mjs 1.23 kB 0 B
packages/browser-common/dist/utils/encode-utils.js 1.4 kB 0 B
packages/browser-common/dist/utils/encode-utils.mjs 205 B 0 B
packages/browser-common/dist/utils/event-utils.js 15.7 kB 0 B
packages/browser-common/dist/utils/event-utils.mjs 10 kB 0 B
packages/browser-common/dist/utils/general-utils.js 7.31 kB 0 B
packages/browser-common/dist/utils/general-utils.mjs 4.49 kB 0 B
packages/browser-common/dist/utils/globals.js 2.78 kB 0 B
packages/browser-common/dist/utils/globals.mjs 860 B 0 B
packages/browser-common/dist/utils/logger.js 3.4 kB 0 B
packages/browser-common/dist/utils/logger.mjs 1.61 kB 0 B
packages/browser-common/dist/utils/matcher-utils.js 2.85 kB 0 B
packages/browser-common/dist/utils/matcher-utils.mjs 1.33 kB 0 B
packages/browser-common/dist/utils/promise-utils.js 1.36 kB 0 B
packages/browser-common/dist/utils/promise-utils.mjs 169 B 0 B
packages/browser-common/dist/utils/property-utils.js 3.53 kB 0 B
packages/browser-common/dist/utils/property-utils.mjs 1.6 kB 0 B
packages/browser-common/dist/utils/prototype-utils.js 3.51 kB 0 B
packages/browser-common/dist/utils/prototype-utils.mjs 1.86 kB 0 B
packages/browser-common/dist/utils/regex-utils.js 1.45 kB 0 B
packages/browser-common/dist/utils/regex-utils.mjs 113 B 0 B
packages/browser-common/dist/utils/request-utils.js 6.73 kB 0 B
packages/browser-common/dist/utils/request-utils.mjs 4.19 kB 0 B
packages/browser-common/dist/utils/simple-event-emitter.js 1.76 kB 0 B
packages/browser-common/dist/utils/simple-event-emitter.mjs 553 B 0 B
packages/browser-common/dist/utils/stylesheet-loader.js 2.13 kB 0 B
packages/browser-common/dist/utils/stylesheet-loader.mjs 823 B 0 B
packages/browser-common/dist/utils/type-utils.js 1.59 kB 0 B
packages/browser-common/dist/utils/type-utils.mjs 267 B 0 B
packages/browser-common/dist/utils/url-targeting-utils.js 2.35 kB 0 B
packages/browser-common/dist/utils/url-targeting-utils.mjs 863 B 0 B
packages/browser-common/dist/utils/uuidv7.js 6.66 kB 0 B
packages/browser-common/dist/utils/uuidv7.mjs 5.18 kB 0 B
packages/browser-next/dist/analytics-********.js 1.58 kB 0 B
packages/browser-next/dist/analytics-********.mjs 219 B 0 B
packages/browser-next/dist/analytics-options.js 603 B 0 B
packages/browser-next/dist/analytics-options.mjs 0 B 0 B 🆕
packages/browser-next/dist/analytics.js 6.52 kB 0 B
packages/browser-next/dist/analytics.mjs 5.15 kB 0 B
packages/browser-next/dist/bot-filter.js 2.28 kB 0 B
packages/browser-next/dist/bot-filter.mjs 1.09 kB 0 B
packages/browser-next/dist/capture-v1.js 27.7 kB 0 B
packages/browser-next/dist/capture-v1.mjs 25.3 kB 0 B
packages/browser-next/dist/core.js 1.59 kB 0 B
packages/browser-next/dist/core.mjs 194 B 0 B
packages/browser-next/dist/extensions/registry.js 3.32 kB 0 B
packages/browser-next/dist/extensions/registry.mjs 2.11 kB 0 B
packages/browser-next/dist/id.js 2.15 kB 0 B
packages/browser-next/dist/id.mjs 983 B 0 B
packages/browser-next/dist/index.js 3.38 kB 0 B
packages/browser-next/dist/index.mjs 1.19 kB 0 B
packages/browser-next/dist/lane.js 18 kB 0 B
packages/browser-next/dist/lane.mjs 16.9 kB 0 B
packages/browser-next/dist/logger.js 1.77 kB 0 B
packages/browser-next/dist/logger.mjs 581 B 0 B
packages/browser-next/dist/posthog.js 33.1 kB 0 B
packages/browser-next/dist/posthog.mjs 30.9 kB 0 B
packages/browser-next/dist/rate-limiter.js 2.79 kB 0 B
packages/browser-next/dist/rate-limiter.mjs 1.58 kB 0 B
packages/browser-next/dist/request.js 4.52 kB 0 B
packages/browser-next/dist/request.mjs 3.21 kB 0 B
packages/browser-next/dist/state.js 24.8 kB 0 B
packages/browser-next/dist/state.mjs 23.2 kB 0 B
packages/browser-next/dist/types.js 603 B 0 B
packages/browser-next/dist/types.mjs 0 B 0 B 🆕
packages/browser-next/dist/version.js 1.21 kB 0 B
packages/browser-next/dist/version.mjs 45 B 0 B
packages/browser/dist/all-external-dependencies.js 362 kB 0 B
packages/browser/dist/array.full.es5.js 493 kB 0 B
packages/browser/dist/array.full.js 603 kB 0 B
packages/browser/dist/array.full.no-********.js 660 kB 0 B
packages/browser/dist/array.js 278 kB 0 B
packages/browser/dist/array.no-********.js 317 kB 0 B
packages/browser/dist/conversations.js 69 kB 0 B
packages/browser/dist/crisp-chat-integration.js 2.03 kB 0 B
packages/browser/dist/customizations.full.js 16.1 kB 0 B
packages/browser/dist/customizations.js 16 kB 0 B
packages/browser/dist/dead-clicks-autocapture.js 18.3 kB 0 B
packages/browser/dist/default-extensions.js 276 kB 0 B
packages/browser/dist/element-inference.js 5.62 kB 0 B
packages/browser/dist/exception-autocapture.js 13.6 kB 0 B
packages/browser/dist/extension-bundles.js 153 kB 0 B
packages/browser/dist/external-scripts-loader.js 3.6 kB 0 B
packages/browser/dist/intercom-integration.js 2.08 kB 0 B
packages/browser/dist/lazy-********.js 202 kB 0 B
packages/browser/dist/logs.js 5.83 kB 0 B
packages/browser/dist/main.js 283 kB 0 B
packages/browser/dist/module.full.js 606 kB 0 B
packages/browser/dist/module.full.no-********.js 663 kB 0 B
packages/browser/dist/module.js 282 kB 0 B
packages/browser/dist/module.no-********.js 321 kB 0 B
packages/browser/dist/module.slim.js 140 kB 0 B
packages/browser/dist/module.slim.no-********.js 154 kB 0 B
packages/browser/dist/posthog-********.js 202 kB 0 B
packages/browser/dist/product-tours-preview.js 82.4 kB 0 B
packages/browser/dist/product-tours.js 124 kB 0 B
packages/browser/dist/recorder-v2.js 126 kB 0 B
packages/browser/dist/recorder.js 126 kB 0 B
packages/browser/dist/rrweb-plugin-console-record.js 7.05 kB 0 B
packages/browser/dist/rrweb-types.js 2.33 kB 0 B
packages/browser/dist/rrweb.js 318 kB 0 B
packages/browser/dist/surveys-preview.js 81.5 kB 0 B
packages/browser/dist/surveys.js 103 kB 0 B
packages/browser/dist/tracing-headers.js 3.76 kB 0 B
packages/browser/dist/web-vitals-soft-navs.js 9.96 kB 0 B
packages/browser/dist/web-vitals-with-attribution-soft-navs.js 25.4 kB 0 B
packages/browser/dist/web-vitals-with-attribution.js 25.3 kB 0 B
packages/browser/dist/web-vitals.js 9.94 kB 0 B
packages/browser/react/dist/esm/index.js 22.5 kB 0 B
packages/browser/react/dist/esm/slim/index.js 18.9 kB 0 B
packages/browser/react/dist/esm/surveys/index.js 4.75 kB 0 B
packages/browser/react/dist/umd/index.js 25.9 kB 0 B
packages/browser/react/dist/umd/slim/index.js 21.8 kB 0 B
packages/browser/react/dist/umd/surveys/index.js 5.52 kB 0 B
packages/convex/dist/client/feature-flags/crypto.js 76 B 0 B
packages/convex/dist/client/feature-flags/evaluator.js 14.9 kB 0 B
packages/convex/dist/client/feature-flags/index.js 196 B 0 B
packages/convex/dist/client/feature-flags/match-********.js 5.08 kB 0 B
packages/convex/dist/client/feature-flags/types.js 44 B 0 B
packages/convex/dist/client/index.js 14.8 kB 0 B
packages/convex/dist/component/_generated/api.js 712 B 0 B
packages/convex/dist/component/_generated/component.js 212 B 0 B
packages/convex/dist/component/_generated/dataModel.js 230 B 0 B
packages/convex/dist/component/_generated/server.js 3.74 kB 0 B
packages/convex/dist/component/convex.config.js 1.66 kB 0 B
packages/convex/dist/component/crons.js 969 B 0 B
packages/convex/dist/component/lib.js 24.8 kB 0 B
packages/convex/dist/component/schema.js 1.17 kB 0 B
packages/convex/dist/component/version.js 67 B 0 B
packages/core/dist/cookie.js 5.34 kB 0 B
packages/core/dist/cookie.mjs 3.12 kB 0 B
packages/core/dist/error-tracking/chunk-ids.js 2.54 kB 0 B
packages/core/dist/error-tracking/chunk-ids.mjs 1.31 kB 0 B
packages/core/dist/error-tracking/coercers/dom-exception-coercer.js 2.3 kB 0 B
packages/core/dist/error-tracking/coercers/dom-exception-coercer.mjs 993 B 0 B
packages/core/dist/error-tracking/coercers/error-coercer.js 2.13 kB 0 B
packages/core/dist/error-tracking/coercers/error-coercer.mjs 888 B 0 B
packages/core/dist/error-tracking/coercers/error-event-coercer.js 2.37 kB 0 B
packages/core/dist/error-tracking/coercers/error-event-coercer.mjs 1.07 kB 0 B
packages/core/dist/error-tracking/coercers/event-coercer.js 1.82 kB 0 B
packages/core/dist/error-tracking/coercers/event-coercer.mjs 548 B 0 B
packages/core/dist/error-tracking/coercers/index.js 6.79 kB 0 B
packages/core/dist/error-tracking/coercers/index.mjs 326 B 0 B
packages/core/dist/error-tracking/coercers/object-coercer.js 4.04 kB 0 B
packages/core/dist/error-tracking/coercers/object-coercer.mjs 2.53 kB 0 B
packages/core/dist/error-tracking/coercers/primitive-coercer.js 1.67 kB 0 B
packages/core/dist/error-tracking/coercers/primitive-coercer.mjs 419 B 0 B
packages/core/dist/error-tracking/coercers/promise-rejection-event.js 2.59 kB 0 B
packages/core/dist/error-tracking/coercers/promise-rejection-event.mjs 1.25 kB 0 B
packages/core/dist/error-tracking/coercers/string-coercer.js 2.01 kB 0 B
packages/core/dist/error-tracking/coercers/string-coercer.mjs 820 B 0 B
packages/core/dist/error-tracking/coercers/utils.js 2.06 kB 0 B
packages/core/dist/error-tracking/coercers/utils.mjs 716 B 0 B
packages/core/dist/error-tracking/error-properties-builder.js 5.56 kB 0 B
packages/core/dist/error-tracking/error-properties-builder.mjs 4.23 kB 0 B
packages/core/dist/error-tracking/exception-steps.js 6.01 kB 0 B
packages/core/dist/error-tracking/exception-steps.mjs 3.84 kB 0 B
packages/core/dist/error-tracking/index.js 5.32 kB 0 B
packages/core/dist/error-tracking/index.mjs 222 B 0 B
packages/core/dist/error-tracking/parsers/base.js 2 kB 0 B
packages/core/dist/error-tracking/parsers/base.mjs 627 B 0 B
packages/core/dist/error-tracking/parsers/chrome.js 2.73 kB 0 B
packages/core/dist/error-tracking/parsers/chrome.mjs 1.32 kB 0 B
packages/core/dist/error-tracking/parsers/gecko.js 2.47 kB 0 B
packages/core/dist/error-tracking/parsers/gecko.mjs 1.13 kB 0 B
packages/core/dist/error-tracking/parsers/index.js 4.75 kB 0 B
packages/core/dist/error-tracking/parsers/index.mjs 2.1 kB 0 B
packages/core/dist/error-tracking/parsers/node.js 4.21 kB 0 B
packages/core/dist/error-tracking/parsers/node.mjs 2.95 kB 0 B
packages/core/dist/error-tracking/parsers/opera.js 2.26 kB 0 B
packages/core/dist/error-tracking/parsers/opera.mjs 746 B 0 B
packages/core/dist/error-tracking/parsers/safari.js 1.88 kB 0 B
packages/core/dist/error-tracking/parsers/safari.mjs 574 B 0 B
packages/core/dist/error-tracking/parsers/winjs.js 1.72 kB 0 B
packages/core/dist/error-tracking/parsers/winjs.mjs 426 B 0 B
packages/core/dist/error-tracking/release.js 1.42 kB 0 B
packages/core/dist/error-tracking/release.mjs 203 B 0 B
packages/core/dist/error-tracking/types.js 1.33 kB 0 B
packages/core/dist/error-tracking/types.mjs 131 B 0 B
packages/core/dist/error-tracking/utils.js 1.8 kB 0 B
packages/core/dist/error-tracking/utils.mjs 604 B 0 B
packages/core/dist/eventemitter.js 1.78 kB 0 B
packages/core/dist/eventemitter.mjs 571 B 0 B
packages/core/dist/featureFlagLocalEvaluation.js 22.1 kB 0 B
packages/core/dist/featureFlagLocalEvaluation.mjs 19.6 kB 0 B
packages/core/dist/featureFlagUtils.js 8.52 kB 0 B
packages/core/dist/featureFlagUtils.mjs 5.48 kB 0 B
packages/core/dist/gzip.js 5.79 kB 0 B
packages/core/dist/gzip.mjs 3.87 kB 0 B
packages/core/dist/index.js 23.5 kB 0 B
packages/core/dist/index.mjs 2.52 kB 0 B
packages/core/dist/logs/index.js 10.8 kB 0 B
packages/core/dist/logs/index.mjs 9.17 kB 0 B
packages/core/dist/logs/logs-utils.js 6.82 kB 0 B
packages/core/dist/logs/logs-utils.mjs 4.78 kB 0 B
packages/core/dist/logs/types.js 603 B 0 B
packages/core/dist/logs/types.mjs 0 B 0 B 🆕
packages/core/dist/metrics/config.js 1.95 kB 0 B
packages/core/dist/metrics/config.mjs 735 B 0 B
packages/core/dist/metrics/index.js 14.4 kB 0 B
packages/core/dist/metrics/index.mjs 12 kB 0 B
packages/core/dist/metrics/metrics-utils.js 3.87 kB 0 B
packages/core/dist/metrics/metrics-utils.mjs 1.98 kB 0 B
packages/core/dist/metrics/types.js 603 B 0 B
packages/core/dist/metrics/types.mjs 0 B 0 B 🆕
packages/core/dist/posthog-core-stateless.js 46.9 kB 0 B
packages/core/dist/posthog-core-stateless.mjs 43.6 kB 0 B
packages/core/dist/posthog-core.js 49.5 kB 0 B
packages/core/dist/posthog-core.mjs 43.9 kB 0 B
packages/core/dist/surveys/activation.js 2.2 kB 0 B
packages/core/dist/surveys/activation.mjs 572 B 0 B
packages/core/dist/surveys/events.js 4.27 kB 0 B
packages/core/dist/surveys/events.mjs 2.05 kB 0 B
packages/core/dist/surveys/index.js 6.54 kB 0 B
packages/core/dist/surveys/index.mjs 1.4 kB 0 B
packages/core/dist/surveys/keys.js 1.7 kB 0 B
packages/core/dist/surveys/keys.mjs 350 B 0 B
packages/core/dist/surveys/property-********.js 3.69 kB 0 B
packages/core/dist/surveys/property-********.mjs 2.14 kB 0 B
packages/core/dist/surveys/translations.js 9.09 kB 0 B
packages/core/dist/surveys/translations.mjs 6.83 kB 0 B
packages/core/dist/surveys/validation.js 3.06 kB 0 B
packages/core/dist/surveys/validation.mjs 1.51 kB 0 B
packages/core/dist/testing/index.js 2.93 kB 0 B
packages/core/dist/testing/index.mjs 79 B 0 B
packages/core/dist/testing/PostHogCoreTestClient.js 3.24 kB 0 B
packages/core/dist/testing/PostHogCoreTestClient.mjs 1.83 kB 0 B
packages/core/dist/testing/test-utils.js 2.83 kB 0 B
packages/core/dist/testing/test-utils.mjs 1.15 kB 0 B
packages/core/dist/tracing-headers.js 3.38 kB 0 B
packages/core/dist/tracing-headers.mjs 2.08 kB 0 B
packages/core/dist/types.js 8.35 kB 0 B
packages/core/dist/types.mjs 5.23 kB 0 B
packages/core/dist/utils/bot-detection.js 3.28 kB 0 B
packages/core/dist/utils/bot-detection.mjs 1.96 kB 0 B
packages/core/dist/utils/browser-utils.js 1.48 kB 0 B
packages/core/dist/utils/browser-utils.mjs 182 B 0 B
packages/core/dist/utils/bucketed-rate-limiter.js 4.23 kB 0 B
packages/core/dist/utils/bucketed-rate-limiter.mjs 2.22 kB 0 B
packages/core/dist/utils/index.js 16.6 kB 0 B
packages/core/dist/utils/index.mjs 3.36 kB 0 B
packages/core/dist/utils/json-utils.js 6.67 kB 0 B
packages/core/dist/utils/json-utils.mjs 4.45 kB 0 B
packages/core/dist/utils/logger.js 2.58 kB 0 B
packages/core/dist/utils/logger.mjs 1.29 kB 0 B
packages/core/dist/utils/number-utils.js 3.32 kB 0 B
packages/core/dist/utils/number-utils.mjs 1.68 kB 0 B
packages/core/dist/utils/otlp-any-value.js 7.75 kB 0 B
packages/core/dist/utils/otlp-any-value.mjs 5.66 kB 0 B
packages/core/dist/utils/promise-queue.js 2.48 kB 0 B
packages/core/dist/utils/promise-queue.mjs 1.25 kB 0 B
packages/core/dist/utils/string-utils.js 3.73 kB 0 B
packages/core/dist/utils/string-utils.mjs 1.97 kB 0 B
packages/core/dist/utils/type-utils.js 7.43 kB 0 B
packages/core/dist/utils/type-utils.mjs 3.28 kB 0 B
packages/core/dist/utils/user-agent-utils.js 18.4 kB 0 B
packages/core/dist/utils/user-agent-utils.mjs 14.7 kB 0 B
packages/core/dist/vendor/uuidv7.js 8.3 kB 0 B
packages/core/dist/vendor/uuidv7.mjs 6.72 kB 0 B
packages/mcp/dist/extensions/analytics-parameters.js 6.53 kB 0 B
packages/mcp/dist/extensions/analytics-parameters.mjs 4.27 kB 0 B
packages/mcp/dist/extensions/capture.js 3.94 kB 0 B
packages/mcp/dist/extensions/capture.mjs 2.58 kB 0 B
packages/mcp/dist/extensions/client-********.js 6.23 kB 0 B
packages/mcp/dist/extensions/client-********.mjs 3.71 kB 0 B
packages/mcp/dist/extensions/compatibility.js 5.36 kB 0 B
packages/mcp/dist/extensions/compatibility.mjs 3.4 kB 0 B
packages/mcp/dist/extensions/constants.js 5.39 kB 0 B
packages/mcp/dist/extensions/constants.mjs 2.95 kB 0 B
packages/mcp/dist/extensions/context-parameters.js 2.75 kB 0 B
packages/mcp/dist/extensions/context-parameters.mjs 893 B 0 B
packages/mcp/dist/extensions/conversation-id.js 6.31 kB 0 B
packages/mcp/dist/extensions/conversation-id.mjs 3.58 kB 0 B
packages/mcp/dist/extensions/detect.js 3.77 kB 0 B
packages/mcp/dist/extensions/detect.mjs 1.49 kB 0 B
packages/mcp/dist/extensions/event-types.js 1.68 kB 0 B
packages/mcp/dist/extensions/event-types.mjs 459 B 0 B
packages/mcp/dist/extensions/exceptions.js 2.57 kB 0 B
packages/mcp/dist/extensions/exceptions.mjs 1.19 kB 0 B
packages/mcp/dist/extensions/headers.js 1.98 kB 0 B
packages/mcp/dist/extensions/headers.mjs 643 B 0 B
packages/mcp/dist/extensions/ids.js 2.01 kB 0 B
packages/mcp/dist/extensions/ids.mjs 637 B 0 B
packages/mcp/dist/extensions/instrument-********.js 4.92 kB 0 B
packages/mcp/dist/extensions/instrument-********.mjs 3.18 kB 0 B
packages/mcp/dist/extensions/instrument-highlevel.js 12.7 kB 0 B
packages/mcp/dist/extensions/instrument-highlevel.mjs 10.2 kB 0 B
packages/mcp/dist/extensions/instrumentation.js 27.8 kB 0 B
packages/mcp/dist/extensions/instrumentation.mjs 21.9 kB 0 B
packages/mcp/dist/extensions/intent.js 3.2 kB 0 B
packages/mcp/dist/extensions/intent.mjs 1.64 kB 0 B
packages/mcp/dist/extensions/internal.js 7.54 kB 0 B
packages/mcp/dist/extensions/internal.mjs 5.23 kB 0 B
packages/mcp/dist/extensions/lib-********.js 1.6 kB 0 B
packages/mcp/dist/extensions/lib-********.mjs 267 B 0 B
packages/mcp/dist/extensions/logger.js 1.72 kB 0 B
packages/mcp/dist/extensions/logger.mjs 380 B 0 B
packages/mcp/dist/extensions/mcp-********.js 4.68 kB 0 B
packages/mcp/dist/extensions/mcp-********.mjs 3.3 kB 0 B
packages/mcp/dist/extensions/mcp-sdk-compat.js 5.04 kB 0 B
packages/mcp/dist/extensions/mcp-sdk-compat.mjs 2.9 kB 0 B
packages/mcp/dist/extensions/model-parameters.js 3.49 kB 0 B
packages/mcp/dist/extensions/model-parameters.mjs 1.41 kB 0 B
packages/mcp/dist/extensions/output-instructions.js 6.11 kB 0 B
packages/mcp/dist/extensions/output-instructions.mjs 3.91 kB 0 B
packages/mcp/dist/extensions/posthog-events.js 11.7 kB 0 B
packages/mcp/dist/extensions/posthog-events.mjs 7.98 kB 0 B
packages/mcp/dist/extensions/posthog-mcp.js 6.94 kB 0 B
packages/mcp/dist/extensions/posthog-mcp.mjs 4.93 kB 0 B
packages/mcp/dist/extensions/request-headers.js 2.17 kB 0 B
packages/mcp/dist/extensions/request-headers.mjs 963 B 0 B
packages/mcp/dist/extensions/sanitization.js 4.49 kB 0 B
packages/mcp/dist/extensions/sanitization.mjs 2.86 kB 0 B
packages/mcp/dist/extensions/session-token.js 5.39 kB 0 B
packages/mcp/dist/extensions/session-token.mjs 3.62 kB 0 B
packages/mcp/dist/extensions/session.js 6.64 kB 0 B
packages/mcp/dist/extensions/session.mjs 4.12 kB 0 B
packages/mcp/dist/extensions/sink.js 4.37 kB 0 B
packages/mcp/dist/extensions/sink.mjs 2.67 kB 0 B
packages/mcp/dist/extensions/tools.js 3.51 kB 0 B
packages/mcp/dist/extensions/tools.mjs 1.63 kB 0 B
packages/mcp/dist/extensions/tracing-helpers.js 2.41 kB 0 B
packages/mcp/dist/extensions/tracing-helpers.mjs 772 B 0 B
packages/mcp/dist/extensions/transport-********.js 2.91 kB 0 B
packages/mcp/dist/extensions/transport-********.mjs 1.09 kB 0 B
packages/mcp/dist/extensions/truncation.js 11.5 kB 0 B
packages/mcp/dist/extensions/truncation.mjs 9.79 kB 0 B
packages/mcp/dist/index.js 8.78 kB 0 B
packages/mcp/dist/index.mjs 4.96 kB 0 B
packages/mcp/dist/types.js 603 B 0 B
packages/mcp/dist/types.mjs 0 B 0 B 🆕
packages/mcp/dist/version.js 1.21 kB 0 B
packages/mcp/dist/version.mjs 46 B 0 B
packages/next/dist/app/PostHogProvider.js 5.37 kB 0 B
packages/next/dist/client/ClientPostHogProvider.js 2.28 kB 0 B
packages/next/dist/client/hooks.js 172 B 0 B
packages/next/dist/client/PostHogPageView.js 4.23 kB 0 B
packages/next/dist/index.client.js 401 B 0 B
packages/next/dist/index.edge.js 570 B 0 B
packages/next/dist/index.js 554 B 0 B
packages/next/dist/index.react-server.js 420 B 0 B
packages/next/dist/middleware/postHogMiddleware.js 4.08 kB 0 B
packages/next/dist/pages.client.js 225 B 0 B
packages/next/dist/pages.edge.js 294 B 0 B
packages/next/dist/pages.js 347 B 0 B
packages/next/dist/pages/createPostHog.js 1.48 kB 0 B
packages/next/dist/pages/getServerSidePostHog.js 1.48 kB 0 B
packages/next/dist/pages/PostHogPageView.js 1.77 kB 0 B
packages/next/dist/pages/PostHogProvider.js 1.58 kB 0 B
packages/next/dist/server.edge.js 795 B 0 B
packages/next/dist/server/captureRequestError.js 5.26 kB 0 B
packages/next/dist/server/clientCache.edge.js 305 B 0 B
packages/next/dist/server/clientCache.js 1.54 kB 0 B
packages/next/dist/server/clientCache.node.js 305 B 0 B
packages/next/dist/server/createPostHog.js 1.44 kB 0 B
packages/next/dist/server/getPostHog.js 3.45 kB 0 B
packages/next/dist/server/onRequestError.js 1.39 kB 0 B
packages/next/dist/server/onRequestError.types.js 59 B 0 B
packages/next/dist/shared/browser.js 195 B 0 B
packages/next/dist/shared/config.js 2.23 kB 0 B
packages/next/dist/shared/constants.js 201 B 0 B
packages/next/dist/shared/cookie.js 540 B 0 B
packages/next/dist/shared/identity.js 2.56 kB 0 B
packages/next/dist/shared/tracing-headers.js 2.18 kB 0 B
packages/nextjs-config/dist/config.js 6.1 kB 0 B
packages/nextjs-config/dist/config.mjs 4.53 kB 0 B
packages/nextjs-config/dist/index.js 2.24 kB 0 B
packages/nextjs-config/dist/index.mjs 30 B 0 B
packages/nextjs-config/dist/strip-sourcemap-********.js 3.63 kB 0 B
packages/nextjs-config/dist/strip-sourcemap-********.mjs 1.77 kB 0 B
packages/nextjs-config/dist/utils.js 2.94 kB 0 B
packages/nextjs-config/dist/utils.mjs 826 B 0 B
packages/node/dist/ai-capture/batching.js 2.61 kB 0 B
packages/node/dist/ai-capture/batching.mjs 1.21 kB 0 B
packages/node/dist/ai-capture/routing.js 1.87 kB 0 B
packages/node/dist/ai-capture/routing.mjs 264 B 0 B
packages/node/dist/capture-v1/config.js 1.5 kB 0 B
packages/node/dist/capture-v1/config.mjs 292 B 0 B
packages/node/dist/capture-v1/errors.js 1.89 kB 0 B
packages/node/dist/capture-v1/errors.mjs 694 B 0 B
packages/node/dist/capture-v1/routing.js 1.68 kB 0 B
packages/node/dist/capture-v1/routing.mjs 279 B 0 B
packages/node/dist/capture-v1/sender.js 11.4 kB 0 B
packages/node/dist/capture-v1/sender.mjs 9.94 kB 0 B
packages/node/dist/capture-v1/transform.js 5.13 kB 0 B
packages/node/dist/capture-v1/transform.mjs 3.65 kB 0 B
packages/node/dist/capture-v1/types.js 603 B 0 B
packages/node/dist/capture-v1/types.mjs 0 B 0 B 🆕
packages/node/dist/client.js 59.5 kB 0 B
packages/node/dist/client.mjs 56.2 kB 0 B
packages/node/dist/entrypoints/index.edge.js 3.85 kB 0 B
packages/node/dist/entrypoints/index.edge.mjs 720 B 0 B
packages/node/dist/entrypoints/index.node.js 6.05 kB 0 B
packages/node/dist/entrypoints/index.node.mjs 1.43 kB 0 B
packages/node/dist/entrypoints/nestjs.js 2.31 kB 0 B
packages/node/dist/entrypoints/nestjs.mjs 42 B 0 B
packages/node/dist/experimental.js 870 B 0 B
packages/node/dist/experimental.mjs 267 B 0 B
packages/node/dist/exports.js 6.75 kB 0 B
packages/node/dist/exports.mjs 582 B 0 B
packages/node/dist/extensions/context/context.js 2.13 kB 0 B
packages/node/dist/extensions/context/context.mjs 863 B 0 B
packages/node/dist/extensions/context/types.js 603 B 0 B
packages/node/dist/extensions/context/types.mjs 0 B 0 B 🆕
packages/node/dist/extensions/error-tracking/autocapture.js 5.19 kB 0 B
packages/node/dist/extensions/error-tracking/autocapture.mjs 3.62 kB 0 B
packages/node/dist/extensions/error-tracking/index.js 4.38 kB 0 B
packages/node/dist/extensions/error-tracking/index.mjs 3.17 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/context-lines.node.js 11.6 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/context-lines.node.mjs 9.64 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/module.node.js 2.78 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/module.node.mjs 1.45 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/relative-path.node.js 1.97 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/relative-path.node.mjs 624 B 0 B
packages/node/dist/extensions/express.js 4.97 kB 0 B
packages/node/dist/extensions/express.mjs 2.78 kB 0 B
packages/node/dist/extensions/feature-flags/cache.js 603 B 0 B
packages/node/dist/extensions/feature-flags/cache.mjs 0 B 0 B 🆕
packages/node/dist/extensions/feature-flags/crypto.js 1.27 kB 0 B
packages/node/dist/extensions/feature-flags/crypto.mjs 63 B 0 B
packages/node/dist/extensions/feature-flags/feature-flags.js 32.2 kB 0 B
packages/node/dist/extensions/feature-flags/feature-flags.mjs 29.8 kB 0 B
packages/node/dist/extensions/nestjs.js 5.62 kB 0 B
packages/node/dist/extensions/nestjs.mjs 3.42 kB 0 B
packages/node/dist/extensions/sentry-integration.js 4.88 kB 0 B
packages/node/dist/extensions/sentry-integration.mjs 3.36 kB 0 B
packages/node/dist/extensions/tracing-headers.js 3.31 kB 0 B
packages/node/dist/extensions/tracing-headers.mjs 1.53 kB 0 B
packages/node/dist/extensions/url-utils.js 2.22 kB 0 B
packages/node/dist/extensions/url-utils.mjs 785 B 0 B
packages/node/dist/feature-flag-evaluations.js 6.12 kB 0 B
packages/node/dist/feature-flag-evaluations.mjs 4.77 kB 0 B
packages/node/dist/gzip.node.js 1.74 kB 0 B
packages/node/dist/gzip.node.mjs 416 B 0 B
packages/node/dist/storage-memory.js 1.52 kB 0 B
packages/node/dist/storage-memory.mjs 297 B 0 B
packages/node/dist/types.js 1.43 kB 0 B
packages/node/dist/types.mjs 224 B 0 B
packages/node/dist/version.js 1.21 kB 0 B
packages/node/dist/version.mjs 46 B 0 B
packages/nuxt/dist/module.mjs 5.92 kB 0 B
packages/nuxt/dist/runtime/composables/useFeatureFlagEnabled.js 566 B 0 B
packages/nuxt/dist/runtime/composables/useFeatureFlagPayload.js 690 B 0 B
packages/nuxt/dist/runtime/composables/useFeatureFlagVariantKey.js 591 B 0 B
packages/nuxt/dist/runtime/composables/usePostHog.js 128 B 0 B
packages/nuxt/dist/runtime/nitro-plugin-v2.js 480 B 0 B
packages/nuxt/dist/runtime/nitro-plugin-v3.js 574 B 0 B
packages/nuxt/dist/runtime/nitro-plugin.js 1.03 kB 0 B
packages/nuxt/dist/runtime/vue-plugin.js 1.13 kB 0 B
packages/openfeature-node-provider/dist/index.js 1.76 kB 0 B
packages/openfeature-node-provider/dist/index.mjs 190 B 0 B
packages/openfeature-node-provider/dist/mapping.js 5.32 kB 0 B
packages/openfeature-node-provider/dist/mapping.mjs 3.21 kB 0 B
packages/openfeature-node-provider/dist/provider.js 3.99 kB 0 B
packages/openfeature-node-provider/dist/provider.mjs 2.6 kB 0 B
packages/openfeature-web-provider/dist/index.js 1.75 kB 0 B
packages/openfeature-web-provider/dist/index.mjs 184 B 0 B
packages/openfeature-web-provider/dist/mapping.js 5.29 kB 0 B
packages/openfeature-web-provider/dist/mapping.mjs 3.18 kB 0 B
packages/openfeature-web-provider/dist/provider.js 4.41 kB 0 B
packages/openfeature-web-provider/dist/provider.mjs 3.06 kB 0 B
packages/plugin-utils/dist/chunk-ids.js 3.86 kB 0 B
packages/plugin-utils/dist/chunk-ids.mjs 2.05 kB 0 B
packages/plugin-utils/dist/cli.js 4.37 kB 0 B
packages/plugin-utils/dist/cli.mjs 2.72 kB 0 B
packages/plugin-utils/dist/config.js 3.5 kB 0 B
packages/plugin-utils/dist/config.mjs 2.26 kB 0 B
packages/plugin-utils/dist/index.js 4.98 kB 0 B
packages/plugin-utils/dist/index.mjs 250 B 0 B
packages/plugin-utils/dist/spawn-local.js 3.08 kB 0 B
packages/plugin-utils/dist/spawn-local.mjs 1.66 kB 0 B
packages/plugin-utils/dist/utils.js 3.27 kB 0 B
packages/plugin-utils/dist/utils.mjs 1.3 kB 0 B
packages/react-native/dist/autocapture.js 8.31 kB 0 B
packages/react-native/dist/error-tracking/index.js 9.97 kB 0 B
packages/react-native/dist/error-tracking/utils.js 2.58 kB 0 B
packages/react-native/dist/frameworks/wix-navigation.js 1.3 kB 0 B
packages/react-native/dist/hooks/useFeatureFlag.js 1.86 kB 0 B
packages/react-native/dist/hooks/useFeatureFlagResult.js 983 B 0 B
packages/react-native/dist/hooks/useFeatureFlags.js 941 B 0 B
packages/react-native/dist/hooks/useNavigationTracker.js 2.45 kB 0 B
packages/react-native/dist/hooks/usePostHog.js 544 B 0 B
packages/react-native/dist/hooks/utils.js 988 B 0 B
packages/react-native/dist/index.js 4.33 kB 0 B
packages/react-native/dist/logs-********.js 3.66 kB 0 B
packages/react-native/dist/native-deps.js 8.73 kB 0 B
packages/react-native/dist/optional/OptionalAsyncStorage.js 299 B 0 B
packages/react-native/dist/optional/OptionalExpoApplication.js 377 B 0 B
packages/react-native/dist/optional/OptionalExpoDevice.js 347 B 0 B
packages/react-native/dist/optional/OptionalExpoFileSystem.js 386 B 0 B
packages/react-native/dist/optional/OptionalExpoFileSystemLegacy.js 423 B 0 B
packages/react-native/dist/optional/OptionalExpoLocalization.js 383 B 0 B
packages/react-native/dist/optional/OptionalPlugin.js 891 B 0 B
packages/react-native/dist/optional/OptionalReactNativeDeviceInfo.js 415 B 0 B
packages/react-native/dist/optional/OptionalReactNativeLocalize.js 303 B 0 B
packages/react-native/dist/optional/OptionalReactNativeNavigation.js 415 B 0 B
packages/react-native/dist/optional/OptionalReactNativeNavigationWix.js 443 B 0 B
packages/react-native/dist/optional/OptionalReactNativeSafeArea.js 644 B 0 B
packages/react-native/dist/optional/OptionalReactNativeSvg.js 872 B 0 B
packages/react-native/dist/posthog-rn.js 67.4 kB 0 B
packages/react-native/dist/PostHogContext.js 329 B 0 B
packages/react-native/dist/PostHogErrorBoundary.js 3.19 kB 0 B
packages/react-native/dist/PostHogMaskView.js 1.68 kB 0 B
packages/react-native/dist/PostHogProvider.js 6 kB 0 B
packages/react-native/dist/storage.js 5.76 kB 0 B
packages/react-native/dist/surveys/components/BottomSection.js 1.51 kB 0 B
packages/react-native/dist/surveys/components/Cancel.js 1.1 kB 0 B
packages/react-native/dist/surveys/components/ConfirmationMessage.js 1.76 kB 0 B
packages/react-native/dist/surveys/components/IntroMessage.js 1.65 kB 0 B
packages/react-native/dist/surveys/components/QuestionHeader.js 1.47 kB 0 B
packages/react-native/dist/surveys/components/QuestionTypes.js 14 kB 0 B
packages/react-native/dist/surveys/components/SurveyModal.js 7.24 kB 0 B
packages/react-native/dist/surveys/components/Surveys.js 6.58 kB 0 B
packages/react-native/dist/surveys/getActiveMatchingSurveys.js 2.69 kB 0 B
packages/react-native/dist/surveys/icons.js 10 kB 0 B
packages/react-native/dist/surveys/index.js 600 B 0 B
packages/react-native/dist/surveys/PostHogSurveyProvider.js 6.73 kB 0 B
packages/react-native/dist/surveys/safeStyleSheet.js 448 B 0 B
packages/react-native/dist/surveys/survey-translations.js 1.11 kB 0 B
packages/react-native/dist/surveys/surveys-utils.js 11.5 kB 0 B
packages/react-native/dist/surveys/useActivatedSurveys.js 3.68 kB 0 B
packages/react-native/dist/surveys/useSurveyStorage.js 2.48 kB 0 B
packages/react-native/dist/tooling/metroconfig.js 2.32 kB 0 B
packages/react-native/dist/tooling/posthogMetroSerializer.js 7.74 kB 0 B
packages/react-native/dist/tooling/utils.js 4.2 kB 0 B
packages/react-native/dist/tooling/vendor/expo/expoconfig.js 70 B 0 B
packages/react-native/dist/tooling/vendor/metro/countLines.js 237 B 0 B
packages/react-native/dist/tooling/vendor/metro/utils.js 3.51 kB 0 B
packages/react-native/dist/types.js 70 B 0 B
packages/react-native/dist/utils.js 1.3 kB 0 B
packages/react-native/dist/version.js 130 B 0 B
packages/react/dist/esm/index.js 22.5 kB 0 B
packages/react/dist/esm/slim/index.js 18.9 kB 0 B
packages/react/dist/esm/surveys/index.js 4.75 kB 0 B
packages/react/dist/umd/index.js 25.9 kB 0 B
packages/react/dist/umd/slim/index.js 21.8 kB 0 B
packages/react/dist/umd/surveys/index.js 5.52 kB 0 B
packages/rollup-plugin/dist/index.js 7.6 kB 0 B
packages/rrweb/all/dist/rrweb-all.cjs 705 kB 0 B
packages/rrweb/all/dist/rrweb-all.js 705 kB 0 B
packages/rrweb/all/dist/rrweb-all.umd.cjs 708 kB 0 B
packages/rrweb/all/dist/rrweb-all.umd.min.cjs 328 kB 0 B
packages/rrweb/packer/dist/base-********.cjs 18.3 kB 0 B
packages/rrweb/packer/dist/base-********.js 18.2 kB 0 B
packages/rrweb/packer/dist/base-********.umd.cjs 18.7 kB 0 B
packages/rrweb/packer/dist/base-********.umd.min.cjs 9.5 kB 0 B
packages/rrweb/packer/dist/pack.cjs 347 B 0 B
packages/rrweb/packer/dist/pack.js 285 B 0 B
packages/rrweb/packer/dist/pack.umd.cjs 1.63 kB 0 B
packages/rrweb/packer/dist/pack.umd.min.cjs 1.11 kB 0 B
packages/rrweb/packer/dist/packer.cjs 257 B 0 B
packages/rrweb/packer/dist/packer.js 136 B 0 B
packages/rrweb/packer/dist/packer.umd.cjs 662 B 0 B
packages/rrweb/packer/dist/packer.umd.min.cjs 626 B 0 B
packages/rrweb/packer/dist/unpack.cjs 769 B 0 B
packages/rrweb/packer/dist/unpack.js 702 B 0 B
packages/rrweb/packer/dist/unpack.umd.cjs 1.17 kB 0 B
packages/rrweb/packer/dist/unpack.umd.min.cjs 955 B 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.cjs 37.6 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.js 37.5 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.umd.cjs 38 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-record/dist/rrweb-plugin-canvas-webrtc-record.umd.min.cjs 22.2 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.cjs 34.3 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.js 34.2 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.umd.cjs 34.7 kB 0 B
packages/rrweb/plugins/rrweb-plugin-canvas-webrtc-replay/dist/rrweb-plugin-canvas-webrtc-replay.umd.min.cjs 20.5 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.cjs 15.8 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.js 15.7 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.umd.cjs 16.3 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-record/dist/rrweb-plugin-console-record.umd.min.cjs 7.66 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.cjs 5.01 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.js 4.9 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.umd.cjs 5.44 kB 0 B
packages/rrweb/plugins/rrweb-plugin-console-replay/dist/rrweb-plugin-console-replay.umd.min.cjs 2.64 kB 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.cjs 681 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.js 548 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.umd.cjs 1.12 kB 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-record/dist/rrweb-plugin-sequential-id-record.umd.min.cjs 829 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.cjs 933 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.js 820 B 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.umd.cjs 1.37 kB 0 B
packages/rrweb/plugins/rrweb-plugin-sequential-id-replay/dist/rrweb-plugin-sequential-id-replay.umd.min.cjs 968 B 0 B
packages/rrweb/record/dist/rrweb-record.cjs 234 kB 0 B
packages/rrweb/record/dist/rrweb-record.js 233 kB 0 B
packages/rrweb/record/dist/rrweb-record.umd.cjs 234 kB 0 B
packages/rrweb/record/dist/rrweb-record.umd.min.cjs 107 kB 0 B
packages/rrweb/replay/dist/rrweb-replay.cjs 476 kB 0 B
packages/rrweb/replay/dist/rrweb-replay.js 476 kB 0 B
packages/rrweb/replay/dist/rrweb-replay.umd.cjs 479 kB 0 B
packages/rrweb/replay/dist/rrweb-replay.umd.min.cjs 225 kB 0 B
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.cjs 160 kB 0 B
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.js 160 kB 0 B
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.umd.cjs 162 kB 0 B
packages/rrweb/rrdom-nodejs/dist/rrdom-nodejs.umd.min.cjs 74.9 kB 0 B
packages/rrweb/rrdom/dist/rrdom.cjs 186 kB 0 B
packages/rrweb/rrdom/dist/rrdom.js 185 kB 0 B
packages/rrweb/rrdom/dist/rrdom.umd.cjs 187 kB 0 B
packages/rrweb/rrdom/dist/rrdom.umd.min.cjs 85.5 kB 0 B
packages/rrweb/rrweb-snapshot/dist/record.cjs 39 kB 0 B
packages/rrweb/rrweb-snapshot/dist/record.js 37.3 kB 0 B
packages/rrweb/rrweb-snapshot/dist/record.umd.cjs 83.2 kB 0 B
packages/rrweb/rrweb-snapshot/dist/record.umd.min.cjs 37.4 kB 0 B
packages/rrweb/rrweb-snapshot/dist/replay.cjs 149 kB 0 B
packages/rrweb/rrweb-snapshot/dist/replay.js 149 kB 0 B
packages/rrweb/rrweb-snapshot/dist/replay.umd.cjs 194 kB 0 B
packages/rrweb/rrweb-snapshot/dist/replay.umd.min.cjs 86.2 kB 0 B
packages/rrweb/rrweb-snapshot/dist/rrweb-********.cjs 3.95 kB 0 B
packages/rrweb/rrweb-snapshot/dist/rrweb-********.js 2.32 kB 0 B
packages/rrweb/rrweb-snapshot/dist/rrweb-********.umd.cjs 261 kB 0 B
packages/rrweb/rrweb-snapshot/dist/rrweb-********.umd.min.cjs 109 kB 0 B
packages/rrweb/rrweb-snapshot/dist/types-********.cjs 37.6 kB 0 B
packages/rrweb/rrweb-snapshot/dist/types-********.js 36.5 kB 0 B
packages/rrweb/rrweb-snapshot/dist/types-********.umd.cjs 39 kB 0 B
packages/rrweb/rrweb-snapshot/dist/types-********.umd.min.cjs 17.3 kB 0 B
packages/rrweb/rrweb/dist/rrweb.cjs 689 kB 0 B
packages/rrweb/rrweb/dist/rrweb.js 689 kB 0 B
packages/rrweb/rrweb/dist/rrweb.umd.cjs 689 kB 0 B
packages/rrweb/rrweb/dist/rrweb.umd.min.cjs 318 kB 0 B
packages/rrweb/types/dist/rrweb-types.cjs 5.75 kB 0 B
packages/rrweb/types/dist/rrweb-types.js 5.46 kB 0 B
packages/rrweb/types/dist/rrweb-types.umd.cjs 6.16 kB 0 B
packages/rrweb/types/dist/rrweb-types.umd.min.cjs 2.86 kB 0 B
packages/rrweb/utils/dist/rrweb-utils.cjs 7.76 kB 0 B
packages/rrweb/utils/dist/rrweb-utils.js 7.3 kB 0 B
packages/rrweb/utils/dist/rrweb-utils.umd.cjs 8.24 kB 0 B
packages/rrweb/utils/dist/rrweb-utils.umd.min.cjs 4.09 kB 0 B
packages/types/dist/capture-log.js 603 B 0 B
packages/types/dist/capture-log.mjs 0 B 0 B 🆕
packages/types/dist/capture-metric.js 1.37 kB 0 B
packages/types/dist/capture-metric.mjs 93 B 0 B
packages/types/dist/capture.js 603 B 0 B
packages/types/dist/capture.mjs 0 B 0 B 🆕
packages/types/dist/common.js 603 B 0 B
packages/types/dist/common.mjs 0 B 0 B 🆕
packages/types/dist/feature-flags.js 603 B 0 B
packages/types/dist/feature-flags.mjs 0 B 0 B 🆕
packages/types/dist/index.js 1.45 kB 0 B
packages/types/dist/index.mjs 122 B 0 B
packages/types/dist/posthog-config.js 603 B 0 B
packages/types/dist/posthog-config.mjs 0 B 0 B 🆕
packages/types/dist/posthog.js 603 B 0 B
packages/types/dist/posthog.mjs 0 B 0 B 🆕
packages/types/dist/request.js 603 B 0 B
packages/types/dist/request.mjs 0 B 0 B 🆕
packages/types/dist/segment.js 603 B 0 B
packages/types/dist/segment.mjs 0 B 0 B 🆕
packages/types/dist/session-recording.js 603 B 0 B
packages/types/dist/session-recording.mjs 0 B 0 B 🆕
packages/types/dist/survey.js 603 B 0 B
packages/types/dist/survey.mjs 0 B 0 B 🆕
packages/types/dist/toolbar.js 603 B 0 B
packages/types/dist/toolbar.mjs 0 B 0 B 🆕
packages/types/dist/tree-shakeable.js 603 B 0 B
packages/types/dist/tree-shakeable.mjs 0 B 0 B 🆕
packages/web/dist/index.cjs 11.2 kB 0 B
packages/web/dist/index.mjs 11.1 kB 0 B
packages/webpack-plugin/dist/config.js 1.47 kB 0 B
packages/webpack-plugin/dist/config.mjs 480 B 0 B
packages/webpack-plugin/dist/index.js 7.39 kB 0 B
packages/webpack-plugin/dist/index.mjs 3.58 kB 0 B
tooling/changelog/dist/index.js 3.31 kB 0 B
tooling/rollup-utils/dist/index.js 1.17 kB 0 B

compressed-size-action

@posthog

posthog Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

PostHog Review alpha 🦔 If you find any issues helpful - please reply "valid", "invalid", etc., for evaluation purposes 🙏

@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

Found 1 must fix, 4 should fix.

Comment thread packages/react-native/tooling/posthog-xcode.sh
Comment thread packages/react-native/src/tooling/expoconfig.ts
Comment thread packages/react-native/src/tooling/expoconfig.ts
Comment thread packages/react-native/src/tooling/expoconfig.ts
Comment thread packages/react-native/src/tooling/expoconfig.ts Outdated
posthog Bot and others added 3 commits September 1, 2026 13:12
…ilds

A native-only compile sets SKIP_BUNDLING and exits before the hermes clone/upload
calls, so the --release-mode flag those carry is never applied. With event now the
default release mode, the version floor at posthog-xcode.sh fired on every
unconfigured build and ran before the SKIP_BUNDLING early-exit, failing such a build
over a posthog-cli version it never exercises.

Gate the floor check on SKIP_BUNDLING being unset so a skipped build with an old or
source-built CLI passes again, restoring the pre-feature behavior. The existing
forwarding test no longer needs its POSTHOG_SKIP_CLI_VERSION_CHECK workaround, and a
dedicated regression test asserts a SKIP_BUNDLING build with an old CLI succeeds and
runs no hermes calls.

Generated-By: PostHog Desktop
Task-Id: d90a3055-12ee-4d22-bff7-6fa3fd3abde4
…tribution

The releaseMode prop doc described the $app_namespace/$app_version/$app_build
coordinates as ones "the SDK already sends", but the SDK reads them only from the
optional expo-application or react-native-device-info module (native-deps.tsx), and
a plain customAppProperties object replaces the defaults rather than merging. An
install with neither module still symbolicates in event mode but its JavaScript
exceptions carry no release.

Document that requirement on the prop so a config author knows event-mode release
attribution depends on an app-metadata source, and that symbol-set does not. The
default stays event and no runtime behavior changes; the existing runtime warning
already self-announces the degraded install.

Generated-By: PostHog Desktop
Task-Id: d90a3055-12ee-4d22-bff7-6fa3fd3abde4
The prebuild writes posthog.hermesReleaseMode, which com.posthog.android
does not read, and removes any posthog.releaseMode entry an earlier
version left behind. posthog.gradle reads the new key.

The releaseMode prop reached only the iOS plugin, so an explicit
symbol-set left the Android Hermes upload on the event default.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jg6r6rFUBnowrXssZyU7yR
@greptile-apps

greptile-apps Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "fix(react-native): keep the Hermes mode ..." | Re-trigger Greptile

@marandaneto marandaneto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Automated advisory code review.

Comment thread packages/react-native/src/tooling/expoconfig.ts Outdated
Comment thread packages/react-native/src/tooling/expoconfig.ts Outdated
Comment thread packages/react-native/src/tooling/expoconfig.ts Outdated
Comment thread .changeset/react-native-hermes-only-event-mode.md Outdated

@marandaneto marandaneto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Additional advisory review comment.

Comment thread packages/react-native/src/tooling/expoconfig.ts Outdated

@marandaneto marandaneto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Additional advisory review comment.

Comment thread packages/react-native/test/expoconfig.spec.ts
@marandaneto
marandaneto requested review from a team, cat-ph and hpouillot September 1, 2026 14:09
ablaszkiewicz and others added 2 commits September 1, 2026 17:20
…floor

Review blocked three compatibility gaps. A prebuild now recognizes and
rewrites the dSYM phase 4.64-4.66 generated, whose stale
POSTHOG_NO_RELEASE_BIND export the pinned posthog-ios still reads, with
verbatim fixtures proving the migration idempotent. The prebuild no
longer deletes a user-owned posthog.releaseMode entry from
gradle.properties; posthog.gradle reads it as a deprecated fallback with
a warning instead. And an unconfigured build on posthog-cli < 0.16.0
warns and uploads bound instead of failing: only an explicitly
configured event mode still fails the build. The prebuild writes the
mode into build files only when configured, so the scripts can tell the
default apart. Also keeps the EXPERIMENTAL marker on the prop and trims
the changeset, per review.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0177eam86deHk8HZYMKcJtbD

doLast {
def cliPackage = PostHogCli.resolveCliPackagePath(rootDirFile, reactRoot)
def posthogReleaseModeArgs = PostHogCli.releaseModeArgs(

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.

[question] releaseModeArgs runs resolveVersion here and again in doFirst, and that spawns posthog-cli --version each time — so every Android release build now pays two extra subprocess spawns, where before the check ran once and only when someone had explicitly configured a non-default mode. Could we memoize the lookup in a static on PostHogCli keyed by the command, or does the configuration cache get in the way of that too?

Comment on lines +5 to +7
Scope `releaseMode` to the Hermes source map upload and default it to `event`. Each JavaScript exception resolves its own release from the app metadata the SDK sends, so two releases that ship the same bundle stop reporting whichever release uploaded the maps first. iOS dSYMs and Android R8 mappings always bind to the release their build creates.

Set `releaseMode: 'symbol-set'`, or `POSTHOG_RELEASE_MODE=symbol-set` before the prebuild, to keep stamping the release onto the maps. Event mode needs posthog-cli 0.16.0: a build that configured no mode warns and keeps binding on an older CLI, while an explicitly configured `event` fails the build and names the upgrade. A prebuild also rewrites the dSYM phase an earlier plugin version generated, removing its deprecated `POSTHOG_NO_RELEASE_BIND` export.

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.

[suggestion] The rename isn't in here — a project carrying posthog.releaseMode in gradle.properties starts warning on its next build and the release notes never mention it. Worth adding, and the surrounding prose is mostly "why" that already lives in the PR body, so folding both into a Common Changelog shape:

Suggested change
Scope `releaseMode` to the Hermes source map upload and default it to `event`. Each JavaScript exception resolves its own release from the app metadata the SDK sends, so two releases that ship the same bundle stop reporting whichever release uploaded the maps first. iOS dSYMs and Android R8 mappings always bind to the release their build creates.
Set `releaseMode: 'symbol-set'`, or `POSTHOG_RELEASE_MODE=symbol-set` before the prebuild, to keep stamping the release onto the maps. Event mode needs posthog-cli 0.16.0: a build that configured no mode warns and keeps binding on an older CLI, while an explicitly configured `event` fails the build and names the upgrade. A prebuild also rewrites the dSYM phase an earlier plugin version generated, removing its deprecated `POSTHOG_NO_RELEASE_BIND` export.
Scope `releaseMode` to the Hermes source map upload and default it to `event`; iOS dSYMs and Android R8 mappings always bind to the release their build creates. Set `releaseMode: 'symbol-set'`, or `POSTHOG_RELEASE_MODE=symbol-set` before the prebuild, to keep stamping the release onto the maps.
Rename the `posthog.releaseMode` gradle property to `posthog.hermesReleaseMode`. The old key still works, with a deprecation warning.
`event` mode needs posthog-cli 0.16.0: an unconfigured build warns and keeps binding on an older CLI, an explicitly configured `event` fails the build and names the upgrade.

@turnipdabeets
turnipdabeets requested a review from a team September 1, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants