1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-11-10 01:19:53 +01:00
unleash.unleash/src/test
Gastón Fournier 7ea0c9ca9b
feat: support different etags per environment (#10512)
## About the changes
This PR introduces environment-specific etags. This way clients will not
react by updating features when there are changes in environments the
SDK doesn't care about.

## Details
There's a bit of scouting work (please don't make me split this 🙏)
and other details are in comments, but the most relevant for the lazy
ones:
- Important **decision** on how we detect changes, unifying polling and
delta:
https://github.com/Unleash/unleash/pull/10512#discussion_r2285677129
- **Decision** on how we update revision id per environment:
https://github.com/Unleash/unleash/pull/10512#discussion_r2291888401
- and how we do initial fetch on the read path:
https://github.com/Unleash/unleash/pull/10512#discussion_r2291884777
- The singleton pattern that gave me **nightmares**:
https://github.com/Unleash/unleash/pull/10512#discussion_r2291848934
- **Do we still have ALL_ENVS tokens?**
https://github.com/Unleash/unleash/pull/10512#discussion_r2291913249

## Feature flag
To control the rollout introduced `etagByEnv` feature:
[0da567d](0da567dd9b)
2025-08-22 10:35:17 -03:00
..
config feat: Unleash v7 ESM migration (#9877) 2025-05-14 09:47:12 +02:00
e2e feat: support different etags per environment (#10512) 2025-08-22 10:35:17 -03:00
examples chore: rename toggle to flag #final (#7146) 2024-05-24 15:07:01 +03:00
fixtures fix(1-3928): prevent overwriting existing values in instance store (#10360) 2025-07-16 12:10:15 +00:00
arbitraries.test.ts chore!: removing userId strategy for new installations of Unleash (#9800) 2025-06-04 09:30:13 +02:00
errorWithMessage.ts task: migrate tests to vitest 2025-05-16 11:19:10 +02:00
vitest.d.ts task: migrate tests to vitest 2025-05-16 11:19:10 +02:00