Skip to content

Conversation

ordehi
Copy link
Contributor

@ordehi ordehi commented Sep 23, 2025

Problem

When calling posthog.opt_in_capturing() the request queue stays paused, so events are not captured until the user reloads/loads a new page.

Changes

Added this._start_queue_if_opted_in() in the workflow that runs when calling posthog.opt_in_capturing()

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
  • @posthog/ai
  • @posthog/nextjs-config

Checklist

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

If releasing new changes

  • Ran pnpm changeset to generate a changeset file
  • Added the "release" label to the PR to indicate we're publishing new versions for the affected packages

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

2 files reviewed, no comments

Edit Code Review Bot Settings | Greptile

Copy link
Contributor

github-actions bot commented Sep 23, 2025

Copy link
Contributor

github-actions bot commented Sep 23, 2025

Size Change: +530 B (+0.01%)

Total Size: 5.09 MB

Filename Size Change
packages/browser/dist/array.full.es5.js 322 kB +53 B (+0.02%)
packages/browser/dist/array.full.js 384 kB +53 B (+0.01%)
packages/browser/dist/array.full.no-external.js 401 kB +53 B (+0.01%)
packages/browser/dist/array.js 183 kB +53 B (+0.03%)
packages/browser/dist/array.no-external.js 199 kB +53 B (+0.03%)
packages/browser/dist/main.js 184 kB +53 B (+0.03%)
packages/browser/dist/module.full.js 384 kB +53 B (+0.01%)
packages/browser/dist/module.full.no-external.js 401 kB +53 B (+0.01%)
packages/browser/dist/module.js 184 kB +53 B (+0.03%)
packages/browser/dist/module.no-external.js 200 kB +53 B (+0.03%)
ℹ️ View Unchanged
Filename Size Change
packages/ai/dist/anthropic/index.cjs 16.7 kB 0 B
packages/ai/dist/anthropic/index.mjs 16.5 kB 0 B
packages/ai/dist/gemini/index.cjs 17.6 kB 0 B
packages/ai/dist/gemini/index.mjs 17.5 kB 0 B
packages/ai/dist/index.cjs 120 kB 0 B
packages/ai/dist/index.mjs 119 kB 0 B
packages/ai/dist/langchain/index.cjs 39.6 kB 0 B
packages/ai/dist/langchain/index.mjs 39 kB 0 B
packages/ai/dist/openai/index.cjs 29.8 kB 0 B
packages/ai/dist/openai/index.mjs 29.5 kB 0 B
packages/ai/dist/vercel/index.cjs 21.9 kB 0 B
packages/ai/dist/vercel/index.mjs 21.9 kB 0 B
packages/browser/dist/all-external-dependencies.js 223 kB 0 B
packages/browser/dist/crisp-chat-integration.js 1.97 kB 0 B
packages/browser/dist/customizations.full.js 19.3 kB 0 B
packages/browser/dist/dead-clicks-autocapture.js 12.6 kB 0 B
packages/browser/dist/exception-autocapture.js 11.6 kB 0 B
packages/browser/dist/external-scripts-loader.js 2.81 kB 0 B
packages/browser/dist/intercom-integration.js 2.02 kB 0 B
packages/browser/dist/lazy-recorder.js 146 kB 0 B
packages/browser/dist/posthog-recorder.js 240 kB 0 B
packages/browser/dist/recorder-v2.js 113 kB 0 B
packages/browser/dist/recorder.js 113 kB 0 B
packages/browser/dist/surveys-preview.js 71.1 kB 0 B
packages/browser/dist/surveys.js 80 kB 0 B
packages/browser/dist/tracing-headers.js 1.84 kB 0 B
packages/browser/dist/web-vitals.js 10.4 kB 0 B
packages/browser/react/dist/esm/index.js 15.1 kB 0 B
packages/browser/react/dist/umd/index.js 17.8 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.02 kB 0 B
packages/core/dist/error-tracking/coercers/error-coercer.mjs 794 B 0 B
packages/core/dist/error-tracking/coercers/error-event-coercer.js 1.76 kB 0 B
packages/core/dist/error-tracking/coercers/error-event-coercer.mjs 513 B 0 B
packages/core/dist/error-tracking/coercers/event-coercer.js 1.82 kB 0 B
packages/core/dist/error-tracking/coercers/event-coercer.mjs 548 B 0 B
packages/core/dist/error-tracking/coercers/index.js 6.79 kB 0 B
packages/core/dist/error-tracking/coercers/index.mjs 326 B 0 B
packages/core/dist/error-tracking/coercers/object-coercer.js 3.46 kB 0 B
packages/core/dist/error-tracking/coercers/object-coercer.mjs 2.07 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.25 kB 0 B
packages/core/dist/error-tracking/coercers/promise-rejection-event.mjs 904 B 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.64 kB 0 B
packages/core/dist/error-tracking/error-properties-builder.mjs 4.24 kB 0 B
packages/core/dist/error-tracking/index.js 4.11 kB 0 B
packages/core/dist/error-tracking/index.mjs 152 B 0 B
packages/core/dist/error-tracking/parsers/base.js 2.62 kB 0 B
packages/core/dist/error-tracking/parsers/base.mjs 697 B 0 B
packages/core/dist/error-tracking/parsers/chrome.js 2.7 kB 0 B
packages/core/dist/error-tracking/parsers/chrome.mjs 1.29 kB 0 B
packages/core/dist/error-tracking/parsers/gecko.js 2.45 kB 0 B
packages/core/dist/error-tracking/parsers/gecko.mjs 1.11 kB 0 B
packages/core/dist/error-tracking/parsers/index.js 4.36 kB 0 B
packages/core/dist/error-tracking/parsers/index.mjs 1.92 kB 0 B
packages/core/dist/error-tracking/parsers/node.js 3.95 kB 0 B
packages/core/dist/error-tracking/parsers/node.mjs 2.68 kB 0 B
packages/core/dist/error-tracking/parsers/opera.js 2.22 kB 0 B
packages/core/dist/error-tracking/parsers/opera.mjs 706 B 0 B
packages/core/dist/error-tracking/parsers/react-native.js 203 B 0 B
packages/core/dist/error-tracking/parsers/react-native.mjs 0 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.7 kB 0 B
packages/core/dist/error-tracking/parsers/winjs.mjs 406 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/featureFlagUtils.js 6.5 kB 0 B
packages/core/dist/featureFlagUtils.mjs 4.28 kB 0 B
packages/core/dist/gzip.js 1.88 kB 0 B
packages/core/dist/gzip.mjs 577 B 0 B
packages/core/dist/index.js 6.07 kB 0 B
packages/core/dist/index.mjs 649 B 0 B
packages/core/dist/posthog-core-stateless.js 29.5 kB 0 B
packages/core/dist/posthog-core-stateless.mjs 27 kB 0 B
packages/core/dist/posthog-core.js 28.4 kB 0 B
packages/core/dist/posthog-core.mjs 24.3 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.15 kB 0 B
packages/core/dist/testing/PostHogCoreTestClient.mjs 1.74 kB 0 B
packages/core/dist/testing/test-utils.js 2.71 kB 0 B
packages/core/dist/testing/test-utils.mjs 1.03 kB 0 B
packages/core/dist/types.js 8.2 kB 0 B
packages/core/dist/types.mjs 5.93 kB 0 B
packages/core/dist/utils/bucketed-rate-limiter.js 3.14 kB 0 B
packages/core/dist/utils/bucketed-rate-limiter.mjs 1.76 kB 0 B
packages/core/dist/utils/index.js 9.26 kB 0 B
packages/core/dist/utils/index.mjs 1.88 kB 0 B
packages/core/dist/utils/number-utils.js 2 kB 0 B
packages/core/dist/utils/number-utils.mjs 735 B 0 B
packages/core/dist/utils/promise-queue.js 2 kB 0 B
packages/core/dist/utils/promise-queue.mjs 768 B 0 B
packages/core/dist/utils/string-utils.js 1.91 kB 0 B
packages/core/dist/utils/string-utils.mjs 414 B 0 B
packages/core/dist/utils/type-utils.js 6.93 kB 0 B
packages/core/dist/utils/type-utils.mjs 3.03 kB 0 B
packages/core/dist/vendor/uuidv7.js 8.29 kB 0 B
packages/core/dist/vendor/uuidv7.mjs 6.72 kB 0 B
packages/nextjs-config/dist/config.js 5.51 kB 0 B
packages/nextjs-config/dist/config.mjs 4.03 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/utils.js 6.06 kB 0 B
packages/nextjs-config/dist/utils.mjs 3.54 kB 0 B
packages/nextjs-config/dist/utils.spec.js 723 B 0 B
packages/nextjs-config/dist/utils.spec.mjs 455 B 0 B
packages/nextjs-config/dist/webpack-plugin.js 3.69 kB 0 B
packages/nextjs-config/dist/webpack-plugin.mjs 1.98 kB 0 B
packages/node/dist/client.js 22.6 kB 0 B
packages/node/dist/client.mjs 20.7 kB 0 B
packages/node/dist/entrypoints/index.edge.js 4.14 kB 0 B
packages/node/dist/entrypoints/index.edge.mjs 652 B 0 B
packages/node/dist/entrypoints/index.node.js 5.08 kB 0 B
packages/node/dist/entrypoints/index.node.mjs 901 B 0 B
packages/node/dist/exports.js 3.6 kB 0 B
packages/node/dist/exports.mjs 124 B 0 B
packages/node/dist/extensions/error-tracking/autocapture.js 2.65 kB 0 B
packages/node/dist/extensions/error-tracking/autocapture.mjs 1.23 kB 0 B
packages/node/dist/extensions/error-tracking/index.js 3.88 kB 0 B
packages/node/dist/extensions/error-tracking/index.mjs 2.61 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/context-lines.node.js 8.81 kB 0 B
packages/node/dist/extensions/error-tracking/modifiers/context-lines.node.mjs 7.15 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/express.js 2.17 kB 0 B
packages/node/dist/extensions/express.mjs 548 B 0 B
packages/node/dist/extensions/feature-flags/crypto-helpers.js 2.72 kB 0 B
packages/node/dist/extensions/feature-flags/crypto-helpers.mjs 624 B 0 B
packages/node/dist/extensions/feature-flags/crypto.js 1.96 kB 0 B
packages/node/dist/extensions/feature-flags/crypto.mjs 673 B 0 B
packages/node/dist/extensions/feature-flags/feature-flags.js 26.8 kB 0 B
packages/node/dist/extensions/feature-flags/feature-flags.mjs 25 kB 0 B
packages/node/dist/extensions/feature-flags/lazy.js 1.89 kB 0 B
packages/node/dist/extensions/feature-flags/lazy.mjs 739 B 0 B
packages/node/dist/extensions/sentry-integration.js 4.7 kB 0 B
packages/node/dist/extensions/sentry-integration.mjs 3.21 kB 0 B
packages/node/dist/storage-memory.js 1.52 kB 0 B
packages/node/dist/storage-memory.mjs 297 B 0 B
packages/node/dist/types.js 603 B 0 B
packages/node/dist/types.mjs 0 B 0 B 🆕
packages/node/dist/utils/logger.js 2.16 kB 0 B
packages/node/dist/utils/logger.mjs 971 B 0 B
packages/node/dist/version.js 1.21 kB 0 B
packages/node/dist/version.mjs 45 B 0 B
packages/react-native/dist/autocapture.js 4.68 kB 0 B
packages/react-native/dist/frameworks/wix-navigation.js 1.3 kB 0 B
packages/react-native/dist/hooks/useFeatureFlag.js 1.49 kB 0 B
packages/react-native/dist/hooks/useFeatureFlags.js 821 B 0 B
packages/react-native/dist/hooks/useNavigationTracker.js 2.46 kB 0 B
packages/react-native/dist/hooks/usePostHog.js 467 B 0 B
packages/react-native/dist/index.js 3.12 kB 0 B
packages/react-native/dist/native-deps.js 13.9 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/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/OptionalSessionReplay.js 455 B 0 B
packages/react-native/dist/posthog-rn.js 31.4 kB 0 B
packages/react-native/dist/PostHogContext.js 329 B 0 B
packages/react-native/dist/PostHogProvider.js 4.77 kB 0 B
packages/react-native/dist/storage.js 3.39 kB 0 B
packages/react-native/dist/surveys/components/BottomSection.js 1.34 kB 0 B
packages/react-native/dist/surveys/components/Cancel.js 909 B 0 B
packages/react-native/dist/surveys/components/ConfirmationMessage.js 1.58 kB 0 B
packages/react-native/dist/surveys/components/QuestionHeader.js 1.11 kB 0 B
packages/react-native/dist/surveys/components/QuestionTypes.js 10.1 kB 0 B
packages/react-native/dist/surveys/components/SurveyModal.js 3.86 kB 0 B
packages/react-native/dist/surveys/components/Surveys.js 7.18 kB 0 B
packages/react-native/dist/surveys/getActiveMatchingSurveys.js 3.48 kB 0 B
packages/react-native/dist/surveys/icons.js 7.76 kB 0 B
packages/react-native/dist/surveys/index.js 600 B 0 B
packages/react-native/dist/surveys/PostHogSurveyProvider.js 5.61 kB 0 B
packages/react-native/dist/surveys/surveys-utils.js 9.31 kB 0 B
packages/react-native/dist/surveys/useActivatedSurveys.js 3.38 kB 0 B
packages/react-native/dist/surveys/useSurveyStorage.js 2.16 kB 0 B
packages/react-native/dist/types.js 70 B 0 B
packages/react-native/dist/version.js 129 B 0 B
packages/react/dist/esm/index.js 15.1 kB 0 B
packages/react/dist/umd/index.js 17.8 kB 0 B
packages/web/dist/index.cjs 13.8 kB 0 B
packages/web/dist/index.mjs 13.7 kB 0 B
tooling/rollup-utils/dist/index.js 1.17 kB 0 B

