1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-11-10 01:19:53 +01:00
Commit Graph

19 Commits

Author SHA1 Message Date
Gastón Fournier
abe160eb7d
feat: Unleash v7 ESM migration (#9877)
We're migrating to ESM, which will allow us to import the latest
versions of our dependencies.

Co-Authored-By: Christopher Kolstad <chriswk@getunleash.io>
2025-05-14 09:47:12 +02:00
Jaanus Sellin
d993b1963a
feat: segment implementation in delta (#9148)
This is implementing the segments events for delta API. Previous version
of delta API, we were just sending all of the segments. Now we will have
`segment-updated` and `segment-removed `events coming to SDK.
2025-01-28 13:38:11 +02:00
Jaanus Sellin
280710f22a
feat: delta rework (#9133)
We are changing how the Delta API works, as discussed:

1. We have removed the `updated` and `removed` arrays and now keep
everything in the `events` array.
2. We decided to keep the hydration cache separate from the events array
internally. Since the hydration cache has a special structure and may
contain not just one feature but potentially 1,000 features, it behaved
differently, requiring a lot of special logic to handle it.
3. Implemented `nameprefix` filtering, which we were missing before.


Things still to implement:

1.  Segment hydration and updates to it.
2025-01-22 13:57:42 +02:00
Jaanus Sellin
54d6bd5b86
feat: log warning if there is diff between client/features and delta api (#9047)
Log out the diff and warn if there is gap between old logic and new
delta.
2025-01-02 12:59:33 +02:00
Jaanus Sellin
b701fec75d
feat: store memory footprints to grafana (#9001)
When there is new revision, we will start storing memory footprint for
old client-api and the new delta-api.
We will be sending it as prometheus metrics.

The memory size will only be recalculated if revision changes, which
does not happen very often.
2024-12-19 13:15:30 +02:00
Fredrik Strand Oseberg
39ca516823
feat: add prom metrics (#8980)
This PR adds prometheus metrics that allows us to see whether or not
tags and namePrefix is used at all in our cloud offering.
2024-12-16 10:48:33 +01:00
Jaanus Sellin
eb0699ca03
feat: move delta controller to new path (#8981)
Feature delta is now at api//client/delta
2024-12-16 08:46:15 +02:00
Jaanus Sellin
a257ca4474
feat: deleted feature names should come from event (#8978)
This is still raw and experimental.
We started to pull deleted features from event payload.
Now we put full query towards read model.

Co-Author:  @FredrikOseberg
2024-12-13 14:54:15 +02:00
Jaanus Sellin
59bdfcd84b
feat: first revision of delta api (#8967)
This is not changing existing logic.
We are creating a new endpoint, which is guarded behind a flag.

---------

Co-authored-by: Simon Hornby <liquidwicked64@gmail.com>
Co-authored-by: FredrikOseberg <fredrik.no@gmail.com>
2024-12-12 14:18:11 +02:00
Gastón Fournier
04eaf8d5bd
feat: add variant etag (#8922)
## About the changes
This adds a variant that allows us to control client refreshes in case
of need.
2024-12-05 15:13:11 +01:00
Jaanus Sellin
2fb95339ef
chore: change toggle to flag #3 (#7101) 2024-05-22 09:58:53 +03:00
gitar-bot[bot]
8dbd680326
[Gitar] Cleaning up stale feature flag: stripClientHeadersOn304 with value true (#6868)
<details>
  <summary>Feature Flag Cleanup</summary>

  | Stale Flag |  Value  |
  | ---------- | ------- |
  |   stripClientHeadersOn304   | true |

  </details>

  <details>
  <summary>Trigger</summary>

  https://github.com/Unleash/unleash/issues/6559#issuecomment-2058848984

  </details>

  <details>
  <summary>Bot Commands</summary>

`@gitar-bot cleanup stale_flag=value` will cleanup a stale feature flag.
Replace `stale_flag` with the name of the stale feature flag and `value`
with either `true` or `false`.

  </details>

---------

Co-authored-by: Gitar Bot <noreply@gitar.co>
2024-04-16 13:42:31 +02:00
Christopher Kolstad
53354224fc
chore: Bump biome and configure husky (#6589)
Upgrades biome to 1.6.1, and updates husky pre-commit hook.

Most changes here are making type imports explicit.
2024-03-18 13:58:05 +01:00
Mateusz Kwasniewski
454f44dec5
refactor: Switch client feature toggles to segment read model (#6425) 2024-03-05 11:15:22 +01:00
Nuno Góis
b496990f79
chore: add no unused imports biome rule (#5855)
Adds a Biome rule for "no unused imports", which is something we
sometimes have trouble catching.

We're adding this as a warning for now. It is safely and easily fixable
with `yarn lint:fix`.


![image](https://github.com/Unleash/unleash/assets/14320932/fd84dea8-6b20-4ba5-bfd8-047b9dcf2bff)

![image](https://github.com/Unleash/unleash/assets/14320932/990bb0b0-760a-4c5e-8136-d957e902bf0b)
2024-01-11 12:44:05 +00:00
Ivar Conradi Østhus
b6f1929efb
Poc/strip client headers on 304 (#5574)
To reduce traffic returned on 304.
2023-12-08 12:14:37 +01:00
Christopher Kolstad
c179c8ad5e
chore(update): Updates biome config to 1.3 format (#5421)
Does what it says on the tin, update to 1.3.x format for biome config
2023-11-27 13:42:58 +01:00
Fredrik Strand Oseberg
fa85e10eac
refactor: remove separate admin api feature flag (#5228)
This PR will remove the feature flag to separate the admin and client
api
2023-11-08 12:24:11 +01:00
Fredrik Strand Oseberg
f34d187cd9
Refactor/separate client and admin store (#5006)
This PR is the first step in separating the client and admin stores.
Currently our feature toggle services uses the client store to serve
multiple purposes. 

Admin API uses the feature toggle service to serve both the feature
toggle list and playground features, while the client API uses the
feature toggle service to serve client features. The admin API can
change often and have very different requirements than the client API,
which changes infrequently and generally keeps the same stable structure
for long periods of time. This architecture is error prone, because when
you need to make changes to the admin API, you can very easily affect
the client API.

I aim to put up a stone wall between the two APIs. Complete separation
between the two APIs, at the cost of some duplication.

In this PR I have created a feature oriented architecture for client
features and disconnected the client API from the feature toggle
service. It now goes through it's own service to it's own store. For
feature toggle service I have duplicated and replaced the functionality
that serves /api/admin/features, I have kept a lot of the ugliness in
the code and haven't removed anything in order to avoid breaking
changes.

Next steps: 
* Move playground to admin API
* Remove client-feature-toggle-store from feature-toggle-service
2023-10-12 13:58:23 +02:00