Skip to content
FIRERUN.

The BaaS & deploy-platform newsroom for builders

Subscribe

Firebase

Firebase Remote Config on Web Now Tracks Rollout Changes Live

The JS SDK's realtime listener used to miss rollout updates that didn't touch a parameter's value. A July 9 release closes that gap for good.

Abstract flat-vector editorial illustration for "Firebase Remote Config on Web Now Tracks Rollout Changes Live"

Firebase’s web SDK shipped a fix on July 9 that closes a quiet gap in Remote Config: the realtime onConfigUpdate listener wasn’t always firing when a rollout changed, if the rollout change didn’t also change a parameter’s visible value. firebase@12.16.0 bundles @firebase/remote-config@0.9.0, whose changelog entry reads simply: “Support realtime for Remote Config rollouts.”


What was actually broken

Remote Config rollouts let a team ship a parameter to a percentage of users and expand it gradually, the mechanism behind staged feature releases and web A/B tests. Web’s realtime Remote Config, introduced in 2023, pushes onConfigUpdate events to connected clients the moment a template changes, instead of waiting for the next poll.

The problem: that realtime comparison was keyed to parameter values. A rollout can change which variant a given user is bucketed into, or shift which parameter keys it affects, without changing the value a client already holds. The old RealtimeHandler logic had nothing to detect that kind of change, so the listener could stay silent through a live rollout update. Android and iOS didn’t have this gap — their SDKs already compared rollout metadata, not just values.

Pull request #10106, merged June 25, adds a FirebaseRolloutMetadata interface (rolloutId, variantId, affectedParameterKeys) to the SDK’s fetch response, and rewrites RealtimeHandler to deep-compare rollout state on every update, not just parameter values. The PR description frames it as bringing the web SDK to “functional parity” with Android and iOS.


Why it matters

If your app relies on onConfigUpdate to react to Remote Config changes instantly (swapping a feature flag, adjusting a UI variant), you were trusting an event that could silently skip a rollout-only change. Before this release, the workaround was polling: calling fetchAndActivate() on an interval instead of leaning on the realtime connection, which defeats the point of using it. That gap wasn’t documented as a known limitation; it just wasn’t handled by comparison logic that only looked at values.

Key Takeaways

  • firebase@12.16.0 and @firebase/remote-config@0.9.0, released July 9, add rollout-aware comparisons to the web SDK’s realtime onConfigUpdate listener.
  • Before this release, a rollout change that didn’t alter a parameter’s value could go undetected by realtime listeners on web, even though Android and iOS already caught it.
  • The fix ships as FirebaseRolloutMetadata (rollout ID, variant ID, affected parameter keys) added to fetch responses, per PR #10106.
  • No API changes are required to benefit — existing onConfigUpdate listeners pick up rollout-only changes automatically once you’re on 12.16.0 or later.

What to do

Update to firebase@12.16.0 or later if you use realtime Remote Config on web and run rollouts. If you built a polling workaround to catch rollout changes your realtime listener was missing, it’s now safe to drop — the listener catches those changes on its own. There’s nothing to opt into; the fix lives entirely in the SDK’s internal comparison logic.

Stay in the loop

Get new articles in your inbox

We'll only email you when a new article drops. Unsubscribe anytime.