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

787 Commits

Author SHA1 Message Date
Mateusz Kwasniewski
d24bcff404
feat: remove inactive applications (#9835) 2025-04-24 15:17:47 +02:00
Mateusz Kwasniewski
9911fe89be
feat: lifecycle count query (#9824) 2025-04-24 09:36:06 +02:00
Mateusz Kwasniewski
67d59d6141
chore: aggregate daily metrics query time instrumentation (#9764) 2025-04-15 14:52:03 +02:00
Mateusz Kwasniewski
0efa2585fe
fix: improve status job performance (#9755) 2025-04-15 09:33:13 +02:00
Mateusz Kwasniewski
ff3c17ffa7
refactor: extract flags overview sql builders (#9751) 2025-04-14 10:56:28 +02:00
Mateusz Kwasniewski
b2471633b4
refactor: move release plan stores to OSS (#9747) 2025-04-11 11:37:06 +02:00
Mateusz Kwasniewski
8f117ac18e
feat: add milestones to search results (#9739) 2025-04-10 10:25:39 +02:00
Mateusz Kwasniewski
e876e6438d
feat: total count respect lifecycle filter (#9724) 2025-04-09 08:54:19 +02:00
Nuno Góis
1078dd1c41
fix: return bad data error when failing to patch env variants (#9708)
https://linear.app/unleash/issue/2-3483/variants-endpoint-should-return-400-or-other-more-appropriate-status

Throws BadDataError (returns 400) instead of 500 by wrapping the patch
logic with a try catch.

Added a test that validates the new behavior.
2025-04-08 09:32:40 +01:00
Mateusz Kwasniewski
588e35e759
feat: search by lifecycle stage (#9705) 2025-04-07 14:00:01 +02:00
Mateusz Kwasniewski
4130e06d17
feat: flag overview change requests (#9702) 2025-04-04 14:20:42 +02:00
Gastón Fournier
ef1b6ec227
chore: decrease ui observability to warn (#9658)
These errors are not acted upon and is not something we can act on.
Reducing it's level to WARN following
https://github.com/Unleash/unleash/blob/main/website/docs/contributing/ADRs/overarching/logging-levels.md
2025-03-31 16:02:28 +02:00
Mateusz Kwasniewski
3ced6a3780
refactor: environments in feature directory (#9650) 2025-03-31 13:58:37 +02:00
Mateusz Kwasniewski
9de0e7435b
feat: enforce env change request on project create (#9646) 2025-03-31 09:29:20 +02:00
Mateusz Kwasniewski
1bd328f4e1
feat: create and edit environment required approvals (#9621) 2025-03-26 15:54:46 +01:00
Fredrik Strand Oseberg
832b651f5b
fix: flaky test once an hour (#9615)
This test was flaky once an hour because subminutes 3 made it fall into
the wrong bucket when tests were run exactly or minutes after the our
had passed.

Also, the databases created were created with the system clock. I
altered it to be explicitly UTC.
2025-03-25 22:25:32 +01:00
Mateusz Kwasniewski
4677b28aee
feat: persist env required approvals (#9616) 2025-03-25 16:04:14 +01:00
Fredrik Strand Oseberg
7d7a949093
feat: backend for retrieving tag colors (#9610)
Add backend for retrieving tag colors
2025-03-25 14:45:44 +01:00
Jaanus Sellin
34abb2669e
fix: now hydration event will have segments inside (#9597) 2025-03-24 13:26:48 +02:00
Fredrik Strand Oseberg
d437fc7bdd
fix: s is possibly null (#9578)
Fixes an issue where s was possibly null and Unleash would not build
after turning on strictNullChecks.
2025-03-19 09:50:54 +00:00
Christopher Kolstad
efcf04487d
chore: make it build with strict null checks set to true (#9554)
As part of preparation for ESM and node/TSC updates, this PR will make
Unleash build with strictNullChecks set to true, since that's what's in
our tsconfig file. Hence, this PR also removes the `--strictNullChecks
false` flag in our compile tasks in package.json.

TL;DR - Clean up your code rather than turning off compiler security
features :)
2025-03-19 10:01:49 +01:00
Fredrik Strand Oseberg
a65c8baf56
Feat/tag type colors backend (#9565)
Adds backend color support for tag types
2025-03-18 15:27:41 +01:00
Gastón Fournier
4ffd3e7116
chore: stop using feature service v2 (#9500)
Just replacing references as both are interchangeable


143c8a3074/src/lib/types/services.ts (L81-L82)

Depends on
https://github.com/bricks-software/unleash-enterprise/pull/138
2025-03-12 11:44:47 +01:00
Nuno Góis
6b888abe10
chore: remove project at least one owner constraint (#9517)
https://linear.app/unleash/issue/2-3393/remove-project-at-least-one-owner-constraint

Removes our constraint that the project must have at least one owner.
2025-03-12 10:37:20 +00:00
Nuno Góis
242b0de592
chore: show events IP (#9512)
https://linear.app/unleash/issue/2-3392/visualize-event-log-ip-address-on-unleash-enterprise-ui

Shows events IP for Unleash Enterprise.


![image](https://github.com/user-attachments/assets/3ffbc69b-6dce-4c16-9d3d-77a404623d96)
2025-03-12 10:06:29 +00:00
Gastón Fournier
d1d1a740f3
chore: remove deprecated method from project-service (#9498)
Depends on
https://github.com/bricks-software/unleash-enterprise/pull/137

This method has been deprecated and has an alternative. Migrating to
that alternative
2025-03-12 11:03:31 +01:00
Gastón Fournier
111a676093
chore: remove deprecated getAdmin from client features store (#9497)
This method has been deprecated 2 years ago and is not used
2025-03-11 12:04:25 +01:00
Thomas Heartman
8629cda4d7
chore: remove dataUsageMultiMonthView flag (#9429)
Remove data usage multi month view flag and deprecated components and
functions.
2025-03-05 12:08:33 +01:00
Simon Hornby
e7ac42080d
feat: project environments include visible property (#9427) 2025-03-05 10:09:25 +02:00
Simon Hornby
f3ede7681f
chore: flip UI and backend validation for project env disabling (#9395) 2025-03-03 17:13:41 +02:00
David Leek
836c920154
fix: get all strategies and check if env to be disabled (#9357) 2025-02-28 11:03:28 +01:00
Jaanus Sellin
9ae9221960
feat: now instances are only shown for last 24 hours (#9372) 2025-02-27 09:19:48 +02:00
Gastón Fournier
3f373665ed
feat: ignore events in log when nothing has changed (#9364)
## About the changes
Some automation may keep some data up-to-date (e.g. segments). These
updates sometimes don't generate changes but we're still storing these
events in the event log and triggering reactions to those events.


Arguably, this could be done in each service domain logic, but it seems
to be a pretty straightforward solution: if preData and data are
provided, it means some change happened. Other events that don't have
preData or don't have data are treated as before.

Tests were added to validate we don't break other events.
2025-02-26 09:15:01 +01:00
Nuno Góis
a91876790e
chore: deprecate and undeprecate protected environments (#9360)
https://linear.app/unleash/issue/2-3320/allow-users-to-deprecate-and-undeprecate-protected-environments

Allows users to deprecate and undeprecate protected environments.


![image](https://github.com/user-attachments/assets/621684d3-21e3-4f58-b6b5-2d2731c9fd9e)
2025-02-25 13:41:41 +00:00
Jaanus Sellin
55eb73cf08
feat: now project moving is split into two events (#9358)
When project is moved, then Unleash creates only one event, which is for
target project.
We also need one for source project, to know that project was moved out
of it.

Test will be in enterprise repo.
2025-02-25 12:45:24 +02:00
Jaanus Sellin
4630068b0a
feat: add tests for filterEventsByQuery (#9338) 2025-02-20 14:52:01 +02:00
Ivar Conradi Østhus
7811e4e264
fix: use bucket stop as timestamp for metrics bucket (#9327)
This fixes a problem where the yggdrasil-engine does not send the
correct value for bucket.start. In practice clients sends metrics every
60s and it does not matter if we use start or the stop timestamp to
resolve the nearest full hour.
2025-02-19 10:38:11 +02:00
Jaanus Sellin
ca562c548d
feat: project field to feature removed event (#9322)
Start sending out project for feature deleted, as we need it for edge to
keep exact copy.
2025-02-19 09:37:10 +02:00
Ivar Conradi Østhus
3f730bb7f3
fix: add a metric to track client registrations (#9314)
Adding a counter to track every time a client registers with Unleash.
2025-02-17 09:01:19 +01:00
Jaanus Sellin
4a72580b24
fix: return undefined from delta if no events (#9311)
Nameprefix can remove events from result, so we should send 304 in that
case.
2025-02-14 12:28:43 +02:00
Fredrik Strand Oseberg
fa43420ab9
fix: mutating delta events (#9303)
Fix a bug where delta events would be mutated due to Object.assign.
2025-02-14 10:30:14 +02:00
Jaanus Sellin
aa15fbee9a
fix: hydration event should update with every event (#9310)
We were not updating hydration event id. This fixes it.
2025-02-14 09:35:08 +02:00
Nuno Góis
151db95c2d
feat: frontend API POST endpoint (#9291)
https://linear.app/unleash/issue/2-3260/implement-post-request-support-in-unleashs-frontend-api

Implements the POST endpoint in Unleash's frontend API.
2025-02-12 11:56:51 +00:00
Gastón Fournier
5e9698fe63
chore: Create test db from template (#9265)
## About the changes
Based on the first hypothesis from
https://github.com/Unleash/unleash/pull/9264, I decided to find an
alternative way of initializing the DB, mainly trying to run migrations
only once and removing that from the actual test run.

I found in [Postgres template
databases](https://www.postgresql.org/docs/current/manage-ag-templatedbs.html)
an interesting option in combination with jest global initializer.

### Changes on how we use DBs for testing

Previously, we were relying on a single DB with multiple schemas to
isolate tests, but each schema was empty and required migrations or
custom DB initialization scripts.

With this method, we don't need to use different schema names
(apparently there's no templating for schemas), and we can use new
databases. We can also eliminate custom initialization code.

### Legacy tests

This method also highlighted some wrong assumptions in existing tests.
One example is the existence of `default` environment, that because of
being deprecated is no longer available, but because tests are creating
the expected db state manually, they were not updated to match the
existing db state.

To keep tests running green, I've added a configuration to use the
`legacy` test setup (24 tests). By migrating these, we'll speed up
tests, but the code of these tests has to be modified, so I leave this
for another PR.

## Downsides
1. The template db initialization happens at the beginning of any test,
so local development may suffer from slower unit tests. As a workaround
we could define an environment variable to disable the db migration
2. Proliferation of test dbs. In ephemeral environments, this is not a
problem, but for local development we should clean up from time to time.
There's the possibility of cleaning up test dbs using the db name as a
pattern:
2ed2e1c274/scripts/jest-setup.ts (L13-L18)
but I didn't want to add this code yet. Opinions?

## Benefits
1. It allows us migrate only once and still get the benefits of having a
well known state for tests.
3. It removes some of the custom setup for tests (which in some cases
ends up testing something not realistic)
4. It removes the need of testing migrations:
https://github.com/Unleash/unleash/blob/main/src/test/e2e/migrator.e2e.test.ts
as migrations are run at the start
5. Forces us to keep old tests up to date when we modify our database
2025-02-11 13:01:43 +01:00
Ivar Conradi Østhus
ac1d8b9b70
fix: change log-level to info for filterExistingFlagNames 2025-02-09 22:50:04 +01:00
Ivar Conradi Østhus
d1b9ca00a0
fix: Killwitch to block usage-metrics from non-exiting flag-names (#9266)
Adds a killswitch called "filterExistingFlagNames". When enabled it will
filter out reported SDK metrics and remove all reported metrics for
names that does not match an exiting feature flag in Unleash.

This have proven critical in the rare case of an SDK that start sending
random flag-names back to unleash, and thus filling up the database. At
some point the database will start slowing down due to the noisy data.

In order to not resolve the flagNames all the time we have added a small
cache (10s) for feature flag names. This gives a small delay (10s) from
flag is created until we start allow metrics for the flag when
kill-switch is enabled. We should probably listen to the event-stream
and use that invalidate the cache when a flag is created.
2025-02-09 22:45:44 +01:00
Fredrik Strand Oseberg
af516537bd
fix: return if empty array (#9254)
Fixes an issue where segment-updated event would be added to cache even
though there were no correlated events. Tests needs to be added in
Enterprise.
2025-02-07 14:39:43 +01:00
Jaanus Sellin
43e418e40a
feat: emit delta updated event (#9250)
Start emitting delta updated event and make delta cache service
singleton.
2025-02-07 10:52:11 +02:00
Mateusz Kwasniewski
a11c965bec
feat: productivity report unsubscribed users (#9220) 2025-02-05 11:28:01 +01:00
Mateusz Kwasniewski
ebcbd7b637
feat: productivity report only for seen users (#9204) 2025-02-05 10:05:35 +01:00