Skip to content

💥 Remove remoteConfigurationId from RUM SDK (breaking change, v7)#4244

Draft
mormubis wants to merge 8 commits into
adlrb/ssi-e2efrom
adlrb/ssi-breaking
Draft

💥 Remove remoteConfigurationId from RUM SDK (breaking change, v7)#4244
mormubis wants to merge 8 commits into
adlrb/ssi-e2efrom
adlrb/ssi-breaking

Conversation

@mormubis
Copy link
Copy Markdown
Contributor

Stacked PR 5/5 — base: adlrb/ssi-e2e | stack top: adlrb/ssi-breaking

Stack: PR1 #4238 → PR2 #4239 → PR3 #4241 → PR4 #4242PR5 (this PR)

Motivation

As part of the SSI (Single-Step Instrumentation) Phase 6 initiative, the remoteConfigurationId field and the entire remote-configuration integration that was previously embedded in rum-core is being removed. Remote configuration is now handled by the standalone @datadog/browser-remote-config package (PR2) consumed by the new @datadog/browser-sdk-endpoint package (PR3), which acts as the SSI entry point.

This is a v7 breaking change: any customer who configured remoteConfigurationId must migrate to the new endpoint-based approach.

Changes

  • Removes remoteConfigurationId from RumInitConfiguration and all runtime code in rum-core
  • Deletes packages/rum-core/src/domain/configuration/remoteConfiguration.ts and its specs
  • Deletes packages/rum-core/src/domain/configuration/jsonPathParser.spec.ts (moved to @datadog/browser-remote-config)
  • Updates preStartRum.ts, configuration.ts, eventTracker.ts, and their index exports to remove all references to remote configuration
  • Existing unit tests updated to remove remote-configuration test cases

Test instructions

yarn test:unit --spec packages/rum-core/src/boot/preStartRum.spec.ts
yarn test:unit --spec packages/rum-core/src/domain/configuration/configuration.spec.ts
yarn test:unit --spec packages/rum-core/src/domain/eventTracker.spec.ts
yarn typecheck

Checklist

  • Tested locally
  • Tested on staging
  • Added unit tests for this change.
  • Added e2e/integration tests for this change.
  • Updated documentation and/or relevant AGENTS.md file

@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da Bot commented Mar 3, 2026

Bundles Sizes Evolution

📦 Bundle Name Base Size Local Size 𝚫 𝚫% Status
Rum N/A 167.53 KiB N/A N/A N/A
Rum Profiler 4.71 KiB 4.71 KiB 0 B 0.00%
Rum Recorder N/A 24.88 KiB N/A N/A N/A
Logs N/A 56.30 KiB N/A N/A N/A
Flagging N/A 944 B N/A N/A N/A
Rum Slim N/A 123.41 KiB N/A N/A N/A
Worker N/A 23.63 KiB N/A N/A N/A
🚀 CPU Performance
Action Name Base CPU Time (ms) Local CPU Time (ms) 𝚫%
RUM - add global context 0.0043 0.0044 +2.33%
RUM - add action 0.0161 0.0146 -9.32%
RUM - add error 0.0166 0.0143 -13.86%
RUM - add timing 0.0035 0.0029 -17.14%
RUM - start view 0.0139 0.0138 -0.72%
RUM - start/stop session replay recording 0.0008 0.0009 +12.50%
Logs - log message 0.0158 0.0178 +12.66%
🧠 Memory Performance
Action Name Base Memory Consumption Local Memory Consumption 𝚫
RUM - add global context 26.91 KiB 26.52 KiB -400 B
RUM - add action 115.48 KiB 50.32 KiB -65.16 KiB
RUM - add timing 26.14 KiB 26.51 KiB +383 B
RUM - add error 114.29 KiB 54.85 KiB -59.44 KiB
RUM - start/stop session replay recording 26.51 KiB 25.71 KiB -819 B
RUM - start view 509.40 KiB 451.61 KiB -57.79 KiB
Logs - log message 44.40 KiB 44.84 KiB +460 B

🔗 RealWorld

@datadog-datadog-prod-us1
Copy link
Copy Markdown

datadog-datadog-prod-us1 Bot commented Mar 3, 2026

Pipelines  Tests

Fix all issues with BitsAI

⚠️ Warnings

🚦 14 Pipeline jobs failed

DataDog/browser-sdk | unit   View in Datadog   GitLab

🔄 Retry job. This looks flaky and may succeed on retry. Module build failed: UnhandledSchemeError: Reading from 'node:assert', 'node:test', and 'node:vm' is not handled by plugins. An additional plugin is needed to handle 'node:' URIs.

