1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-08-04 13:48:56 +02:00
Commit Graph

14147 Commits

Author SHA1 Message Date
renovate[bot]
04bd3cd82e
chore(deps): update dependency supertest to v7.1.3 (#10423)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [supertest](https://redirect.github.com/ladjs/supertest) | [`7.0.0` ->
`7.1.3`](https://renovatebot.com/diffs/npm/supertest/7.0.0/7.1.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/supertest/7.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/supertest/7.0.0/7.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>ladjs/supertest (supertest)</summary>

###
[`v7.1.3`](https://redirect.github.com/ladjs/supertest/compare/v7.1.2...0cf2ec375f1aeed4eac257e51b1d81263452337c)

[Compare
Source](https://redirect.github.com/ladjs/supertest/compare/v7.1.2...v7.1.3)

###
[`v7.1.2`](https://redirect.github.com/ladjs/supertest/compare/v7.1.1...29c3267d31740bee7af17144703045f836e59405)

[Compare
Source](https://redirect.github.com/ladjs/supertest/compare/v7.1.1...v7.1.2)

###
[`v7.1.1`](https://redirect.github.com/forwardemail/supertest/releases/tag/v7.1.1)

[Compare
Source](https://redirect.github.com/ladjs/supertest/compare/v7.1.0...v7.1.1)

- Merge pull request
[#&#8203;858](https://redirect.github.com/ladjs/supertest/issues/858)
from ByteOPCode/master
[`f553845`](https://redirect.github.com/ladjs/supertest/commit/f553845)
- feat: update superagent version
[`d37d197`](https://redirect.github.com/ladjs/supertest/commit/d37d197)

###
[`v7.1.0`](https://redirect.github.com/forwardemail/supertest/releases/tag/v7.1.0)

[Compare
Source](https://redirect.github.com/ladjs/supertest/compare/v7.0.0...v7.1.0)

- Merge pull request
[#&#8203;852](https://redirect.github.com/ladjs/supertest/issues/852)
from alxndrsn/econnreset
[`de045d4`](https://redirect.github.com/ladjs/supertest/commit/de045d4)
- Merge pull request
[#&#8203;845](https://redirect.github.com/ladjs/supertest/issues/845)
from ikonst/master
[`be0d5c7`](https://redirect.github.com/ladjs/supertest/commit/be0d5c7)
- Merge pull request
[#&#8203;854](https://redirect.github.com/ladjs/supertest/issues/854)
from alxndrsn/commitlint
[`35ac86f`](https://redirect.github.com/ladjs/supertest/commit/35ac86f)
- fix(dev): commitlint dev dependency & config
[`e67fcb2`](https://redirect.github.com/ladjs/supertest/commit/e67fcb2)
- fix: avoid server re-use race conditions
[`96c06e3`](https://redirect.github.com/ladjs/supertest/commit/96c06e3)
- test: fix test failure due to localhost being also ipv6
[`92079a0`](https://redirect.github.com/ladjs/supertest/commit/92079a0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS40My41IiwidXBkYXRlZEluVmVyIjoiNDEuNDMuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-29 09:38:50 +00:00
Tymoteusz Czech
8554eee37a
feat: series query warning (#10413)
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2025-07-29 10:03:43 +02:00
Nuno Góis
15449e83d3
chore: add feature configuration based on addConfiguration flag (#10420)
https://linear.app/unleash/issue/2-3729/single-add-configuration-button-based-on-flag

Shows a single "Add configuration" button based on whether the new
`addConfiguration` flag is enabled.

This button then shows our "Add configuration" modal which allows you to
choose how to proceed in terms of your feature flag configuration. Also
updates this modal to better match the latest sketches.

Includes scouting.

### Single "Add configuration" button
<img width="738" height="121" alt="image"
src="https://github.com/user-attachments/assets/9cce7fba-5e0c-42e0-a3d1-8ccc34f730bb"
/>

### Modal
<img width="983" height="663" alt="image"
src="https://github.com/user-attachments/assets/b59abad2-f1cd-4b62-bf2e-9c3b24cbb60e"
/>
2025-07-29 08:27:13 +01:00
Thomas Heartman
0a9d6437c5
Place schedule information first and change color of schedule info (#10419)
As per UX's requests, this updates the placement and styling of the
schedule information for scheduled change requests. Instead of being
below the "stage entered time" and in "secondary" color, we place it
above that timestamp and in the same color as the stage name.

This change is not behind a flag, so the color change will go out
immediately upon release.

Before:

<img width="244" height="376" alt="image"
src="https://github.com/user-attachments/assets/2c5f380d-8d05-4078-93cc-d451eb9fdabe"
/>

After:
<img width="201" height="333" alt="image"
src="https://github.com/user-attachments/assets/d26c2c6f-5fc9-4db2-b52e-ff26e6f03a61"
/>

Same for failed/suspended. Before:
<img width="280" height="378" alt="image"
src="https://github.com/user-attachments/assets/71c7a201-dfd7-47f3-a45b-c33a47be1e3c"
/>

After:

<img width="258" height="369" alt="image"
src="https://github.com/user-attachments/assets/9a3ab53f-bda1-4ce5-a127-bceaa3436fef"
/>
2025-07-28 14:45:06 +02:00
Nuno Góis
8258ffcabe
chore: improve project card design (#10418)
https://linear.app/unleash/issue/2-3728/remove-the-project-card-icon

Removes the project icon from our project cards. This gives us more
space for our project titles.

Also took the chance to better align the "activity" visual component,
since previously it was floating not-quite-in-the-middle of the card.

This is already aligned with UX and ready to go from that standpoint.

<img width="918" height="442" alt="image"
src="https://github.com/user-attachments/assets/1538511e-e70d-4632-9f67-7d6cd146aeca"
/>
2025-07-28 12:57:33 +01:00
Melinda Fekete
a6397c51ab
docs: organize feature flags using projects and environments guide (#10402) 2025-07-28 13:33:59 +02:00
Thomas Heartman
08930e2081
Fix broken markdown link in api-overview doc. (#10417)
It was missing a closing `]`.
2025-07-25 15:27:35 +02:00
Github Actions Bot
fa39ebe5df 7.0.6 2025-07-25 12:27:35 +00:00
Github Actions Bot
038f66efd0 docs: Update CHANGELOG.md 2025-07-25 12:27:25 +00:00
Melinda Fekete
b354c4dda3
docs: update OpenAPI Edge name (#10415)
Change the tag of Edge to Unleash Edge in the OpenAPI spec to help with
search relevance in the docs
2025-07-25 12:41:06 +02:00
Nuno Góis
d278185228
feat: GitHub auth (#10406)
https://linear.app/unleash/issue/2-3713/show-sign-in-with-github-auth-option-in-unleash

Adds support for a "Sign-in with GitHub" auth option.

Also took this opportunity to slightly improve the design of these
options on our log in screen.

<img width="485" height="429" alt="image"
src="https://github.com/user-attachments/assets/540cb4d5-f5bc-44a0-a7d7-d895d0f22393"
/>
2025-07-24 15:25:25 +01:00
Thomas Heartman
d2e2378481
Show change request stage timestamps in UI (#10388)
Adds a timestamp for each state we have time (and that isn't a state
downstream from the current state) in the CR timeline.

<img width="437" height="318" alt="image"
src="https://github.com/user-attachments/assets/a499e73f-c506-46a0-8d1a-7e4eb5ec4f7d"
/>

The timestamp respects the user's preferred locale and uses the `time`
element.

I've used the current name of the API payload's timestamps as it stands
on the enterprise main branch for now. This name is not set in any
schemas yet, so it is likely to change. Because it's not currently
exposed to any users, that will not cause any issues. Name suggestions
are welcome if you have them.

We only show timestamps for states up to and including the current
state. Timestamps for downstream states (such as "approved" if you're in
the "in review" state), will not be shown, even if they exist in the
payload. (There are some decisions to make on whether to include these
in the payload at all or not.)

There's no flags in this PR. They're not necessary If the API payload
doesn't contain the timestamp, we just don't render the timestamp, and
the timeline looks the way it always did:
<img width="447" height="399" alt="image"
src="https://github.com/user-attachments/assets/0062393a-190c-4099-bc16-29f9da82e7ea"
/>


## Bonus work

In the `ChangeRequestTimeline.tsx` file, I've made a few extra changes:
- `createTimelineItem` and `createScheduledTimelineItem` have become
normal React components (`TimelineItem` and `ScheduledTimelineItem`) and
are being called as such (in accordance with [React
recommendations](https://react.dev/reference/rules/react-calls-components-and-hooks#never-call-component-functions-directly)).
- I've updated the subtitles for schedules to also use the time element,
to improve HTML structure.

## Outstanding work

There's a few things that still need to be sorted out (primarily with
UX). Mainly about how we handle scheduled items, which already have time
information. For now, it looks like this:

<img width="426" height="394" alt="image"
src="https://github.com/user-attachments/assets/4bfc4ca2-c738-4954-9251-8d063143371e"
/>

<img width="700" height="246" alt="image"
src="https://github.com/user-attachments/assets/fe688b08-c5c8-40f8-a9d0-fe455e44665f"
/>
2025-07-24 12:42:29 +00:00
Jaanus Sellin
8943cc0a3d
feat: basic flag creation chart (#10411)
This is partial implementation of flag creation chart. This only shows
the created flags line part, but I need to style it and also add bar
charts in next PRs.

<img width="1498" height="523" alt="image"
src="https://github.com/user-attachments/assets/6d7a3145-95ff-4d31-85dd-47d687527d47"
/>
2025-07-24 14:45:16 +03:00
Github Actions Bot
89f843fd0d 7.0.5 2025-07-24 11:05:44 +00:00
Github Actions Bot
29cddac05f docs: Update CHANGELOG.md 2025-07-24 11:05:34 +00:00
Gastón Fournier
ad605e42c7
chore(security): upgrade on-headers transitive dep (#10410) 2025-07-24 12:45:54 +02:00
Mateusz Kwasniewski
9a768f7bdc
chore: orval update creation trends (#10409)
Co-authored-by: sjaanus <sellinjaanus@gmail.com>
2025-07-24 13:38:11 +03:00
dependabot[bot]
f9ede12535
chore(deps): bump form-data from 4.0.0 to 4.0.4 (#10408) 2025-07-24 12:11:02 +02:00
Mateusz Kwasniewski
049e1ba271
feat: new flags in production explanation (#10407) 2025-07-24 11:53:25 +02:00
Nuno Góis
45e5b217aa
fix: add strategy release templates visibility for non Enterprise (#10401)
https://linear.app/unleash/issue/2-3711/add-strategy-modal-shows-release-templates-section-for-non-enterprise

Fixes a bug for non-Enterprise where release templates were mentioned
(and even linked to) even though they were not available for these
plans. When following the link the result was a page that did not
render.

Also slightly refactors and improves this component.

<img width="870" height="496" alt="image"
src="https://github.com/user-attachments/assets/47499e21-73fc-4ddf-8eed-6146be31b074"
/>
2025-07-23 20:17:22 +01:00
Gastón Fournier
0e015d6686
chore(security): remove coveralls dependency (#10405)
## About the changes
We've been using vitest for coverage and we use a github action to push
results to coveralls, so this should work just fine

Unlocks form-data to be able to fix
https://github.com/Unleash/unleash/security/dependabot/267

Also, removing coverage from PRs to avoid running tests twice
2025-07-23 20:40:00 +02:00
Gastón Fournier
4854b35cb1
chore(security): upgrade to newer node version (#10404)
## About the changes
Upgrade node to latest version to solve
[CVE-2025-27210](https://nodejs.org/en/blog/vulnerability/july-2025-security-releases)

Closes #10380
2025-07-23 18:49:06 +02:00
dependabot[bot]
e89fa7ec6e
chore(deps): bump form-data from 4.0.0 to 4.0.4 in /frontend (#10403) 2025-07-23 18:37:42 +02:00
dependabot[bot]
86b4bea838
chore(deps): bump form-data from 4.0.1 to 4.0.4 in /website (#10392) 2025-07-23 18:12:12 +02:00
Thomas Heartman
64050121db
Add timestampsInChangeRequestTimeline flag (#10399)
Adds flag to OSS for the new timestamps in CR timeline capability.

We might not need them in the UI, but might as well add it in case.
2025-07-23 15:33:40 +02:00
Mateusz Kwasniewski
299ed65ef7
feat: New production flags chart (#10400) 2025-07-23 15:29:47 +02:00
Mateusz Kwasniewski
0457f5e035
chore: orval generation (#10398) 2025-07-23 13:11:26 +02:00
Nuno Góis
e87c51948f
fix: banner form state (#10397)
https://linear.app/unleash/issue/2-3710/fix-banner-form-state-inconsistencies

Noticed a few inconsistencies with the way the banner form handles
state. This should fix that by ensuring the form's state correctly
reflects prop changes.
2025-07-23 08:36:48 +01:00
Nuno Góis
65ea41d601
chore: AI flag cleanup better support advanced flag names (#10396)
https://linear.app/unleash/issue/2-3709/improve-support-for-advanced-flag-names-in-ai-flag-cleanup

Improves support for advanced flag names in AI flag cleanup.

This is something I noticed when it tried to run against
https://github.com/Unleash/unleash/issues/10395 — The dot (.) broke the
previous logic.
2025-07-22 17:39:16 +01:00
Melinda Fekete
f363a1eba7
Add search priority for auto-generated pages (#10386) 2025-07-22 18:16:24 +02:00
Nuno Góis
b663696bd4
chore: AI flag cleanup reports errors back to issue (#10381)
https://linear.app/unleash/issue/2-3706/ai-flag-cleanup-reports-errors-back-to-issue

Reports AI flag cleanup errors back to the issue.
2025-07-22 16:21:56 +01:00
Gastón Fournier
57ec5ce876
chore: remove unkonwn flags (#10389)
We're iterating over the keys of experimental and checking if they're
enabled:
e140ab63e1/src/lib/util/flag-resolver.ts (L26)
which leads to this big list of unknown flags

This comes from our report:
<img width="1461" height="1042" alt="image"
src="https://github.com/user-attachments/assets/9579f351-e5e9-42ad-a141-b5cde83a41b8"
/>
2025-07-22 16:49:42 +02:00
Thomas Heartman
bfd82015d1
Fix each child in a list should have a key error. (#10393)
The console was complaining. I suspect it was because of the wrapping
fragment. So instead of doing everything within react, I switched to
using a standard case statement.

Also: because name is optional and not guaranteed to be unique, let's
use id for the key instead.
2025-07-22 13:03:33 +00:00
Mateusz Kwasniewski
d7f98945a3
chore: Lifecycle graphs flag (#10390) 2025-07-22 14:34:27 +02:00
Gastón Fournier
020e9a49ef
chore: don't fail if array is not ordered properly (#10391)
Spotted it here:
https://github.com/Unleash/unleash/actions/runs/16443263365/job/46468801248
<img width="928" height="584" alt="image"
src="https://github.com/user-attachments/assets/5e430b91-2664-4a79-9f13-cf6da4640046"
/>

where the sort order is different.
2025-07-22 14:30:56 +02:00
Gastón Fournier
e140ab63e1
fix: flaky delete stale session (#10387)
When deleting stale sessions, we sort them by createdAt. If both
sessions are created with the same createdAt, there's a chance we get a
different sort order and we end up with the wrong order:
https://github.com/Unleash/unleash/actions/runs/16438565746/job/46453700977

I think adding 10ms between inserts should be enough (1ms should do,
but this gives me more confidence and doesn't hurt that much)

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2025-07-22 11:42:14 +00:00
Melinda Fekete
dc81f81b54
docs: guide for managing feature flags in code (#10344) 2025-07-22 11:47:09 +02:00
Tymoteusz Czech
f54305c8b7
refactor: impact metrics modal - label filtering and UX (#10377)
Modal for editing a chart now follows design of other parts of the app
more closely.
2025-07-22 10:08:29 +02:00
Nuno Góis
51f8244a5d
chore: emit CLIENT_METRICS event after sifting (#10376)
https://linear.app/unleash/issue/2-3705/only-emit-client-metrics-after-sifting-metrics

Only emits the `CLIENT_METRICS` event after metric sifting.

This ensures the event is emitted only for valid metrics tied to known
flags, instead of all flags included in the metrics payload.

See:
https://github.com/Unleash/unleash/pull/10375#discussion_r2218974109
2025-07-21 15:40:02 +01:00
Nuno Góis
8f0c0ccef3
chore: sift metrics on both endpoints (#10375)
https://linear.app/unleash/issue/2-3696/report-unknown-flags-when-sent-to-the-bulk-metrics-endpoint

Unifies metrics sifting logic across both metrics endpoints:
- `/metrics`
- `/metrics/bulk`

This PR improves consistency between the `/metrics` and `/metrics/bulk`
endpoints by introducing a shared `siftMetrics` method, now used within
`registerBulkMetrics`. Both endpoints already call this method at the
end of their respective logic flows, ensuring that metrics are sifted in
the same way regardless of the path taken.

While the primary goal was to enable reporting of unknown flags via the
`/metrics/bulk` endpoint, this change also improves bulk processing by
consistently dropping invalid or unknown flags before insertion, just
like in the regular `/metrics` endpoint.
2025-07-21 12:40:41 +01:00
Tymoteusz Czech
c1df04548d
feat: add impact metrics wildcard label (#10373) 2025-07-21 10:50:14 +02:00
Melinda Fekete
253c2d71b3
docs: prioritize search results (#10369) 2025-07-18 17:09:35 +02:00
Tymoteusz Czech
2ff1aa78a0
refactor: color assignment in useChartData (#10372) 2025-07-18 14:28:56 +02:00
Tymoteusz Czech
b581b2393d
fix: improve impact metrics preview chart (#10368) 2025-07-18 09:46:32 +02:00
Mateusz Kwasniewski
89f5f79836
feat: aggregation mode selection (#10367) 2025-07-17 18:36:25 +02:00
Tymoteusz Czech
2d96becb28
fix: update legend display logic (#10365)
When grouping by multiple labels, chart label should always be visible.
Even if returned data only has 1 series
2025-07-17 16:26:24 +02:00
Melinda Fekete
5d23a9c5e1
Add metadata to quickstart (#10366) 2025-07-17 16:25:32 +02:00
Mateusz Kwasniewski
f04dd454d9
feat: sanitize impact metrics (#10364) 2025-07-17 12:59:50 +02:00
Kitsios Konstantinos
84748aaff0
[CI]: Cancel CI runs that become obsolete (#10339)
## About the changes
Currently, if a PR is open and a push happens, the **e2e:frontend**
workflow will start running. If, shortly after a subsequent push on the
*same* PR happens, the workflow will start running again without
cancelling the previous (now obsolete) run. With these changes, the
first run would be cancelled, thus **saving compute resources** (see
below for quantity) that can be used to **speed up your overall CI/CD**,
without sacrificing functionality, since the second run will contain the
changes from the first push as well. 🌱

### Example
Here is an example of the behaviour described above: the commit
`b1b2e61` triggered
[this](https://github.com/Unleash/unleash/actions/runs/14493085673/)
workflow run, and shortly after the commit `9997fe1`, that happened on
top of the first commit, triggered
[this](https://github.com/Unleash/unleash/actions/runs/14493089012/)
workflow. Both workflows ran till the end, spending approximately 8 CPU
minutes each. With the proposed changes, the first run would be
cancelled, hence saving ~8 CPU minutes and clearing the queue for other
workflows. Note that this is an example of a single concurrent run; the
accumulated gain for all PRs would be higher, with a lower estimate at
**2 CPU hours** over the last few months.

The same holds for these workflow(s) as well: Dependency review, PR ->
Build Docs.

### Context
Hi,

We are a team of [researchers](https://www.ifi.uzh.ch/en/zest.html) from
University of Zurich and we are currently working on energy
optimizations in GitHub Actions workflows.

Kindly let us know (here or in the email below) if you would like more
details, if you want to reject the proposed changes for other reasons,
or if you have any question whatsoever.

Best regards,  
[Konstantinos
Kitsios](https://www.ifi.uzh.ch/en/zest/team/konstantinos_kitsios.html)
konstantinos.kitsios@uzh.ch
2025-07-17 11:22:44 +01:00
Tymoteusz Czech
3fb71bca75
fix: update text wrapping style in ImpactMetricsChart (#10363) 2025-07-17 10:52:53 +02:00