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

826 Commits

Author SHA1 Message Date
FredrikOseberg
0e2c57ed87
feat: initial spike on refactoring to change 2025-10-22 13:58:16 +02:00
Nuno Góis
1b60ed5df8
chore: show edge instances in license info (#10810)
https://linear.app/unleash/issue/2-3981/show-edge-instances-in-license-information-in-unleash

Show edge instances in license info.

Adapts to new logic, so resources are only shown if they are present.
2025-10-20 14:49:41 +01:00
Mateusz Kwasniewski
0fda3e7cf1
feat: delete milestone progression with CR (#10828) 2025-10-17 14:49:03 +02:00
Fredrik Strand Oseberg
795b674133
feat: add change request support for updating milestone progressions (#10819) 2025-10-16 16:52:02 +02:00
Fredrik Strand Oseberg
154dc6f5eb
feat: add change request support for milestone progressions (#10814) 2025-10-16 11:57:28 +02:00
Thomas Heartman
2cc1bf978b
chore: add todo note with flag to remember a refactor (#10811)
So that we remember to revisit this line when we remove the flag.
2025-10-16 09:53:58 +02:00
Thomas Heartman
07c947949e
fix: populate all weeks in charts (#10800)
When selecting a date range, the chart now shows you the entire range,
even if there's only data for parts of it.

This ensures that both the new flags in production chart and the created
vs archived chart show the same period and not two different ones (other
charts can be updated later).

Before:
<img width="2356" height="1536" alt="image"
src="https://github.com/user-attachments/assets/11912a2f-7a68-4405-acfa-d98d0eb69cf8"
/>

After: 
<img width="1294" height="963" alt="image"
src="https://github.com/user-attachments/assets/e932665c-9f7c-4b4e-9e14-34a1e6e71a69"
/>

It also ensures that the 4 week batching works the same for both charts.

For line charts, only the dates with data will be rendered as a line.
For the bar chart, dates without data can still be hovered and show
empty (zero) data.

<img width="1341" height="447" alt="image"
src="https://github.com/user-attachments/assets/531266ca-02e3-4402-9b29-ce4259274e0c"
/>


<img width="1304" height="448" alt="image"
src="https://github.com/user-attachments/assets/42a0bbe9-c701-4f3f-8b10-9ef7017a9b9f"
/>

Also prevents us from showing the wrong period if there is no data for
the selected project

Before:
<img width="1292" height="960" alt="image"
src="https://github.com/user-attachments/assets/6d61a653-7bee-43d9-9c25-5d5bdb29a803"
/>


After:
<img width="1295" height="507" alt="image"
src="https://github.com/user-attachments/assets/91994094-cd0d-495e-a41f-f92b6b7d72c9"
/>

Finally, it happily graphs multiple projects at their individual data
points in time:

<img width="1314" height="537" alt="image"
src="https://github.com/user-attachments/assets/d382d919-fda4-4c35-8d8e-2e66dd3bed66"
/>
2025-10-16 09:52:33 +02:00
Mateusz Kwasniewski
61a82673e9
feat: changing milestone progression url (#10795) 2025-10-14 15:57:28 +02:00
Fredrik Strand Oseberg
0edbc7d595
feat: add inline editing for milestone progressions (#10777) 2025-10-13 11:53:45 +02:00
Jaanus Sellin
0d252558c4
feat: add new dates and plan price (#10774)
<img width="2159" height="1617" alt="image"
src="https://github.com/user-attachments/assets/478ea289-dc0f-439e-92e4-a22fa44a0650"
/>
2025-10-10 13:44:58 +03:00
Fredrik Strand Oseberg
ce2ef4fe6f
feat: add delete functionality for milestone progressions (#10770) 2025-10-10 09:10:10 +02:00
Fredrik Strand Oseberg
a922801690
feat: Add transition condition UI for release plan milestones (#10768) 2025-10-09 11:41:58 +02:00
Fredrik Strand Oseberg
386c7d5bc6
chore: get release plans from features endpoint (#10764) 2025-10-09 10:12:56 +02:00
Tymoteusz Czech
4ed138c151
Billing info updates (#10761) 2025-10-08 12:11:24 +00:00
Fredrik Strand Oseberg
8072bc6706
feat: implement milestone progression form (#10749) 2025-10-08 10:15:08 +02:00
Tymoteusz Czech
183d436e59
feat: invoice sections (#10744)
Currency formatting and cleaner invoice components
2025-10-08 09:15:43 +02:00
Tymoteusz Czech
f01f747c9b
chore: update openapi (#10747) 2025-10-07 10:27:54 +00:00
Tymoteusz Czech
3393bb35e5
feat: update invoice billing components (#10740) 2025-10-07 10:35:40 +02:00
David Leek
c39b4cd1b0
feat: add a suggestion banner at the bottom of empty feature-environments (#10725) 2025-10-06 09:02:15 +02:00
Thomas Heartman
81b643cada
chore: rename variable for clarity (#10694)
entriesToLeave is more ambiguous than entriesToKeep, so let's go with
the latter.
2025-09-25 11:17:05 +02:00
Thomas Heartman
59bf19bf96
chore: use params object for swr cache clearing functions (#10692)
With three and four different parameters (of which two are strings that
are easily interchanged), it makes sense to rewrite these two functions
to take named parameters instead. This is a follow-up to
https://github.com/Unleash/unleash/pull/10689 based on one of the review
comments.
2025-09-24 15:17:25 +02:00
Thomas Heartman
e3fc88b11f
fix: cache eviction bug and the eternal loading screen (#10689)
Fixes an issue where the project feature list (and potentially other
places in the app that use the `useClearSWRCache` hook) would end up in
an infinite loading screen because the latest entry that we want to show
was overwritten.

The primary reason this happened is that we used `keysToDelete =
array.slice(SWR_CACHE_SIZE - 1)`. Because the map keys are returned in
insertion order, this would make us never delete the oldest keys, but
always anything after the cache reached it's maximum size. The fix was
to instead do `slice(0, -(SWR_CACHE_SIZE - 1))`, unless that is `0, 0`.
If so, then just delete the entire filtered keys set.

As a bonus: this PR also deduplicates cache entries that have the same
query params but in different order for the feature search. This further
reduces the cache space needed.
2025-09-24 14:37:58 +02:00
Mateusz Kwasniewski
efdfb67c9f
feat: histogram impact metric UI (#10684) 2025-09-24 10:53:58 +02:00
Thomas Heartman
4dd97b97f4
chore: use paginated table for change request list (#10660)
Adds a paginated table to the change request overview page and
integrates it with the search API hook.

The current implementation still has some rough edges to work out, but
it's getting closer.

There's no sort buttons in this implementation. I've got it working on
the side, but TS is complaining about types not matching up, so I'm
spinning that out to a separate PR.

<img width="1808" height="1400" alt="image"
src="https://github.com/user-attachments/assets/bdee97b7-ee2a-46c0-8460-a8b8e14d3c92"
/>
2025-09-23 12:05:11 +00:00
Mateusz Kwasniewski
7d70f8fc55
fix: encode application name (#10671) 2025-09-19 11:24:17 +02:00
Thomas Heartman
a519cb84f5
Add use change request search hook for UI. (#10664)
Adds a use change request search hook. The hook (and tests) are based
closely on the `useFeatureSearch` files.

I will wire them up to the table in an upcoming PR.

Also: fixes the orval schema to use numbers for offset and limit instead
of strings (enterprise pr incoming). Plus: updates a variable usage in
the use feature search hook.
2025-09-12 12:16:58 +00:00
Mateusz Kwasniewski
b55a961da0
refactor: centralize pagination options (#10636) 2025-09-09 14:00:55 +02:00
Mateusz Kwasniewski
6198900014
fix: limit reset when no pagination bar (#10634) 2025-09-09 13:18:33 +02:00
Tymoteusz Czech
edaea80f0c
refactor: new endpoint for global impact metrics saving (#10631)
Use `impact-metrics/config` for saving global charts.
2025-09-09 09:22:43 +02:00
Tymoteusz Czech
ea4c0a0941
feat: handle global impact metrics in frontend api hook (#10626) 2025-09-05 10:24:48 +00:00
Mateusz Kwasniewski
33d898f684
feat: change flag impact metrics url structure (#10624) 2025-09-05 11:28:35 +02:00
Mateusz Kwasniewski
cc8a950348
feat: delete flag impact metrics (#10613) 2025-09-03 15:58:39 +02:00
Mateusz Kwasniewski
88d384573f
feat: read feature impact metrics (#10597) 2025-09-02 13:16:57 +02:00
Mateusz Kwasniewski
bc075a4915
chore: orval feature impact metrics (#10588) 2025-09-01 16:10:54 +02:00
Mateusz Kwasniewski
924325f623
feat: make impact metrics config save call (#10576) 2025-08-29 11:26:11 +02:00
Nuno Góis
4c5b869140
chore: show release templates in license info in the UI (#10563)
https://linear.app/unleash/issue/2-3823/show-release-templates-in-license-info-in-ui

Shows release templates in license info in the UI.

<img width="1173" height="687" alt="image"
src="https://github.com/user-attachments/assets/b93cb510-282d-4027-bd39-2269ec138cc6"
/>
2025-08-28 15:23:48 +01:00
unleash-bot[bot]
0792125bb7
chore(AI): releasePlans flag cleanup (#10537)
This PR cleans up the releasePlans flag. These changes were
automatically generated by AI and should be reviewed carefully.

Fixes #10536

## 🧹 AI Flag Cleanup Summary
The `releasePlans` feature flag has been removed, making the feature
permanently
available for Enterprise customers. All conditional logic and checks
related to
this flag have been removed from the codebase.
This change ensures that Release Plans are an integral part of the
Unleash
Enterprise offering.
### 🚮 Removed
- **Flag Definitions**
- `releasePlans` flag from `experimental.ts` in the backend.
- `releasePlans` flag from `uiConfig.ts` in the frontend.
- `releasePlans` flag from `server-dev.ts` development config.
- **Conditional Logic**
- Removed checks for `releasePlansEnabled` in components and hooks,
including
`ReleaseManagement.tsx`, `FeatureStrategyMenu.tsx`, and
`NewInUnleash.tsx`.
- Removed `useUiFlag('releasePlans')` calls from all frontend files.
- Removed the `flag: 'releasePlans'` property from route definitions in
`routes.ts`.
### 🛠 Kept
- **Feature Functionality**
- All UI and logic related to Release Plans and Release Templates are
now
unconditionally enabled for Enterprise users.
### 📝 Why
The `releasePlans` feature has been successfully rolled out and is now a
stable
part of the product. This cleanup removes the artık feature flag to
simplify the
codebase and reduce complexity.

---------

Co-authored-by: unleash-bot <194219037+unleash-bot[bot]@users.noreply.github.com>
Co-authored-by: Nuno Góis <github@nunogois.com>
2025-08-26 14:48:19 +01:00
Nuno Góis
edae8801d8
chore: release template resource limits (#10514)
https://linear.app/unleash/issue/2-3790/use-resource-limits-to-limit-the-amount-of-release-templates-you-can

Adds a new resource limit for release templates.

Needs a follow-up PR in Enterprise.
2025-08-21 11:52:09 +01:00
Tymoteusz Czech
7f6b09fa1e
Measure adoption of a reminder for project cleanup (#10502) 2025-08-19 15:33:43 +02:00
Nuno Góis
54a0f68c9c
chore: add project-list-view-toggle Plausible event (#10468)
https://linear.app/unleash/issue/2-3754/add-plausible-event-project-list-view-toggle-with-view

Adds a `project-list-view-toggle` Plausible event with a `view` prop so
we can track if and how the new toggle is used.
2025-08-06 13:47:03 +02:00
Nuno Góis
c5b37fc7c2
chore: split standard and advanced strategy types (#10433)
https://linear.app/unleash/issue/2-3733/update-strategy-types-to-match-the-new-designs

This updates our strategy types page to match the new designs.

Part of this means visually separating what we are considering
"standard" strategies from "advanced" strategies.

<img width="1520" height="981" alt="image"
src="https://github.com/user-attachments/assets/2682013b-d9df-453d-9427-62871e74d46a"
/>
2025-07-30 09:55:51 +01: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
Mateusz Kwasniewski
9a768f7bdc
chore: orval update creation trends (#10409)
Co-authored-by: sjaanus <sellinjaanus@gmail.com>
2025-07-24 13:38:11 +03:00
Mateusz Kwasniewski
0457f5e035
chore: orval generation (#10398) 2025-07-23 13:11:26 +02:00
Mateusz Kwasniewski
89f5f79836
feat: aggregation mode selection (#10367) 2025-07-17 18:36:25 +02:00
Mateusz Kwasniewski
c3f1454df7
feat: use metric display name in impact charts (#10359) 2025-07-16 11:58:42 +02:00
Tymoteusz Czech
1948861a46
Update impact metrics state (#10342) 2025-07-11 10:46:20 +02:00
Tymoteusz Czech
69905185c5
Impact metrics errors with rate per second option (#10337)
- checkbox to select 'rate' vs 'increase' - always available for now,
but does nothing for gauge. I can improve it later on
- better preview - it will show resolved query underneath
- cleaner error handling that doesn't overflow widgets
2025-07-10 16:43:55 +02:00
Mateusz Kwasniewski
eb80f00206
feat: user friendly impact metric name (#10338) 2025-07-10 11:27:37 +02:00
Thomas Heartman
e2853acf15
Remove uses of one of / use operator checks instead (#10328)
Updates a few remaining places where we check constraint operators with
the new constraint operator checks. Additionally, because there was only
one remaining place where we used the `oneOf` function, I replaced it
with a normal `includes` check and deleted the `oneOf` util. From what I
can tell, there's no need to have that utility function; it doesn't
provide much benefit over using the language built-ins 🤷🏼
2025-07-08 11:10:45 +02:00