🧪 20 Tests failed

preStartRum buffers API calls before starting RUM addAction from Chrome Headless 148.0.0.0 (Linux 0.0.0)   View in Datadog (Fix with Cursor)
ReferenceError: bufferContextCalls is not defined
    at createPreStartStrategy (/tmp/_karma_webpack_828136/commons.js:152255:3)
    at createPreStartStrategyWithDefaults (/go/src/github.com/DataDog/browser-sdk/packages/rum-core/src/boot/preStartRum.spec.ts:971:37 <- /tmp/_karma_webpack_828136/commons.js:389928:88)
    at UserContext.<anonymous> (/go/src/github.com/DataDog/browser-sdk/packages/rum-core/src/boot/preStartRum.spec.ts:532:39 <- /tmp/_karma_webpack_828136/commons.js:389603:44)
    at <Jasmine>
preStartRum buffers API calls before starting RUM addDurationVital from Chrome Headless 148.0.0.0 (Linux 0.0.0)   View in Datadog (Fix with Cursor)
ReferenceError: bufferContextCalls is not defined
    at createPreStartStrategy (/tmp/_karma_webpack_828136/commons.js:152255:3)
    at createPreStartStrategyWithDefaults (/go/src/github.com/DataDog/browser-sdk/packages/rum-core/src/boot/preStartRum.spec.ts:971:37 <- /tmp/_karma_webpack_828136/commons.js:389928:88)
    at UserContext.<anonymous> (/go/src/github.com/DataDog/browser-sdk/packages/rum-core/src/boot/preStartRum.spec.ts:532:39 <- /tmp/_karma_webpack_828136/commons.js:389603:44)
    at <Jasmine>
View all 20 test failures

DataDog/browser-sdk | build-and-lint   View in Datadog   GitLab

🔧 Fix in code (Fix with Cursor). Compilation error: Cannot find name 'bufferContextCalls' in multiple locations and missing module './remoteConfiguration'.

DataDog/browser-sdk | build-bundle   View in Datadog   GitLab

🔧 Fix in code (Fix with Cursor). Compilation error in configuration.ts:26:42: TS2307: Cannot find module './remoteConfiguration' or its corresponding type declarations.

View all 14 failed jobs.

ℹ️ Info

No other issues found (see more)

❄️ No new flaky tests detected

🎯 Code Coverage (details)
Patch Coverage: 50.00%
Overall Coverage: 74.93% (-1.78%)

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 276fd8e | Docs | Datadog PR Page | Give us feedback!

@mormubis mormubis force-pushed the adlrb/ssi-breaking branch 2 times, most recently from 4ee5c5d to cd2cd74 Compare May 29, 2026 12:14
@mormubis mormubis force-pushed the adlrb/ssi-breaking branch from cd2cd74 to 9c0677f Compare May 29, 2026 12:36
@mormubis mormubis force-pushed the adlrb/ssi-breaking branch from 9c0677f to 4b123a9 Compare June 1, 2026 15:08
mormubis added 8 commits June 1, 2026 17:20
BREAKING CHANGE: remoteConfigurationId and remoteConfigurationProxy are
removed from datadogRum.init() options.

Migration guide:
  // Before (v6)
  datadogRum.init({ remoteConfigurationId: 'xxx', ...options })

  // After (v7)
  import { fetchRemoteConfiguration } from '@datadog/browser-remote-config'
  const result = await fetchRemoteConfiguration({ applicationId, configId, site })
  if (result.ok) {
    datadogRum.init({ ...result.value.rum })
  }

The remote configuration logic now lives in @datadog/browser-remote-config,
giving customers more control: parallel fetching, custom caching, error handling.
…rdering

- Export CONTEXT_RESOLUTION_HELPERS from endpoint package index so tests can import it
- Replace inline helper copies in E2E setup factories with the canonical CONTEXT_RESOLUTION_HELPERS string (cookie-name regex-escaping, extractor support, DOM password guard)
- Fix globalContext test context collision: re-apply test isolation properties via setGlobalContextProperty after init instead of setGlobalContext before init
- Fix dynamic cookie test: pre-set cookie via preSDKScript before SDK loads (no second navigation needed)
- Consolidate two setup factories into shared createEmbeddedConfigSetup with optional preSDKScript
…scenario imports

Playwright prohibits importing between test scenario files. Move the shared
setup factory to test/e2e/lib/helpers/embeddedConfigSetup.ts so both
embeddedConfig and embeddedConfigDynamic scenarios can import it cleanly.
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