• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Unleash / unleash / 23802564289
87%
master: 91%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 31 Mar 2026 02:35PM UTC
Jobs 1
Files 1172
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

31 Mar 2026 02:26PM UTC coverage: 87.09% (+0.3%) from 86.782%
23802564289

push

github

web-flow
fix: do not propagate unrelated changes to other envs (#11660)

## About the changes
This fixes a bug in delta / streaming propagation where a feature change
in one environment could produce a `feature-updated` event in other
connected environments, even when those environments had no in-scope
change.

The issue was in `ClientFeatureToggleDelta.updateFeaturesDelta()`. It
built one global set of changed feature names for the revision window
and then, for every connected environment, reloaded those feature names
in that environment and emitted `feature-updated` events.

That meant a change in `production` could cause a client streaming
`development` to receive:
- a new `eventId`
- a `feature-updated` payload containing the current `development` state
- no actual change for the subscribed environment

So, from the client's point of view, this looked like a no-op update
with a bumped revision.

This PR narrows feature refreshes by environment before reloading
toggles:
- environment-specific events only refresh the matching connected
environment
- environment-agnostic events still apply to all environments
- segment and removal behavior stay unchanged

I also added a regression test covering the case where a production-only
feature update must not emit a synthetic development delta event.

## Discussion points
This is intentionally the smaller correctness fix.

A possible follow-up would be to precompute affected environments and
skip unaffected delta caches entirely, but that is not required to fix
the incorrect payload propagation described above.

1820 of 2012 branches covered (90.46%)

29 of 33 new or added lines in 1 file covered. (87.88%)

2 existing lines in 2 files now uncovered.

14963 of 17181 relevant lines covered (87.09%)

888.91 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
4
92.65
38.74% src/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.ts

Uncovered Existing Lines

Lines Coverage ∆ File
1
92.65
38.74% src/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.ts
1
83.64
0.91% src/lib/features/playground/feature-evaluator/constraint.ts
Jobs
ID Job ID Ran Files Coverage
1 23802564289.1 31 Mar 2026 02:35PM UTC 1172
87.09
GitHub Action Run
Source Files on build 23802564289
  • Tree
  • List 1172
  • Changed 4
  • Source Changed 1
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #23802564289
  • 9231fa96 on github
  • Prev Build on main (#23797302462)
  • Next Build on main (#23848857229)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc