Skip to content

[chain-pr 6/12] Rewrite SessionManager with async start, deterministic sampling, and Promise-based init#4589

Draft
johnHackworth wants to merge 1 commit intov7--chain-5from
v7--chain-6
Draft

[chain-pr 6/12] Rewrite SessionManager with async start, deterministic sampling, and Promise-based init#4589
johnHackworth wants to merge 1 commit intov7--chain-5from
v7--chain-6

Conversation

@johnHackworth
Copy link
Copy Markdown
Collaborator

This PR is part of a chain split from #0 v7 by chain-pr.

Changes

New unified SessionManager built on the reactive store strategy, returning a Promise. Adds findTrackedSession with sample-rate gating, TRACKED_SESSION_MAX_AGE cap, expireDate cap at SESSION_TIME_OUT_DELAY, cross-tab adoption guard, telemetry init metric, and SessionRenewalEvent debug context. Adds collectAsyncCalls and createSessionManagerMock test helpers, plus trackingConsent.onGrantedOnce.

Refactoring rationale

Replaces the per-product (RUM/Logs) session managers with a single async SessionManager that returns a Promise and supports deterministic sampling, isReplayForced via session state, and a TRACKED_SESSION_MAX_AGE cap. The signature change from synchronous to Promise-based propagates through every consumer, which is why the entire startRum/startLogs/preStart pipeline must follow in the next group. Also extends TrackingConsent with onGrantedOnce to drive deferred initialization.


Draft — pending author review. Merge in order unless marked parallel.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 8, 2026


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


chain-pr[bot] seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant