@@ -24,9 +24,26 @@ sentryTest(
2424 sentryTest . skip ( ) ;
2525 }
2626
27+ // We want to ensure to check the correct event payloads
28+ let firstInputMutationSegmentId : number | undefined = undefined ;
2729 const reqPromise0 = waitForReplayRequest ( page , 0 ) ;
28- const reqPromise1 = waitForReplayRequest ( page , 1 ) ;
29- const reqPromise2 = waitForReplayRequest ( page , 2 ) ;
30+ const reqPromise1 = waitForReplayRequest ( page , ( event , res ) => {
31+ const check =
32+ firstInputMutationSegmentId === undefined && getIncrementalRecordingSnapshots ( res ) . some ( isInputMutation ) ;
33+
34+ if ( check ) {
35+ firstInputMutationSegmentId = event . segment_id ;
36+ }
37+
38+ return check ;
39+ } ) ;
40+ const reqPromise2 = waitForReplayRequest ( page , ( event , res ) => {
41+ return (
42+ typeof firstInputMutationSegmentId === 'number' &&
43+ firstInputMutationSegmentId < event . segment_id &&
44+ getIncrementalRecordingSnapshots ( res ) . some ( isInputMutation )
45+ ) ;
46+ } ) ;
3047
3148 await page . route ( 'https://dsn.ingest.sentry.io/**/*' , route => {
3249 return route . fulfill ( {
@@ -39,13 +56,13 @@ sentryTest(
3956 const url = await getLocalTestPath ( { testDir : __dirname } ) ;
4057
4158 await page . goto ( url ) ;
42-
4359 await reqPromise0 ;
4460
4561 const text = 'test' ;
4662
4763 await page . locator ( '#input' ) . fill ( text ) ;
4864 await forceFlushReplay ( ) ;
65+
4966 const snapshots = getIncrementalRecordingSnapshots ( await reqPromise1 ) . filter ( isInputMutation ) ;
5067 const lastSnapshot = snapshots [ snapshots . length - 1 ] ;
5168 expect ( lastSnapshot . data . text ) . toBe ( '*' . repeat ( text . length ) ) ;
@@ -66,9 +83,26 @@ sentryTest(
6683 sentryTest . skip ( ) ;
6784 }
6885
86+ // We want to ensure to check the correct event payloads
87+ let firstInputMutationSegmentId : number | undefined = undefined ;
6988 const reqPromise0 = waitForReplayRequest ( page , 0 ) ;
70- const reqPromise1 = waitForReplayRequest ( page , 1 ) ;
71- const reqPromise2 = waitForReplayRequest ( page , 2 ) ;
89+ const reqPromise1 = waitForReplayRequest ( page , ( event , res ) => {
90+ const check =
91+ firstInputMutationSegmentId === undefined && getIncrementalRecordingSnapshots ( res ) . some ( isInputMutation ) ;
92+
93+ if ( check ) {
94+ firstInputMutationSegmentId = event . segment_id ;
95+ }
96+
97+ return check ;
98+ } ) ;
99+ const reqPromise2 = waitForReplayRequest ( page , ( event , res ) => {
100+ return (
101+ typeof firstInputMutationSegmentId === 'number' &&
102+ firstInputMutationSegmentId < event . segment_id &&
103+ getIncrementalRecordingSnapshots ( res ) . some ( isInputMutation )
104+ ) ;
105+ } ) ;
72106
73107 await page . route ( 'https://dsn.ingest.sentry.io/**/*' , route => {
74108 return route . fulfill ( {
0 commit comments