diff --git a/posthog-core/src/index.ts b/posthog-core/src/index.ts index 4e238993..ef28d3a0 100644 --- a/posthog-core/src/index.ts +++ b/posthog-core/src/index.ts @@ -777,6 +777,8 @@ export abstract class PostHogCore extends PostHogCoreStateless { ) if (Object.keys(bootstrapFlags).length) { + this.setPersistedProperty(PostHogPersistedProperty.BootstrapFeatureFlags, bootstrapFlags) + const currentFlags = this.getPersistedProperty(PostHogPersistedProperty.FeatureFlags) || {} const newFeatureFlags = { ...bootstrapFlags, ...currentFlags } @@ -785,6 +787,8 @@ export abstract class PostHogCore extends PostHogCoreStateless { const bootstrapFlagPayloads = bootstrap.featureFlagPayloads if (bootstrapFlagPayloads && Object.keys(bootstrapFlagPayloads).length) { + this.setPersistedProperty(PostHogPersistedProperty.BootstrapFeatureFlagPayloads, bootstrapFlagPayloads) + const currentFlagPayloads = this.getPersistedProperty( PostHogPersistedProperty.FeatureFlagPayloads @@ -1252,6 +1256,12 @@ export abstract class PostHogCore extends PostHogCoreStateless { this.capture('$feature_flag_called', { $feature_flag: key, $feature_flag_response: response, + $feature_flag_bootstrapped_response: this.getPersistedProperty( + PostHogPersistedProperty.BootstrapFeatureFlags + )?.[key], + $feature_flag_bootstrapped_payload: this.getPersistedProperty( + PostHogPersistedProperty.BootstrapFeatureFlagPayloads + )?.[key], }) } diff --git a/posthog-core/src/types.ts b/posthog-core/src/types.ts index 38e8c65f..de8845bc 100644 --- a/posthog-core/src/types.ts +++ b/posthog-core/src/types.ts @@ -49,6 +49,8 @@ export enum PostHogPersistedProperty { Props = 'props', FeatureFlags = 'feature_flags', FeatureFlagPayloads = 'feature_flag_payloads', + BootstrapFeatureFlags = 'bootstrap_feature_flags', + BootstrapFeatureFlagPayloads = 'bootstrap_feature_flag_payloads', OverrideFeatureFlags = 'override_feature_flags', Queue = 'queue', OptedOut = 'opted_out', diff --git a/posthog-react-native/CHANGELOG.md b/posthog-react-native/CHANGELOG.md index fcc7d342..871ea508 100644 --- a/posthog-react-native/CHANGELOG.md +++ b/posthog-react-native/CHANGELOG.md @@ -1,5 +1,9 @@ # Next +# 3.4.1 - 2024-11-27 + +1. Add new debugging property `$feature_flag_bootstrapped_response` and `$feature_flag_bootstrapped_payload` to `$feature_flag_called` event + # 3.4.0 - 2024-11-26 1. feat: automatically mask out user photos and sandboxed views like photo picker (iOS Only) diff --git a/posthog-react-native/package.json b/posthog-react-native/package.json index f76b3e65..0064b41d 100644 --- a/posthog-react-native/package.json +++ b/posthog-react-native/package.json @@ -1,6 +1,6 @@ { "name": "posthog-react-native", - "version": "3.4.0", + "version": "3.4.1", "main": "lib/posthog-react-native/index.js", "files": [ "lib/" diff --git a/posthog-web/CHANGELOG.md b/posthog-web/CHANGELOG.md index 02e39f33..218043a8 100644 --- a/posthog-web/CHANGELOG.md +++ b/posthog-web/CHANGELOG.md @@ -1,5 +1,11 @@ # Next +# 3.1.1 - 2024-11-27 + +## Changed + +1. Add new debugging property `$feature_flag_bootstrapped_response` and `$feature_flag_bootstrapped_payload` to `$feature_flag_called` event + # 3.1.0 - 2024-11-21 ## Changed diff --git a/posthog-web/package.json b/posthog-web/package.json index 4c3d0ef1..9d5c3ff6 100644 --- a/posthog-web/package.json +++ b/posthog-web/package.json @@ -1,6 +1,6 @@ { "name": "posthog-js-lite", - "version": "3.1.0", + "version": "3.1.1", "main": "lib/index.cjs.js", "module": "lib/index.esm.js", "types": "lib/index.d.ts",