@@ -269,75 +269,3 @@ sentryTest(
269269 expect ( secondSession . session ?. segmentId ) . toBe ( 0 ) ;
270270 } ,
271271) ;
272-
273- sentryTest (
274- 'marks session as dirty immediately when error is sampled in buffer mode' ,
275- async ( { getLocalTestUrl, page, browserName } ) => {
276- if ( shouldSkipReplayTest ( ) || browserName === 'webkit' ) {
277- sentryTest . skip ( ) ;
278- }
279-
280- await page . route ( 'https://dsn.ingest.sentry.io/**/*' , route => {
281- return route . fulfill ( {
282- status : 200 ,
283- contentType : 'application/json' ,
284- body : JSON . stringify ( { id : 'test-id' } ) ,
285- } ) ;
286- } ) ;
287-
288- const replayRequestPromise = waitForReplayRequest ( page , 0 ) ;
289-
290- const url = await getLocalTestUrl ( { testDir : __dirname , skipDsnRouteHandler : true } ) ;
291- await page . goto ( url ) ;
292-
293- // Wait for replay to initialize
294- await new Promise ( resolve => setTimeout ( resolve , 100 ) ) ;
295-
296- // Verify initial state - buffer mode, not sampled
297- const initialSession = await getReplaySnapshot ( page ) ;
298- expect ( initialSession . recordingMode ) . toBe ( 'buffer' ) ;
299- expect ( initialSession . session ?. sampled ) . toBe ( 'buffer' ) ;
300- expect ( initialSession . session ?. segmentId ) . toBe ( 0 ) ;
301-
302- // Trigger error which should immediately mark session as sampled
303- const reqErrorPromise = waitForErrorRequest ( page ) ;
304- await page . locator ( '#error1' ) . click ( ) ;
305-
306- // await this later otherwise we have a timing issue w/ this and `getReplaySnapshot`
307- const sessionDataOnErrorPromise = page . evaluate ( ( ) => {
308- const sessionKey = 'sentryReplaySession' ;
309- const data = sessionStorage . getItem ( sessionKey ) ;
310- return data ? JSON . parse ( data ) : null ;
311- } ) ;
312-
313- const duringErrorProcessing = await getReplaySnapshot ( page ) ;
314- expect ( duringErrorProcessing . session ?. sampled ) . toBe ( 'buffer' ) ;
315- expect ( duringErrorProcessing . session ?. dirty ) . toBe ( true ) ;
316- expect ( duringErrorProcessing . recordingMode ) . toBe ( 'buffer' ) ; // Still in buffer recording mode
317-
318- const sessionDataOnError = await sessionDataOnErrorPromise ;
319- expect ( sessionDataOnError ) . toBeDefined ( ) ;
320- expect ( sessionDataOnError . sampled ) . toBe ( 'buffer' ) ;
321- expect ( sessionDataOnError . dirty ) . toBe ( true ) ;
322-
323- await reqErrorPromise ;
324-
325- // Verify the session was persisted to sessionStorage (if sticky sessions enabled)
326- const sessionData = await page . evaluate ( ( ) => {
327- const sessionKey = 'sentryReplaySession' ;
328- const data = sessionStorage . getItem ( sessionKey ) ;
329- return data ? JSON . parse ( data ) : null ;
330- } ) ;
331-
332- expect ( sessionData ) . toBeDefined ( ) ;
333- expect ( sessionData . sampled ) . toBe ( 'buffer' ) ;
334- expect ( sessionData . dirty ) . toBe ( false ) ;
335-
336- // Need to wait for replay request before checking `recordingMode` and `dirty`,
337- // since they update after replay gets flushed
338- await replayRequestPromise ;
339- const afterReplay = await getReplaySnapshot ( page ) ;
340- expect ( afterReplay . recordingMode ) . toBe ( 'session' ) ;
341- expect ( afterReplay . session ?. dirty ) . toBe ( false ) ;
342- } ,
343- ) ;
0 commit comments