Skip to content

feat: sync Rokt kit with upstream v1.35.0 - #1365

Merged
crisryantan merged 2 commits into
mainfrom
feat/sync-rokt-kit-1.35.0
Aug 26, 2026
Merged

feat: sync Rokt kit with upstream v1.35.0#1365
crisryantan merged 2 commits into
mainfrom
feat/sync-rokt-kit-1.35.0

Conversation

@crisryantan

Copy link
Copy Markdown
Contributor

Summary

  • Sync kits/rokt from standalone upstream range v1.30.2..v1.35.0.
  • Copy upstream source, tests, setup, and changelog verbatim; rebuild the tracked dist artifacts with the kit's Vite tooling.
  • Update the kit and lockfile version to 1.35.0 while preserving monorepo-specific v3 packaging metadata.

The copied src/, test/, CHANGELOG.md, and rebuilt dist/ are byte-identical to upstream tag v1.35.0 (1832ad9).

Upstream changes

This range carries these 14 substantive upstream PRs:

  • #112 — capture page title and canonical URL in page-view events
  • #113 — namespace the page-view localStorage key and migrate the legacy key
  • #114 — cap page-view storage by byte budget
  • #115 — allow a full origin in domain for bundled extensions
  • #116 — send the current mParticle session ID to selectPlacements
  • #117 — read the session ID from the public sessionManager facade
  • #118 — stop retrying legacy page-view migration on every load
  • #119 — add page-view capture failure reason codes
  • #120 — verify session ID and token reach createLauncher
  • #121 — send the mParticle device ID to selectPlacements
  • #123 — cap page-view history at 25 records
  • #124 — extract the page-view cap helper and remove dead storage code
  • #126 — retry quota-failed page-view writes and log eviction
  • #129 — capture UTM parameters and forward them to selectPlacements

Package metadata

A field-by-field comparison showed that upstream package.json changes only the version between these tags; there are no dependency deltas in v1.30.2..v1.35.0. This PR therefore:

  • takes upstream version 1.35.0 and keeps the shared package name @mparticle/web-rokt-kit;
  • keeps the monorepo repository URL;
  • keeps @mparticle/web-sdk as a ^3.0.0 peer dependency for the v3 line;
  • keeps the monorepo's ^2.73.1 development dependency used for local build/test resolution;
  • keeps the monorepo publishConfig (access and registry) rather than importing standalone release-only settings;
  • leaves all otherwise-equivalent package fields unchanged.

Superseded monorepo PRs

This fresh full sync supersedes #1307, #1324, and #1327. In particular, #1324's session-ID work is upstream in #116 and its correction #117. This PR does not close those PRs.

Testing

  • Node 24.16.0, npm 11.13.0
  • Rokt matrix CI entry: npm ci && npm run build && npm test
  • Vitest: 4 files passed, 325 tests passed
  • ESLint passed with the standalone kit's upstream Prettier settings
  • Byte parity verified against upstream v1.35.0 for source, tests, changelog, and generated dist

Bring the monorepo kit to the latest standalone release while preserving v3 packaging metadata.
@crisryantan
crisryantan requested a review from a team as a code owner August 24, 2026 17:49
@cursor

cursor Bot commented Aug 24, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Adds client-side behavioral storage and forwards session/device IDs and page history to Rokt placements, which affects targeting and privacy-sensitive data flows in a widely used forwarder.

Overview
Brings kits/rokt in line with upstream v1.35.0 (from v1.30.2): copied source/tests/changelog and rebuilt dist/ at kit version 1.35.0, with monorepo v3 packaging unchanged.

The forwarder now records page views in namespaced localStorage (legacy key migration, 25-record cap, quota retry/eviction, sanitized URLs, title/canonical/active-time fields) and on selectPlacements sends page_events, captured UTM params (page_view_attributes), mparticle_session_id, and mparticle_device_id. noTargeting and session end clear that stored data; logging adds reason codes for capture failures.

Also updates domain / launcher URL handling for full origins and tightens ad-block probe behavior. LoggingService is exported in Rokt-Kit.d.ts.

Reviewed by Cursor Bugbot for commit 0be0138. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 2fa4245. Configure here.

Comment thread kits/rokt/src/Rokt-Kit.ts Outdated
Co-authored-by: Cris Ryan Tan <crisryantan@gmail.com>
@sonarqubecloud

Copy link
Copy Markdown

@crisryantan
crisryantan merged commit a3ec6bd into main Aug 26, 2026
119 of 121 checks passed
jaissica12 pushed a commit that referenced this pull request Aug 27, 2026
* feat: sync Rokt kit with upstream v1.35.0

Bring the monorepo kit to the latest standalone release while preserving v3 packaging metadata.

* fix(rokt): stringify UTM selectPlacements attributes

Co-authored-by: Cris Ryan Tan <crisryantan@gmail.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
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.

3 participants