1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-05-12 01:17:04 +02:00
Commit Graph

5886 Commits

Author SHA1 Message Date
Nuno Góis
fa4b09ffe5
fix: demo flow consistency with new flag page (#9770)
https://linear.app/unleash/issue/2-3512/bug-flow-2-enable-for-a-specific-user-doesnt-work

https://linear.app/unleash/issue/2-3513/bug-flow-4-adjust-variants-doesnt-work

Follow-up to #9765 

This should make the demo flow a bit more consistent with the new page
design.

The page seems a bit slower in general, so we're being a bit more
aggressive on the cleaning up of demo data to make it faster as well as
adding some delays in key steps of the flow.
2025-04-16 11:35:02 +01:00
Mateusz Kwasniewski
695c50b7d6
chore: cleanup reminder flag (#9769) 2025-04-16 11:25:50 +02:00
Jaanus Sellin
187f265680
feat: add values button now actually adds value (#9768) 2025-04-16 11:52:36 +03:00
Jaanus Sellin
e9c50a551f
feat: remove add values for legal values (#9767)
This removes the add values nicely.


![image](https://github.com/user-attachments/assets/8fb84b51-c842-4a56-af21-ff5b66772538)
2025-04-16 11:06:46 +03:00
Thomas Heartman
c1bb905146
Fix type issues (#9745) 2025-04-16 10:36:29 +03:00
dependabot[bot]
6af36288ab
chore(deps-dev): bump vite from 5.4.16 to 5.4.18 in /frontend (#9766)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite)
from 5.4.16 to 5.4.18.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases">vite's
releases</a>.</em></p>
<blockquote>
<h2>v5.4.18</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v5.4.18/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v5.4.17</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v5.4.17/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/v5.4.18/packages/vite/CHANGELOG.md">vite's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted -->5.4.18 (2025-04-10)<!-- raw HTML omitted
--></h2>
<ul>
<li>fix: backport <a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19830">#19830</a>,
reject requests with <code>#</code> in request-target (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19831">#19831</a>)
(<a
href="823675baff">823675b</a>),
closes <a
href="https://redirect.github.com/vitejs/vite/issues/19830">#19830</a>
<a
href="https://redirect.github.com/vitejs/vite/issues/19831">#19831</a></li>
</ul>
<h2><!-- raw HTML omitted -->5.4.17 (2025-04-03)<!-- raw HTML omitted
--></h2>
<ul>
<li>fix: backport <a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19782">#19782</a>,
fs check with svg and relative paths (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19784">#19784</a>)
(<a
href="84b2b46ed1">84b2b46</a>),
closes <a
href="https://redirect.github.com/vitejs/vite/issues/19782">#19782</a>
<a
href="https://redirect.github.com/vitejs/vite/issues/19784">#19784</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="731b77d19d"><code>731b77d</code></a>
release: v5.4.18</li>
<li><a
href="823675baff"><code>823675b</code></a>
fix: backport <a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19830">#19830</a>,
reject requests with <code>#</code> in request-target (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19831">#19831</a>)</li>
<li><a
href="0a2518a98d"><code>0a2518a</code></a>
release: v5.4.17</li>
<li><a
href="84b2b46ed1"><code>84b2b46</code></a>
fix: backport <a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19782">#19782</a>,
fs check with svg and relative paths (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19784">#19784</a>)</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite/commits/v5.4.18/packages/vite">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite&package-manager=npm_and_yarn&previous-version=5.4.16&new-version=5.4.18)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/Unleash/unleash/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-15 19:36:22 +02:00
Nuno Góis
1d94c261e6
fix: demo topics should work with new flag design (#9765)
https://linear.app/unleash/issue/2-3512/bug-flow-2-enable-for-a-specific-user-doesnt-work

https://linear.app/unleash/issue/2-3513/bug-flow-4-adjust-variants-doesnt-work

Fixes our demo topics by making them work with the new flag page design.

We achieve this by adding 2 new interactive steps in `demoApp.step2` and
`demoApp.step4` to expand the respective environment accordions. We mark
them as optional so they are not strictly required and will be skipped
if not found. This means the demo will be resilient to rolling back the
`flagOverviewRedesign` flag, for example.

We also mark 2 steps as optional: saving constraints in `demoApp.step2`
and `demoApp.step4`. It seems like we no longer have an extra button to
save the constraints after adding them, so by marking these steps as
optional the demo flow is able to proceed without breaking.
2025-04-15 16:18:33 +01:00
Tymoteusz Czech
06ade698e3
fix: search page filtered placeholder (#9763)
It's weird that we encourage to create new flags in the cleanup stage
2025-04-15 14:29:50 +02:00
Tymoteusz Czech
3fd74262bb
feat: search page - improved change request tooltip (#9750)
improved and tested tooltip for change requests and adjusted column width
2025-04-15 13:22:50 +02:00
Jaanus Sellin
01c1ec5c29
feat: strategy status as checkbox (#9760) 2025-04-15 13:11:11 +03:00
Christopher Kolstad
8380a7a532
fix(frontend): Now only shows average daily requests when viewing daily (#9758)
As reported by Ivar, there's no point in displaying the average daily
traffic when grouping monthly.
2025-04-15 08:38:56 +00:00
Nuno Góis
2c1ec41a07
fix: demo QR code (#9756)
https://linear.app/unleash/issue/CJUX-340/bug-qr-code-doesnt-work

Generated a new QR code using
[qrcode-monkey.com](https://www.qrcode-monkey.com/), following a similar
design to our previous one.

Unlike the previous QR generator, this one does **not** proxy the URL—so
the QR code will never break in the future. It’s also in SVG format,
allowing for infinite scaling without quality loss.


![image](https://github.com/user-attachments/assets/dbe22d45-aa53-403e-9ae1-fa4a9d7fd26f)
2025-04-15 09:06:25 +01:00
Mateusz Kwasniewski
e6d55ab17a
feat: display total count (#9753) 2025-04-14 14:30:21 +02:00
Jaanus Sellin
5b52a6e8d1
feat: predefined values more organized (#9752) 2025-04-14 14:22:32 +03:00
Tymoteusz Czech
417d3b80a4
feat: search page flag status with change requests (#9744) 2025-04-14 09:51:09 +02:00
Tymoteusz Czech
1b7cf6d97d
chore: update api types in frontend (#9748)
Get backend changes into frontend types
2025-04-11 20:00:09 +02:00
Jaanus Sellin
3b96bfb4ff
feat: description for stickiness selector (#9746) 2025-04-11 15:01:15 +03:00
Thomas Heartman
e9ec1db3b7
chore(1-3611): inline values list v1 (#9743)
Adds the easy parts of the inline values list: a list of chips that
shows you which values you have and that you can delete. You either
delete them by clicking the "clear" icon or by using del/backspace on
your keyboard.

If you use your keyboard we also handle switching your focus to the
appropriate element. By default, your browser may shift the focus to the
top of the window (which isn't very helpful). Instead, we handle it like
this:
- If you delete an item and there are more elements in the list: 
  - move the element to the next item if exists
  - if your element is the last item, move focus to the previous item
- if there are no more items in the list, move the focus to the Add
Values button

We still need to add the "add values" popover functionality. That's next
on the agenda.

Additionally, this switches how the containing flex container positions
its items along the cross axis (vertically) to "flex-start" instead of
"center". Because the values list can grow to multiple lines, it would
shift the "delete constraint" button and the constraint picker to the
middle of the expanded constraint. Now, instead they stay aligned to the
top. This causes a slight alignment issue with the button (due to the
invisible padding), but I don't want to look at that before the rest of
this is complete and we know how it all fits together. You'll notice
that the spacing between elements in that top row is also off anyway
(look at the value list being smushed up against the case sensitive
icon), so there's more work to do.

<img width="716" alt="image"
src="https://github.com/user-attachments/assets/225fcab8-03e4-46e3-92d4-82912eb40d46"
/>

Focus styles:

<img width="190" alt="image"
src="https://github.com/user-attachments/assets/6b07ab25-0a67-493c-9cac-839932b0d654"
/>

<img width="195" alt="image"
src="https://github.com/user-attachments/assets/9d5b323e-bf65-4eca-9008-a45ce0139a2b"
/>


Hover styles:
<img width="96" alt="image"
src="https://github.com/user-attachments/assets/f19e1945-d2be-4e87-8005-76cb6beb1f50"
/>
2025-04-10 15:50:51 +02:00
Tymoteusz Czech
1043eb8f03
feat: flag lifecycle status - first pass (#9736)
Resolving "status" column for flags overview page
2025-04-10 12:02:25 +02:00
Jaanus Sellin
67c0ffa1ab
feat: segment chip recoloring (#9742) 2025-04-10 12:51:09 +03:00
Jaanus Sellin
5d64d0ff4b
feat: styling of info box for release plans (#9741) 2025-04-10 12:22:07 +03:00
Jaanus Sellin
49a1dac2c9
feat: targeting info box new styling (#9740)
Updated styling of info box


![image](https://github.com/user-attachments/assets/983339b7-102d-440e-a937-4972d04496c9)
2025-04-10 11:20:02 +03:00
Ivar Conradi Østhus
3b84db7d61
fix: remove custom refresh interval for UnleashClient 2025-04-10 09:56:40 +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
Thomas Heartman
d5af58ce0e
fix: wrap env data before truncating env name. (#9733)
Solves an issue where the new buttons would potentially obscure the
entire name of the env:


![image](https://github.com/user-attachments/assets/0bb1e7e9-90da-414e-bd70-eef264ac1867)

 
Now, instead of using grid and container queries to find the right point
to break, we're using flex to always wrap before needing to truncate the
environment name. The name will still truncate if necessary.

Why didn't we do this originally? I ... couldn't think of a way to make
flex work in a 2D layout, but the `width: 100%` property seems to do the
trick 😄


![image](https://github.com/user-attachments/assets/fa81bf5b-3be0-4afa-8fc3-7a5b5ffeeefc)

PS: the buttons only stack when they have to. They stay single-line for
as long as possible. (just in case you were wondering).
<img width="711" alt="image"
src="https://github.com/user-attachments/assets/a9f85118-5b72-4618-a91b-f05c9d520663"
/>
2025-04-09 12:24:37 +00:00
Jaanus Sellin
8da5fe6811
feat: strategy menu interaction between two dialogues. (#9732) 2025-04-09 15:14:45 +03:00
Thomas Heartman
48b9be709e
Chore(1-3598): new constraint edit design iteration 1 (#9727)
Implements the first step towards implementing the new design for
constraint editing. All the edit functionalities work as and when you do
them now, but there is no validation of the values you put in that's
happening.

The inverted / not inverted button and the case sensitivity button are
placeholders. They should use icons and have proper descriptions of what
they do. I'll do that in a follow-up.

The way to enter values is currently always in the section below the
main controls. Again, more work on this is coming.

Current look:

With case sensitive options:
<img width="769" alt="image"
src="https://github.com/user-attachments/assets/bfdfbac1-cc95-4f26-bf83-277bae839518"
/>

With legal values:
<img width="772" alt="image"
src="https://github.com/user-attachments/assets/14f566cc-d02a-46dd-b433-f8b13ee55bcc"
/>
2025-04-09 14:08:04 +02:00
Mateusz Kwasniewski
f26bf2b8d1
feat: lifecycle column text (#9731) 2025-04-09 13:44:32 +02:00
Jaanus Sellin
02aadfe1bb
feat: update strategy window styles, extract old and new components (#9730) 2025-04-09 13:41:18 +03:00
Jaanus Sellin
a92c79e2dd
feat: styling of AND operator in strategies (#9726) 2025-04-09 11:00:05 +03:00
Tymoteusz Czech
5647fc916e
feat: adjust search page columns (#9722)
New columns for search page
- improved "name" with filtering by type and tag
- lifecycle
- created by (avatars) with filtering
2025-04-09 09:50:30 +02:00
Jaanus Sellin
827b8f274a
chore: make popover center of screen (#9725) 2025-04-09 09:41:30 +03:00
Tymoteusz Czech
28a69afe63
feat: adjust columns for a search page refactor (#9709)
- Change "Project ID" to Project name column in search
- Remove certain columns that are not present in new design
2025-04-08 14:57:50 +02:00
Jaanus Sellin
45a0ddd2a5
fix: fix hover on release template card (#9721)
For some reason, using template literals do not work after its in
enterprise repo. I will try something that matches more over codebase
style.
2025-04-08 15:55:07 +03:00
Mateusz Kwasniewski
1e027dcf4f
feat: adjust filter UI (#9720) 2025-04-08 14:32:30 +02:00
Mateusz Kwasniewski
f8e75e5250
feat: remove archived from filters (#9719) 2025-04-08 13:22:53 +02:00
Jaanus Sellin
84dbae20e8
feat: remove + from the segment dropdown (#9714) 2025-04-08 14:18:01 +03:00
Jaanus Sellin
6c74c994aa
feat: release plan review dialogue (#9712) 2025-04-08 12:24:09 +03:00
Tymoteusz Czech
1930c0f408
fix: update link text for archived feature navigation (#9698)
If you try to visit an archived flag, you're told you can find it on the
project archive page, but that page isn't visible by default anymore.
This is an update to take you to the project overview with a filter for
archived flags instead.
2025-04-08 11:03:01 +02:00
Mateusz Kwasniewski
e76d04a7ad
feat: export button in flags overview (#9715) 2025-04-08 10:23:02 +02:00
Mateusz Kwasniewski
b120c97717
feat: lifecycle filters UI (#9713) 2025-04-08 10:04:07 +02:00
Tymoteusz Czech
1a85b46acc
feat: rename search page and change icon (#9706)
Behind flagsReleaseManagementUI flag
2025-04-07 15:49:44 +02:00
Thomas Heartman
5e35a0fa22
chore: Set up the basis of the new constraint editing component. (#9701)
This PR creates/steals the logic and basic components that we need for
the new constraint editing design and shows it instead of the old one if
the flag is on.

The interface needs a lot of work, but this essentially wires everything
up so that it works with the API on direct editing:

<img width="781" alt="image"
src="https://github.com/user-attachments/assets/97489a08-5f12-47ee-98b3-aefc0b840a2b"
/>

Additionally the code here will need a lot of refactoring. This is a
first draft where I've yanked all the constraint editing logic out of a
nested hierarchy of components that handle validation and lots more. I
expect to clean this up significantly before finishing it up, so please
excuse the mess it's currently in. It turns out to have been lots and
lots more logic than I had anticipated.

This is just a PR to get started, so that the next one will be easier to
work on.
2025-04-07 14:50:42 +02:00
Thomas Heartman
6ea823f011
fix: restore focus style to the env switch (#9707)
Removes the "disableRipple" prop from the FeatureToggleSwitch component,
thereby restoring its focus styles, so that keyboard users can see where
their focus is at.

I don't know the reason this was added originally (the PR doesn't say
anything about it), but the prop changes nothing when hovering with the
mouse, but it does remove focus styles for keyboard navigation.

By removing it, we can bring the focus style back. As far as I can tell,
there's no other difference between the two states.

Both of these screenies have focus on the toggle, but in the first
screenie there's no way to tell.

With the prop:
<img width="397" alt="image"
src="https://github.com/user-attachments/assets/b9a5d764-ec5a-4d3b-b79d-0b52d7bd6891"
/>


Without the prop:
<img width="445" alt="image"
src="https://github.com/user-attachments/assets/3c95c7a6-91de-4ed2-9942-e9fc794e9d40"
/>

Because the component is used in multiple places, this also fixes this
issue in the project flag list (and maybe elsewhere too):
<img width="336" alt="image"
src="https://github.com/user-attachments/assets/6582c58b-fabe-40ce-a141-06b22189a462"
/>
2025-04-07 15:50:07 +03:00
Jaanus Sellin
58d123e998
feat: release plan hover buttons (#9703) 2025-04-07 11:32:31 +03:00
Christopher Kolstad
bd11ece873
fix: consumption warning is either/or not and 2025-04-04 11:09:48 +02:00
Christopher Kolstad
32ae7bc7d1
we don't have historical data available for purchased traffic (#9700)
So this PR removes the purchased dt point, as well as the total
available. Using the same check our overageCalculation does (it also
only works on current month)
2025-04-04 11:08:20 +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
Gastón Fournier
2748ced8e2
feat: only admin can fetch license (#9697)
Non admins can not fetch the license they're still allowed to check it
but not to get it
2025-04-03 16:26:36 +02:00
Tymoteusz Czech
821851a2f3
fix: depenency name truncator (#9696)
![image](https://github.com/user-attachments/assets/ce8d1dc4-d03a-4b42-aa30-c5cae3b6f53c)
2025-04-03 13:45:25 +00:00