Skip to content

Commit cce08f8

Browse files
Kim DuganKim Dugan
authored andcommitted
replay: wait for new config before recording decision
1 parent 755c2d7 commit cce08f8

17 files changed

+132
-149
lines changed

.changeset/tiny-glasses-pump.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'posthog-js': patch
3+
---
4+
5+
wait for fresh config before recording start decision

packages/browser/playwright/mocked/session-recording/lazy-session-recording-sampling.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { expect, test, WindowWithPostHog } from '../utils/posthog-playwright-test-base'
2-
import { start } from '../utils/setup'
2+
import { start, waitForSessionRecordingToStart } from '../utils/setup'
33

44
const startOptions = {
55
options: {
@@ -34,6 +34,7 @@ test.describe('Session recording - sampling', () => {
3434
await start(startOptions, page, context)
3535
},
3636
})
37+
await waitForSessionRecordingToStart(page)
3738

3839
await page.expectCapturedEventsToBe(['$pageview'])
3940
await page.resetCapturedEvents()

packages/browser/playwright/mocked/session-recording/lazy-session-recording.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { expect, test, WindowWithPostHog } from '../utils/posthog-playwright-test-base'
2-
import { start } from '../utils/setup'
2+
import { start, waitForSessionRecordingToStart } from '../utils/setup'
33
import { Page } from '@playwright/test'
44
import { isUndefined } from '@posthog/core'
55

@@ -99,6 +99,7 @@ test.describe('Session recording - array.js', () => {
9999
await start(startOptions, page, context)
100100
},
101101
})
102+
await waitForSessionRecordingToStart(page)
102103
await page.expectCapturedEventsToBe(['$pageview'])
103104
await page.resetCapturedEvents()
104105
})

packages/browser/playwright/mocked/session-recording/session-linking.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { expect, test, WindowWithPostHog } from '../utils/posthog-playwright-test-base'
2-
import { start } from '../utils/setup'
2+
import { start, waitForSessionRecordingToStart } from '../utils/setup'
33

44
const startOptions = {
55
options: {
@@ -25,6 +25,7 @@ test.describe('Session Recording - Session Linking', () => {
2525
await start(startOptions, page, context)
2626
},
2727
})
28+
await waitForSessionRecordingToStart(page)
2829
await page.expectCapturedEventsToBe(['$pageview'])
2930
await page.resetCapturedEvents()
3031
})

packages/browser/playwright/mocked/session-recording/session-recording-array-full.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { expect, test, WindowWithPostHog } from '../utils/posthog-playwright-test-base'
2-
import { start } from '../utils/setup'
2+
import { start, waitForSessionRecordingToStart } from '../utils/setup'
33

44
const startOptions = {
55
options: {
@@ -21,6 +21,7 @@ const startOptions = {
2121
test.describe('session recording in array.full.js', () => {
2222
test('captures session events', async ({ page, context }) => {
2323
await start(startOptions, page, context)
24+
await waitForSessionRecordingToStart(page)
2425

2526
await page.waitingForNetworkCausedBy({
2627
urlPatternsToWaitFor: ['**/ses/*'],

packages/browser/playwright/mocked/session-recording/session-recording-idle-timeout.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { expect, test, WindowWithPostHog } from '../utils/posthog-playwright-test-base'
2-
import { start } from '../utils/setup'
2+
import { start, waitForSessionRecordingToStart } from '../utils/setup'
33
import { Page } from '@playwright/test'
44

55
async function ensureRecordingIsStopped(page: Page) {
@@ -88,6 +88,7 @@ test.describe('Session recording - idle timeout behavior', () => {
8888
await start(startOptions, page, context)
8989
},
9090
})
91+
await waitForSessionRecordingToStart(page)
9192
await page.expectCapturedEventsToBe(['$pageview'])
9293
await page.resetCapturedEvents()
9394
})

packages/browser/playwright/mocked/session-recording/session-recording-linked-flags.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { test, WindowWithPostHog } from '../utils/posthog-playwright-test-base'
2-
import { start, StartOptions } from '../utils/setup'
2+
import { start, StartOptions, waitForRemoteConfig } from '../utils/setup'
33
import { assertThatRecordingStarted, pollUntilEventCaptured } from '../utils/event-capture-utils'
44
import { BrowserContext, Page } from '@playwright/test'
55

@@ -42,6 +42,7 @@ test.describe('Session recording - linked flags', () => {
4242
page,
4343
context
4444
)
45+
await waitForRemoteConfig(page)
4546
await page.expectCapturedEventsToBe(expectedStartingEvents)
4647
await page.resetCapturedEvents()
4748
}

packages/browser/playwright/mocked/session-recording/session-recording-network-recorder.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { test, expect } from '../utils/posthog-playwright-test-base'
2-
import { start } from '../utils/setup'
2+
import { start, waitForSessionRecordingToStart } from '../utils/setup'
33
import { Page } from '@playwright/test'
44

55
test.beforeEach(async ({ context }) => {
@@ -90,6 +90,7 @@ test.beforeEach(async ({ context }) => {
9090
)
9191
},
9292
})
93+
await waitForSessionRecordingToStart(page)
9394

9495
// also wrap after posthog is loaded
9596
await page.evaluate((isBadlyBehaved) => {

packages/browser/playwright/mocked/session-recording/session-recording-sampling.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { expect, test, WindowWithPostHog } from '../utils/posthog-playwright-test-base'
2-
import { start } from '../utils/setup'
2+
import { start, waitForSessionRecordingToStart } from '../utils/setup'
33

44
const startOptions = {
55
options: {
@@ -36,6 +36,7 @@ test.describe('Session recording - sampling', () => {
3636
await start(startOptions, page, context)
3737
},
3838
})
39+
await waitForSessionRecordingToStart(page)
3940

4041
await page.expectCapturedEventsToBe(['$pageview'])
4142
await page.resetCapturedEvents()

packages/browser/playwright/mocked/session-recording/session-recording.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { expect, test, WindowWithPostHog } from '../utils/posthog-playwright-test-base'
2-
import { start } from '../utils/setup'
2+
import { start, waitForSessionRecordingToStart } from '../utils/setup'
33
import { Page } from '@playwright/test'
44
import { isUndefined } from '@posthog/core'
55

@@ -101,6 +101,7 @@ test.describe('Session recording - array.js', () => {
101101
await start(startOptions, page, context)
102102
},
103103
})
104+
await waitForSessionRecordingToStart(page)
104105
await page.expectCapturedEventsToBe(['$pageview'])
105106
await page.resetCapturedEvents()
106107
})

0 commit comments

Comments
 (0)