Skip to content

fix(rum): keep remote settings across app upgrades - #32

Merged
Fiona2016 merged 1 commit into
publishfrom
fix/remote-config-key-without-app-version
Oct 17, 2026
Merged

Fiona2016 merged 1 commit into
publishfrom
fix/remote-config-key-without-app-version

Conversation

@Fiona2016

@Fiona2016 Fiona2016 commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

The stored remote configuration was matched on [proxy ?? site, applicationId, env, version], with version being the application's own version. Every app upgrade therefore discarded it. The first session after an upgrade was drawn on the init values and reported no rcVersion.

Change

  • The application version is dropped from the identity. An installed app runs one version at a time, so the previous release's settings are the better answer until the new fetch is stored.
  • This matches the iOS SDK.
  • app_version is still sent on each request.
  • Files written by earlier builds carry the old four-part identity and no longer match, so the first launch after this SDK upgrade discards the cache once and rewrites it.
  • The README sentence about cache scope is updated.

Verification

  • vitest run --coverage: 40 files, 1033 tests passed.
  • yarn typecheck is clean.
  • prettier --check src README.md is clean.
  • eslint on the changed files is clean.
  • New and updated tests:
    • a file written under another app version is applied, and app_version and applied_version are still sent;
    • the identity is the same whatever the app version;
    • an old-format file is ignored once.
  • Negative control: with config.version back in the identity, the remote configuration spec fails.

The stored remote configuration was keyed on the application version
as well as the intake, application id and env, so every app upgrade
discarded it. The first session after an upgrade was then drawn on the
init values and reported no rcVersion, even though the previous
release's settings are the better answer until the new fetch lands.

Drop the application version from the identity. An installed app runs
one version at a time and the console offers no per-version targeting.
The version is still sent as app_version on each request.

Files written by earlier builds carry the old four-part identity and no
longer match, so the first launch after this SDK upgrade discards the
cache once and then rewrites it under the new identity.
@Fiona2016
Fiona2016 merged commit 66e2687 into publish Oct 17, 2026
3 checks passed
@Fiona2016 Fiona2016 mentioned this pull request Oct 17, 2026
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