Skip to content

Commit

Permalink
chore(flags): Add new debugging property `$feature_flag_bootstrapped_…
Browse files Browse the repository at this point in the history
…response` and `$feature_flag_bootstrapped_payload` to `$feature_flag_called` event
  • Loading branch information
havenbarnes committed Nov 28, 2024
1 parent 4452a31 commit ba89701
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 2 deletions.
10 changes: 10 additions & 0 deletions posthog-core/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -777,6 +777,8 @@ export abstract class PostHogCore extends PostHogCoreStateless {
)

if (Object.keys(bootstrapFlags).length) {
this.setPersistedProperty(PostHogPersistedProperty.BootstrapFeatureFlags, bootstrapFlags)

const currentFlags =
this.getPersistedProperty<PostHogDecideResponse['featureFlags']>(PostHogPersistedProperty.FeatureFlags) || {}
const newFeatureFlags = { ...bootstrapFlags, ...currentFlags }
Expand All @@ -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<PostHogDecideResponse['featureFlagPayloads']>(
PostHogPersistedProperty.FeatureFlagPayloads
Expand Down Expand Up @@ -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<PostHogDecideResponse['featureFlags']>(
PostHogPersistedProperty.BootstrapFeatureFlags
)?.[key],
$feature_flag_bootstrapped_payload: this.getPersistedProperty<PostHogDecideResponse['featureFlagPayloads']>(
PostHogPersistedProperty.BootstrapFeatureFlagPayloads
)?.[key],
})
}

Expand Down
2 changes: 2 additions & 0 deletions posthog-core/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down
4 changes: 4 additions & 0 deletions posthog-react-native/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
2 changes: 1 addition & 1 deletion posthog-react-native/package.json
Original file line number Diff line number Diff line change
@@ -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/"
Expand Down
6 changes: 6 additions & 0 deletions posthog-web/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion posthog-web/package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down

0 comments on commit ba89701

Please sign in to comment.