Skip to content

Commit 650a4d5

Browse files
zhu-xiaoweixiaoweii
andauthored
fix: idle duration not updated when user hides page (#54)
Co-authored-by: xiaoweii <xiaoweii@amazom.com>
1 parent 6fceae9 commit 650a4d5

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/tracker/SessionTracker.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
*/
1313
import { Logger } from '@aws-amplify/core';
1414
import { BaseTracker } from './BaseTracker';
15+
import { PageViewTracker } from './PageViewTracker';
1516
import { Session } from './Session';
1617
import { BrowserInfo } from '../browser';
1718
import { Event } from '../provider';
@@ -103,6 +104,7 @@ export class SessionTracker extends BaseTracker {
103104
}
104105

105106
recordUserEngagement(isImmediate: boolean) {
107+
PageViewTracker.updateIdleDuration();
106108
this.provider.pageViewTracker.recordUserEngagement(isImmediate);
107109
}
108110

test/tracker/SessionTracker.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,16 @@ describe('SessionTracker test', () => {
397397
expect(clearFailedEventsMock).not.toBeCalled();
398398
});
399399

400+
test('test hide page will update lastActiveTimestamp', async () => {
401+
sessionTracker.setUp();
402+
const startTimestamp = PageViewTracker.lastActiveTimestamp;
403+
await sleep(110);
404+
hidePage();
405+
expect(
406+
PageViewTracker.lastActiveTimestamp - startTimestamp > 100
407+
).toBeTruthy();
408+
});
409+
400410
function hidePage() {
401411
Object.defineProperty(window.document, 'hidden', {
402412
writable: true,

0 commit comments

Comments
 (0)