compressed-size-action

@marandaneto marandaneto requested review from a team and removed request for marandaneto September 23, 2025 13:36
@ordehi ordehi removed the request for review from robbie-c September 23, 2025 14:06
Copy link

vercel bot commented Sep 23, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Updated (UTC)
posthog-js Ready Ready Preview Sep 25, 2025 4:30pm

@rafaeelaudibert
Copy link
Member

Requesting a review from @robbie-c specifically since he understands cookieless better than the rest of us

expect(posthog.sessionRecording).toBeFalsy()
})

it('should restart autocapture after opt_in_capturing in cookieless mode', async () => {
Copy link
Member

Choose a reason for hiding this comment

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

I'm confused about whether the bug is related to autocapture not being restarted on opt-in (which is what this is testing), or whether it's related to the request queue not starting (which is the title of this PR).

Is there a link to a ticket somewhere?

posthog.opt_in_capturing()

// Autocapture should be restarted immediately after opt-in
expect(mockStartIfEnabled).toHaveBeenCalledTimes(1)
Copy link
Member

Choose a reason for hiding this comment

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

Hmm I don't think this is the right test

This is just testing an implementation detail.

Ideally we would test whether an autocapture event is sent when a simulated click happens

@posthog-bot
Copy link
Collaborator

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.

@thmsobrmlr
Copy link
Contributor

This might or might not be superseded by #2408. The PR description seems to say it's about the same thing, but the implementation does something different.

@posthog-bot posthog-bot removed the stale label Oct 8, 2025
@posthog-bot
Copy link
Collaborator

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.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants