1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-07-21 13:47:39 +02:00
Commit Graph

2789 Commits

Author SHA1 Message Date
Nuno Góis
eb238f502a
chore: unknown flags (#9837)
https://linear.app/unleash/issue/2-3406/hold-unknown-flags-in-memory-and-show-them-in-the-ui-somehow

This PR introduces a suggestion for a “unknown flags” feature.

When clients report metrics for flags that don’t exist in Unleash (e.g.
due to typos), we now track a limited set of these unknown flag names
along with the appnames that reported them. The goal is to help users
identify and clean up incorrect flag usage across their apps.

We store up to 10 unknown flag + appName combinations, keeping only the
most recent reports. Data is collected in-memory and flushed
periodically to the DB, with deduplication and merging to ensure we
don’t exceed the cap even across pods.

We were especially careful to make this implementation defensive, as
unknown flags could be reported in very high volumes. Writes are
batched, deduplicated, and hard-capped to avoid DB pressure.

No UI has been added yet — this is backend-only for now and intended as
a step toward better visibility into client misconfigurations.

I would suggest starting with a simple banner that opens a dialog
showing the list of unknown flags and which apps reported them.

<img width="497" alt="image"
src="https://github.com/user-attachments/assets/b7348e0d-0163-4be4-a7f8-c072e8464331"
/>
2025-05-07 11:48:36 +01:00
Mateusz Kwasniewski
2b73b17579
feat: feature links section (#9915) 2025-05-07 11:35:41 +02:00
Mateusz Kwasniewski
20a80142d3
feat: normalize urls in feature links (#9911) 2025-05-06 19:08:04 +02:00
David Leek
681079bd08
chore: clean up adminNavUI flag (#9907) 2025-05-06 14:59:07 +02:00
Mateusz Kwasniewski
b9f1d8414c
feat: add links to feature read model (#9905) 2025-05-06 14:57:52 +02:00
Mateusz Kwasniewski
c6ab2a1cf7
feat: sql feature link persistence (#9901) 2025-05-06 11:46:15 +02:00
Mateusz Kwasniewski
bb82b6920b
feat: feature link migration (#9900) 2025-05-06 11:21:20 +02:00
Tymoteusz Czech
af93f93836
refactor: remove flagOverviewRedesign flag (#9888)
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2025-05-06 10:25:57 +02:00
Mateusz Kwasniewski
4860d73bf7
chore: feature links flag (#9896) 2025-05-06 09:46:18 +02:00
Mateusz Kwasniewski
002233e7f6
feat: feature link backend stub (#9893) 2025-05-06 09:31:45 +02:00
David Leek
1166d00e6d
chore: flag cleanup simplifyDisableFeature (#9892) 2025-05-06 08:41:03 +02:00
Melinda Fekete
7ca79c1b84
docs: update self-hosting guide (#9855) 2025-05-05 15:57:17 +02:00
Mateusz Kwasniewski
1b9c0e5000
feat: bulk apps should respect multi projects and multi envs (#9879) 2025-05-02 10:12:41 +02:00
Mateusz Kwasniewski
b0223e38ef
refactor: stabilize frontend apps reporting (#9880) 2025-05-01 15:43:03 +02:00
Mateusz Kwasniewski
3ef32dca93
feat: handle nullable sdk type (#9872) 2025-04-30 12:36:18 +02:00
Mateusz Kwasniewski
9e4c3a388f
feat: allow nullable client ip for frontend apps (#9867) 2025-04-30 10:03:16 +02:00
Mateusz Kwasniewski
58a01d0c47
feat: separate frontend and backend applications from edge (#9863) 2025-04-29 15:42:47 +02:00
Mateusz Kwasniewski
3980cfa2a8
feat: show backend and frontend sdks separately (#9857) 2025-04-29 10:36:02 +02:00
Mateusz Kwasniewski
1ccc6cae19
feat: Spike frontend applications registration (#9846) 2025-04-28 09:01:07 +02:00
Mateusz Kwasniewski
bd78a75177
chore: remove flag for global change request config (#9840) 2025-04-25 12:47:18 +02:00
Mateusz Kwasniewski
085c62c99a
feat: client instances sdk type (#9844) 2025-04-25 12:20:48 +02:00
David Leek
776594a1b0
chore: remove an old test for old migration that we now know works (#9841) 2025-04-25 08:31:15 +00:00
Mateusz Kwasniewski
d9765269b2
feat: remove old instances based on last seen not created at (#9833) 2025-04-24 16:33:12 +02:00
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
Gastón Fournier
0a752fbf47
feat: local dev should honor our schemas (#9799)
Spotted this in local dev mode:
```
[2025-04-17T15:10:21.036] [DEBUG] openapi-service.ts - Invalid response: {
    "schema": "#/components/schemas/environmentsProjectSchema",
    "errors": [
        {
            "instancePath": "/environments/0",
            "schemaPath": "#/additionalProperties",
            "keyword": "additionalProperties",
            "params": {
                "additionalProperty": "requiredApprovals"
            },
            "message": "must NOT have additional properties"
        }
    ]
}
```
Enabling strictSchemaValidation in dev mode should help prevent these
issues from going out to prod as developers would identify them while
testing locally
2025-04-23 09:58:39 +02:00
Mateusz Kwasniewski
da05c7be5c
chore: remove disable notifications UI (#9814) 2025-04-22 15:03:15 +02:00
Gastón Fournier
a88e781391
feat: run cypress against current branch (#9793)
## About the changes
Currently, we're running against the older version of our UI. When
making changes to it we want to make sure we're testing the current code

**Details in comments**

---------

Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
2025-04-22 11:58:22 +02:00
Gastón Fournier
331de07e39
fix: double token initialization (#9783)
## About the changes
Initially at Unleash we started using `process.nextTick` inside
constructors to delay initialization of services.
Later we stared using a pattern where we instantiate services multiple
times.
The problem is the first pattern implies we have singleton services,
while the second pattern breaks the singleton.

There are reasons for both patterns, but we've decided that
`process.nextTick` inside constructors is not something we want to keep
as it creates side effects from creating objects. Instead this PR
proposes a more explicit approach.

Fixes #9775
2025-04-17 09:22:35 +02:00
Mateusz Kwasniewski
695c50b7d6
chore: cleanup reminder flag (#9769) 2025-04-16 11:25:50 +02:00
Mateusz Kwasniewski
67d59d6141
chore: aggregate daily metrics query time instrumentation (#9764) 2025-04-15 14:52:03 +02:00
Mateusz Kwasniewski
6396da3e77
fix: improve health rating job performance (#9761) 2025-04-15 14:20:26 +02:00
Ivar Conradi Østhus
a6c2cef71a
Revert "fix: use unleash to enable frontend SDK with token via varian… (#9759) 2025-04-15 09:01:51 +00:00
Mateusz Kwasniewski
0efa2585fe
fix: improve status job performance (#9755) 2025-04-15 09:33:13 +02:00
Ivar Conradi Østhus
fc40a4b4d8
fix: use unleash to enable frontend SDK with token via variant (#9757) 2025-04-15 09:27:54 +02:00
Mateusz Kwasniewski
9a25664a83
refactor: move batch execute to oss (#9754) 2025-04-14 15:33:02 +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
Ivar Conradi Østhus
3f5f43933a
fix: flag-resolver context type 2025-04-10 10:44:18 +02:00
Mateusz Kwasniewski
8f117ac18e
feat: add milestones to search results (#9739) 2025-04-10 10:25:39 +02:00
Ivar Conradi Østhus
33e852cccd
fix: flag-resolver should resolve external static context 2025-04-10 10:16:14 +02:00
Ivar Conradi Østhus
311d75be28
add hosted edge to allowed connect-src 2025-04-10 09:25:23 +02:00
Ivar Conradi Østhus
e63b28c1b8
feat: use Unleash React SDK in Admin UI (#9723)
In this PR I integrate the Unleash React SDK with the Admin UI. 

We also take advantage of Unleash Hosted Edge behind the scenes with
multiple regions to get the evaluations close to the end user.
2025-04-10 08:26:30 +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
Tymoteusz Czech
1a85b46acc
feat: rename search page and change icon (#9706)
Behind flagsReleaseManagementUI flag
2025-04-07 15:49:44 +02:00
Mateusz Kwasniewski
588e35e759
feat: search by lifecycle stage (#9705) 2025-04-07 14:00:01 +02:00
Melinda Fekete
5ed3041b11
docs: updates to Unleash Frontend API docs and Unleash architecture overview (#9513) 2025-04-07 12:38:00 +02:00
Mateusz Kwasniewski
4130e06d17
feat: flag overview change requests (#9702) 2025-04-04 14:20:42 +02:00
Thomas Heartman
6b5c29a6e6
chore: Add flag for add/edit strategies (#9699)
Adds a flag for the edd/edit strategies updates.
2025-04-04 10:18:05 +02:00