Skip to content

Commit 731ccb7

Browse files
authored
fix(plugin-server-session): delay initialization until first use (#2642)
* fix(plugin-server-session): delay session tracker initialization until first use * docs(plugin-server-session): add changelog entry
1 parent 448d11f commit 731ccb7

2 files changed

Lines changed: 13 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## [Unreleased]
44

5+
### Fixed
6+
7+
(plugin-server-session) Delay session tracker initialization until first use [#2642](https://github.com/bugsnag/bugsnag-js/pull/2642)
8+
59
### Dependencies
610

711
Update bugsnag-cocoa to [6.34.1](https//github.com/bugsnag/bugsnag-cocoa/releases/tag/6.34.1) [#2606](https://github.com/bugsnag/bugsnag-js/pull/2606)

packages/plugin-server-session/session.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,17 @@ const runSyncCallbacks = require('@bugsnag/core/lib/sync-callback-runner')
55

66
module.exports = {
77
load: (client) => {
8-
const sessionTracker = new SessionTracker(client._config.sessionSummaryInterval)
9-
sessionTracker.on('summary', sendSessionSummary(client))
10-
sessionTracker.start()
8+
let sessionTracker = null
9+
1110
client._sessionDelegate = {
1211
startSession: (client, session) => {
12+
// Lazy initialization: only create and start the tracker on first use
13+
if (!sessionTracker) {
14+
sessionTracker = new SessionTracker(client._config.sessionSummaryInterval)
15+
sessionTracker.on('summary', sendSessionSummary(client))
16+
sessionTracker.start()
17+
}
18+
1319
client._session = session
1420
client._pausedSession = null
1521
sessionTracker.track(client._session)

0 commit comments

Comments
 (0)