File tree Expand file tree Collapse file tree 2 files changed +17
-2
lines changed
Expand file tree Collapse file tree 2 files changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -66,6 +66,7 @@ describe('helpers', () => {
6666
6767 beforeEach ( ( ) => {
6868 emittedLogs = [ ] ;
69+ flushed = false ;
6970 storage = { } ;
7071 // @ts -ignore
7172 originalSessionStorage = global . sessionStorage ;
@@ -154,7 +155,7 @@ describe('helpers', () => {
154155 registerListeners ( fakeTelemetry ) ;
155156 } ) ;
156157 } else {
157- it ( 'should flush logs when the page is hidden' , ( ) => {
158+ it ( 'should flush logs when the visibility changes to hidden' , ( ) => {
158159 registerListeners ( fakeTelemetry ) ;
159160
160161 expect ( flushed ) . to . be . false ;
@@ -167,6 +168,16 @@ describe('helpers', () => {
167168
168169 expect ( flushed ) . to . be . true ;
169170 } ) ;
171+
172+ it ( 'should flush logs when the pagehide event fires' , ( ) => {
173+ registerListeners ( fakeTelemetry ) ;
174+
175+ expect ( flushed ) . to . be . false ;
176+
177+ window . dispatchEvent ( new Event ( 'pagehide' ) ) ;
178+
179+ expect ( flushed ) . to . be . true ;
180+ } ) ;
170181 }
171182 } ) ;
172183} ) ;
Original file line number Diff line number Diff line change @@ -83,7 +83,8 @@ export function startNewSession(telemetry: Telemetry): void {
8383}
8484
8585/**
86- * Registers event listeners to flush logs when the page is hidden.
86+ * Registers event listeners to flush logs when the page is hidden. In some cases multiple listeners
87+ * may trigger at the same time, but flushing only occurs once per batch.
8788 */
8889export function registerListeners ( telemetry : Telemetry ) : void {
8990 if ( typeof window !== 'undefined' && typeof document !== 'undefined' ) {
@@ -92,6 +93,9 @@ export function registerListeners(telemetry: Telemetry): void {
9293 await flush ( telemetry ) ;
9394 }
9495 } ) ;
96+ window . addEventListener ( 'pagehide' , async ( ) => {
97+ await flush ( telemetry ) ;
98+ } ) ;
9599 }
96100}
97101
You can’t perform that action at this time.
0 commit comments