Thomas Heartman
f6eb572a14
Prevent legal value selection from triggering form submit ( #9831 )
...
Use event.preventDefault to prevent the app from trying to submit the
legal values (or the strategy) form when you hit "enter" in the legal
values filter input.
2025-04-24 10:19:03 +00:00
Thomas Heartman
3bb54c5a9d
feat: 1-3652/legal value selector visual update ( #9829 )
...
Handles the visual changes for the legal value selector widget.
Before:
<img width="792" alt="image"
src="https://github.com/user-attachments/assets/0965d577-c4cf-4c1d-9fe7-f8f90d683988 "
/>
After:
<img width="769" alt="image"
src="https://github.com/user-attachments/assets/33bdf40c-8bbb-4650-a6ba-c4b9e62f8cbd "
/>
I'm still working on improving the functionality of selecting from the
search input and not losing focus when you select/deselect an item (both
of these work (mostly) as expected on hosted, so we've introduced a
regression somewhere).
2025-04-24 12:17:05 +02:00
Jaanus Sellin
b05e12d028
feat: remove warning boxes for empty values ( #9830 )
...
We had issues, where when you selected the operator, these boxes were
jumping up. The problem was that the illegal value checker was marking
empty values as illegal also.
Now empty value is not included in illegal values.

2025-04-24 11:41:14 +03:00
Nuno Góis
26f582db21
chore: add terraform to integrations ( #9827 )
...
https://linear.app/unleash/issue/2-2565/add-terraform-to-list-of-integrations
Adds Terraform to our integrations list.
It links to: https://docs.getunleash.io/reference/terraform
<img width="769" alt="image"
src="https://github.com/user-attachments/assets/28edb65f-a56d-4ffc-8ce3-cbb6bde6b19b "
/>
2025-04-23 16:11:18 +01:00
Jaanus Sellin
08c11664ce
feat: change requests, use new accordion list not legacy ( #9825 )
...
This should be final piece where old accordion is used.

2025-04-23 17:37:54 +03:00
Thomas Heartman
9977b3e0f8
fix: legal value selector chips and option updates ( #9819 )
2025-04-23 14:41:28 +02:00
Tymoteusz Czech
b179f86fb7
fix: stale flag status chip ( #9821 )
2025-04-23 12:02:58 +00:00
Jaanus Sellin
31dbef84f6
feat: move away from old accordion list, create/edit segment ( #9820 )
...
This is one path that is using old component, that we can update.

2025-04-23 15:02:13 +03:00
Thomas Heartman
08d0907d89
Always show the value list + hide "add values" on non-free text entries ( #9817 )
...
Removes the condition to hide the value list if we use legal values.
In doing so, I also realized that focus handling when you delete the
last item in the constraint values list doesn't work if the add values
button isn't there (which it shouldn't be for legal values and more). So
I've hidden the add values button when it doesn't do anythnig helpful
(or for cases where we don't have designs yet). In cases where you don't
have the add values button and you delete the last constraint value,
we'll move the focus to the "delete constraint" button (that was easier
than making sure we pass refs all the way down into the operator select,
but we can change that later).
To facilitate this (refs coming from the parent component), I refactored
the value list component to accept the add values widget as a child (and
extracted it to its own file).
2025-04-23 10:59:10 +02:00
Nuno Góis
dbe2f9b6bd
chore: remove demo plans dialog ( #9816 )
...
https://linear.app/unleash/issue/2-3531/remove-pricing-pop-up
We decided to remove this dialog in favor of linking directly to
https://www.getunleash.io/pricing
2025-04-23 08:55:49 +01:00
Jaanus Sellin
a2e39a05c4
chore: clean up old accordion code path ( #9813 )
...
Remove unused code.
2025-04-23 10:52:01 +03:00
Thomas Heartman
77d72ce5a1
Stop "add values" from closing on adding a value ( #9815 )
...
Instead of closing the "add values" popover when you add a value, we now
keep it open to facilitate rapid entry of multiple values. It already
clears successfully and adds the new value to the list, so it's actually
quite smooth to use from just the keyboard now!
Additionally, I propose using a `form` element for the add values
popover, because it really is just a tiny form. This also allows us to
use regular form handling instead for submission instead of checking
what key the user pressed. It also means we don't need to specify the
action in the button, because the form handles it.
There's a few more things fixed:
- I've added a label (only visible to screen readers) to the input label
(as per standard a11y guidelines).
- When you add a value by pressing the "add" button, your focus returns
to the input field, so that you can just start typing out the next one.
this is handy if you submit by mouse click or by tabbing to the button
instead of just hitting enter inside the input field.
2025-04-23 09:32:37 +02:00
Mateusz Kwasniewski
da05c7be5c
chore: remove disable notifications UI ( #9814 )
2025-04-22 15:03:15 +02:00
Tymoteusz Czech
9d98d0771e
fix: strategy-reorder tooltip padding ( #9811 )
...
Tooltip is created a gap on the right side of flag overview page
2025-04-22 14:26:40 +02:00
Mateusz Kwasniewski
a22f5d0201
chore: adjust reminder days ( #9810 )
2025-04-22 12:29:07 +02:00
Thomas Heartman
150a044207
Use svg icons for case sensitivity button and give it better textual representation ( #9808 )
...
Light mode:
<img width="110" alt="image"
src="https://github.com/user-attachments/assets/dba5dd69-685c-4259-ba07-f50ad7c66833 "
/>
<img width="265" alt="image"
src="https://github.com/user-attachments/assets/1ac2e71b-36f7-4a90-b96c-38f9aee4cb51 "
/>
Dark mode:
<img width="311" alt="image"
src="https://github.com/user-attachments/assets/780c2110-2871-4634-b755-e3e0e3681826 "
/>
<img width="285" alt="image"
src="https://github.com/user-attachments/assets/fdf0d790-eee6-4640-823a-758570c53b2f "
/>
2025-04-22 12:25:05 +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
Tymoteusz Czech
18850a5156
feat: move 'copy flag name' button ( #9805 )
...
- moved "copy flag name" action next to the flag name
- refactored this component into a separate file
- added "Ctrl+C" shortcut
2025-04-22 11:12:37 +02:00
Jaanus Sellin
bc7856a23a
feat: enter will select the first filtered value ( #9807 )
...

2025-04-21 16:56:54 +03:00
Mateusz Kwasniewski
916ee157ab
refactor: pass feature to feature overview metadata component ( #9803 )
2025-04-18 14:24:48 +02:00
Mateusz Kwasniewski
e436cf72e6
feat: revert to production ( #9802 )
2025-04-18 11:42:43 +02:00
Mateusz Kwasniewski
78f0d02a84
feat: snooze reminder tracking ( #9798 )
2025-04-18 10:10:13 +02:00
Tymoteusz Czech
6403ae7f9b
feat: futureproofing last viewed page redirect ( #9794 )
...
You should not be able to break initial page redirect even if you set
'/' as target. It is not strictly needed in the current code path. This
will create a redirect loop only if you manually modify local storage.
It just makes this part safer if it is ever modified.
2025-04-17 17:40:04 +02:00
Nuno Góis
ee9b0a0193
chore: demo misc improvements ( #9796 )
...
https://linear.app/unleash/issue/2-2577/transition-screen-between-the-guides
https://linear.app/unleash/issue/2-2582/page-scrolls-in-back
Includes what should be the last batch of demo improvements at this
stage:
- Visually aligns the Back button for consistent layout
- Replaces “Start” with “Start tutorial” for new topics
- Updates topic titles for clarity and consistency
- Applies bold styling to all step titles
- Prevents page scroll when the step target is set to body
2025-04-17 15:56:59 +01:00
Nuno Góis
e6813a4910
chore: set new demo step titles ( #9795 )
...
https://linear.app/unleash/issue/2-3517/change-titles-on-various-steps-in-flow
Updates the titles of our demo flow steps as per the designs.
Took some liberties, as always, as e.g. some optional steps were not
covered by the designs.
2025-04-17 13:52:54 +01:00
Mateusz Kwasniewski
7285607cad
feat: remind me later about cleanup ( #9790 )
2025-04-17 14:06:26 +02:00
Tymoteusz Czech
d60ea1acd4
feat: redirect logic refactor ( #9734 )
2025-04-17 12:07:08 +02:00
David Leek
d406420223
chore: menu cleanups ( #9792 )
2025-04-17 11:59:35 +02:00
Tymoteusz Czech
5ef33b56d6
fix: import path for formatOperatorDescription ( #9791 )
...
Fixing build on main
2025-04-17 09:43:45 +00:00
Tymoteusz Czech
9d2174534f
refactor: deprecate old ConstraintAccordion and point to new version ( #9613 )
...
Code for constraint accordion was copy-pasted before previous
improvement. Old version is still in use for Segments. When we get to
improving constraint editing we should rebuild segments editing, without
use of this code.
2025-04-17 11:16:32 +02:00
Jaanus Sellin
923578c9ea
feat: add values chip styling ( #9789 )
...
Made chips coloring and paddings correct.

2025-04-17 11:54:19 +03:00
Jaanus Sellin
9678054116
feat: styling of new add values ( #9788 )
...
1. Moved add values to the left.
2. Popover has new styling, as in designs

2025-04-17 11:30:36 +03:00
Nuno Góis
d988b61764
chore: update demo final steps content ( #9782 )
...
https://linear.app/unleash/issue/2-2580/change-text-on-last-steps-of-guides-environment-toggle
Updates the demo final steps content as per the designs.
Took some liberties for the third topic, as it was always about gradual
rollout, not variants.
2025-04-17 09:01:11 +01:00
renovate[bot]
61c98a9994
chore(deps): update dependency http-proxy-middleware to v2.0.8 [security] ( #9787 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[http-proxy-middleware](https://redirect.github.com/chimurai/http-proxy-middleware )
| [`2.0.7` ->
`2.0.8`](https://renovatebot.com/diffs/npm/http-proxy-middleware/2.0.7/2.0.8 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
### GitHub Vulnerability Alerts
#### [CVE-2025-32996](https://nvd.nist.gov/vuln/detail/CVE-2025-32996 )
In http-proxy-middleware before 2.0.8 and 3.x before 3.0.4, writeBody
can be called twice because "else if" is not used.
---
### Release Notes
<details>
<summary>chimurai/http-proxy-middleware
(http-proxy-middleware)</summary>
###
[`v2.0.8`](https://redirect.github.com/chimurai/http-proxy-middleware/releases/tag/v2.0.8 )
[Compare
Source](https://redirect.github.com/chimurai/http-proxy-middleware/compare/v2.0.7...v2.0.8 )
#### What's Changed
- fix(fixRequestBody): prevent multiple .write() calls by
[@​chimurai](https://redirect.github.com/chimurai ) in
[https://github.com/chimurai/http-proxy-middleware/pull/1090 ](https://redirect.github.com/chimurai/http-proxy-middleware/pull/1090 )
- fix(fixRequestBody): handle invalid request by
[@​chimurai](https://redirect.github.com/chimurai ) in
[https://github.com/chimurai/http-proxy-middleware/pull/1091 ](https://redirect.github.com/chimurai/http-proxy-middleware/pull/1091 )
- chore(package): v2.0.8 by
[@​chimurai](https://redirect.github.com/chimurai ) in
[https://github.com/chimurai/http-proxy-middleware/pull/1094 ](https://redirect.github.com/chimurai/http-proxy-middleware/pull/1094 )
**Full Changelog**:
https://github.com/chimurai/http-proxy-middleware/compare/v2.0.7...v2.0.8
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "" 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-16 20:10:43 +00:00
Mateusz Kwasniewski
b31845b63c
feat: archive reminder icon ( #9781 )
2025-04-16 16:07:33 +02:00
Nuno Góis
176e9d3187
chore: improve demo auth screen ( #9780 )
...
https://linear.app/unleash/issue/2-2575/adjust-text-login-screen
Adjusts the text for the demo auth screen.
Also took some liberties to improve the visual design of this page (at
least, IMO).
### Before

### After

2025-04-16 15:07:22 +01:00
Nuno Góis
f3a1da9d7e
chore: make demo back button variant text ( #9772 )
...
https://linear.app/unleash/issue/2-2576/make-back-button-less-dominant
Make demo "Back" button `variant='text'` so it's less predominant
visually.
### Before

### After

2025-04-16 14:52:54 +01:00
Nuno Góis
d3d618c9ad
chore: improve demo finish CTA ( #9773 )
...
https://linear.app/unleash/issue/2-2578/change-cta-text-finished-screen
Improves the demo finished dialog CTA.
2025-04-16 14:48:12 +01:00
Mateusz Kwasniewski
a2a8c06003
feat: archive reminder ( #9779 )
2025-04-16 15:47:35 +02:00
Mateusz Kwasniewski
bf8a9b31b3
feat: cleanup reminder ( #9776 )
2025-04-16 15:01:07 +02:00
David Leek
ab594f5c29
feat: move admin menu into nav sidebar ( #9774 )
2025-04-16 14:58:37 +02:00
Nuno Góis
86cfb2f651
fix: demo flow step 4 is too eager on add strategy ( #9771 )
...
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 #9770
This "add strategy" step of `demoApp.step4` was a bit too eager and did
not properly wait for the accordion to be fully expanded. This change
makes it consistent with the same step in `demoApp.step2`, also
improving its "back" behavior.
2025-04-16 13:14:31 +01:00
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.

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 />
[](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