1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-16 00:06:40 +01:00
Commit Graph

3192 Commits

Author SHA1 Message Date
David Leek
bdce76e84a
chore: command bar refactor of search result items for consistent styling and icons (#7483) 2024-06-28 12:40:44 +02:00
David Leek
d01aba955a
chore: rename recent and page suggestions (#7484)
Renames and moves recently visited and page suggestions to match name
pattern
2024-06-28 13:18:27 +03:00
Mateusz Kwasniewski
5bd32f264d
feat: strategy limit to 30 (#7473) 2024-06-28 11:18:44 +02:00
Jaanus Sellin
82a53fa9b3
feat: introduce large cache for swr (#7470)
Previously, clearing the SWR cache cleared all entries. Now you can
configure the cache size.

1. This makes the search more fluid. Previously, if you went back and
forth on pages, you were always sent to the loading state.
2. This also solves the issue where the command bar search cleared the
cache for all other searches.
3. Additionally, it addresses the problem where the global search
cleared the cache for project search.
2024-06-28 10:44:35 +03:00
Mateusz Kwasniewski
b67c73a578
chore: resource limits flag (#7471) 2024-06-27 14:25:07 +02:00
Christopher Kolstad
f4e3388606
task: Yarn v4 (#7457)
Moves to Yarn v4

---------

Co-authored-by: Alvin Bryan <107407814+alvinometric@users.noreply.github.com>
2024-06-27 12:52:43 +02:00
Jaanus Sellin
82822a735b
feat: command bar track events (#7469)
Start tracking plausible events

1. Log the search keywords that returned 0 results
2. Track all clicks, based on source(search/recents/pages), type etc.
2024-06-27 12:48:57 +03:00
Tymoteusz Czech
083273b49b
fix: prevent strategy variant weight from going into negative numbers on Frontend (#7460)
Added validation if sum goes over 100%. Remaining split is never negative
2024-06-27 09:06:59 +00:00
Tymoteusz Czech
1cdbd21212
fix: strategy form buttons spacing (#7468) 2024-06-27 11:04:06 +02:00
Tymoteusz Czech
4c1d8dd423
fix: banner duplication on strategy edit with change requests (#7452)
## About the changes
Only one banner info about the outcome of strategy edit should appear
when change requests are enabled.


![image](https://github.com/Unleash/unleash/assets/2625371/72e734b4-14b2-4179-9d31-6382f4c9575d)


[issue/1-2292](https://linear.app/unleash/issue/1-2292/bug-do-not-show-feature-toggle-is-currently-enabled-banner-when-change)
2024-06-27 10:04:02 +02:00
Jaanus Sellin
e8511789fd
feat: command menu items can have description as tooltip now (#7455)
![image](https://github.com/Unleash/unleash/assets/964450/7a55a1a7-7aea-4f9c-96ac-46adf2edd36f)
2024-06-26 12:39:53 +03:00
Jaanus Sellin
b5e329e22d
feat: search only features when there is search string (#7450)
Now the search hook is inside another component, so we do not get
searches without search query.
Also we had 2 state variable handing the search query. Removed one of
them.
2024-06-25 16:17:17 +03:00
David Leek
ffe306714b
feat: tweak command bar UI styles to match sketches (#7447) 2024-06-25 14:30:39 +02:00
Jaanus Sellin
ed9d0cccbc
feat: now able to search pages (#7446)
Now can search pages
2024-06-25 15:29:36 +03:00
Mateusz Kwasniewski
7e5ce08ea8
fix: long project name display (#7435) 2024-06-25 12:22:03 +02:00
Jaanus Sellin
3961c1abf0
feat: now command bar will not search behind the scene (#7443)
Previously it was doing request to search behind to scenes, when noone
was using the nav bar. This fixes it.
2024-06-25 12:53:23 +03:00
Thomas Heartman
8ef59cd45d
chore: change "toggle updated" to "flag updated" in toast message (#7439)
This message appears to have been missed when we did the previous
migration from "toggle" to "flag".
2024-06-25 09:34:44 +02:00
Thomas Heartman
0af5bbad38
chore: remove createProjectWithEnvironmentConfig and newCreateProjectUI flags (#7429)
This PR removes the last two flags related to the project managament
improvements project, making the new project creation form GA.

In doing so, we can also delete the old project creation form (or at
least the page, the form is still in use in the project settings).
2024-06-24 12:53:55 +02:00
Nuno Góis
4736084e00
fix: check for permission in group access assignment (#7408)
Fix project role assignment for users with `ADMIN` permission, even if
they don't have the Admin root role. This happens when e.g. users
inherit the `ADMIN` permission from a group root role, but are not
Admins themselves.

---------

Co-authored-by: Gastón Fournier <gaston@getunleash.io>
2024-06-18 17:06:34 +01:00
Thomas Heartman
1f4126e495
fix: make rendering of new project form independent of rendering the project list (#7405)
This change takes the rendering of the new project form component and
puts in a child component of the project list, thereby
significantly speeding up the time it takes to render the form if you
have lots of projects (about to 10x for 50 projects on my machine).

The reason it was so slow before was that the open state of the form
component was stored in the project list component. This meant that
whenever you wanted to open or close the form, you'd have to rerender
the entire project list.

This change abstracts that process into the new ProjectCreationButton
component. This component takes care of checking the feature flag for
whether to render the dialog or to send the user to the old form, and
takes care of state management for the dialog.

Because this is a child component of the project list, it does not
cause rerenders of the entire project list.
2024-06-18 09:36:36 +02:00
Thomas Heartman
ccc332a764
chore: delete ice cream icon 🍦 (#7403)
This was added back in may 2021
(https://github.com/Unleash/unleash-frontend/pull/285), but was never
used. Maybe it's time
to remove it.
2024-06-17 11:26:06 +02:00
Jaanus Sellin
10d2a295c7
feat: menubar is not dependant on query params anymroe (#7399)
Previously since query params were changing by global search, and
menubar was also altering them, they were conflicting. Menubar does not
need query params as state. So using search hook directly.
2024-06-14 12:26:52 +03:00
David Leek
9b789ea5ef
feat: command bar pages and name resolving (#7397) 2024-06-14 11:22:55 +02:00
Mateusz Kwasniewski
7e565760f6
fix: lifecycle button permissions (#7395) 2024-06-14 10:26:54 +02:00
Jaanus Sellin
09d9676d66
feat: command bar search projects (#7388)
Now can search for projects.
Also adding debounce to not spam backend with requests. Also the UI is
less flickery.
2024-06-13 14:47:34 +03:00
Tymoteusz Czech
582b33e121
Feat: feature view created by field - frontend (#7382)
add "Created by:" to feature overview meta and align other items
2024-06-13 13:00:57 +02:00
Mateusz Kwasniewski
1c2aa128be
fix: exclude lifecycle from stale checks (#7386) 2024-06-13 12:37:29 +02:00
David Leek
50316a2f23
feat: command bar last visited: improve project/feature icons and paths (#7383) 2024-06-13 09:43:39 +02:00
David Leek
507a2bca83
chore: add some tests for the useRecentlyVisited hook (#7380) 2024-06-13 08:38:51 +02:00
Jaanus Sellin
21088b745d
feat: search features from command bar (#7378)
Now searching works in command bar

1. Currently piggybacking on the search hook, but I think it is not fast
enough, and also it is using the query params as the global search. This
causes some weird behaviour in UI. This probably means we will create
separate endpoint for this.


![image](https://github.com/Unleash/unleash/assets/964450/a24f41ae-93d7-4ebe-a92b-c20dfe7cb666)
2024-06-12 21:24:22 +03:00
Mateusz Kwasniewski
77a5b85d6b
feat: recent project by name (#7375) 2024-06-12 13:40:05 +02:00
Gastón Fournier
a0fce0ec12
Revert "fix: yarn v4 requires prepack instead of prepare script when building…" (#7373)
Reverts Unleash/unleash#7371
2024-06-12 13:25:51 +02:00
Jaanus Sellin
ffe1305934
feat: extract global feature search (#7372)
We need global search for command menu, so extracting into separate
hook.
2024-06-12 13:32:13 +03:00
Christopher Kolstad
a971c770e9
task: Yarn v4 (#7345)
Trying again, this time with correct .gitignore already setup, and a
workflow configured to try what was failing prior to our revert.
2024-06-12 11:18:21 +02:00
Thomas Heartman
4c4d6e8aeb
chore: use new ScreenReaderOnly component in config buttons (#7352)
This PR uses the new ScreenReaderOnly component in existing code,
replacing custom code with a shared component.
2024-06-12 11:04:47 +02:00
Thomas Heartman
2191de7713
chore: disable filtering for unknown users (#7369)
This PR disables the filtering capability in the front end for unknown
users.

Modifying the back end to support filtering for unknown users is not
something we want to do yet. It's possible, but it requires adding a lot
of special cases to the handling code (refer to [PR
#7359](https://github.com/Unleash/unleash/pull/7359)), which we'd like
to avoid if possible. To avoid annoying cases where the filtering
doesn't work as expected and breaks user expectations, we're disabling
the filtering capability for unknown users in the front end.

We can consider whether to enable back-end results for unknown in the future if we get
user feedback that it's important.

This PR works by changing the avatar cell component. When the user has
id 0 (and is therefore unknown), we:
- set aria-disabled to true. This alerts users with assistive tech that
the button is disabled, but it doesn't take it out of the tab order, so
it's not mysteriously missing.
- change the tooltip text, telling users that they can't filter by
unknown users.
- disable the avatar callback function, so clicking on the avatar
doesn't do anything.

The accompanying tests assert this functionality.

I considered also updating the screen reader text, but I think that
would add more confusion or be more information than the user needs.
According to MDN's article on the [aria-disabled
attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-disabled):

> [the aria-disabled] declaration will inform people using assistive
technologies, such as screen readers, that such elements are not meant
to be editable or otherwise operable.
2024-06-12 07:41:40 +00:00
Jaanus Sellin
7fc87e1647
feat: clean up command bar props (#7368)
A lot of things were passed in for search, but since we only have single
command bar, we do not need them and it was bloating our component.
2024-06-12 09:24:16 +03:00
Tymoteusz Czech
3c109a7577
Feat/change request comments formatting (#7360) 2024-06-11 15:49:22 +02:00
David Leek
576dd04dc5
feat: command bar poc (#7350)
Command bar PoC using clone of search

---------

Co-authored-by: sjaanus <sellinjaanus@gmail.com>
2024-06-11 15:27:59 +03:00
Thomas Heartman
cfcf13980e
chore: use HTML (custom) tooltip for permission switches (#7355)
This PR changes the environment permission switch to use the HTML
tooltip instead of the default MUI tooltip. This aligns with how we've
been doing tooltips recently.

The main driver behind this change was that the project flag table used
two different tooltips. This makes it so that they all look the same,
but it also impacts other places that use the same switch.

In feature flag table:

![image](https://github.com/Unleash/unleash/assets/17786332/4d411285-c00e-41ec-95f9-9e6855d46661)

On flag page:

![image](https://github.com/Unleash/unleash/assets/17786332/11de1daf-7d0f-4214-8dc7-10b11631ce58)

In project env table:


![image](https://github.com/Unleash/unleash/assets/17786332/cc7a3a99-e48c-4989-9a14-2d5d4035a3cb)
2024-06-11 14:03:35 +02:00
Jaanus Sellin
3acb3ad2c2
feat: upgrade from react v17 to v18 (#7265)
**Upgrade to React v18 for Unleash v6. Here's why I think it's a good
time to do it:**
- Command Bar project: We've begun work on the command bar project, and
there's a fantastic library we want to use. However, it requires React
v18 support.
- Straightforward Upgrade: I took a look at the upgrade guide
https://react.dev/blog/2022/03/08/react-18-upgrade-guide and it seems
fairly straightforward. In fact, I was able to get React v18 running
with minimal changes in just 10 minutes!
- Dropping IE Support: React v18 no longer supports Internet Explorer
(IE), which is no longer supported by Microsoft as of June 15, 2022.
Upgrading to v18 in v6 would be a good way to align with this change.

TS updates:
* FC children has to be explicit:
https://stackoverflow.com/questions/71788254/react-18-typescript-children-fc
* forcing version 18 types in resolutions:
https://sentry.io/answers/type-is-not-assignable-to-type-reactnode/

Test updates:
* fixing SWR issue that we have always had but it manifests more in new
React (https://github.com/vercel/swr/issues/2373)

---------

Co-authored-by: kwasniew <kwasniewski.mateusz@gmail.com>
2024-06-11 13:59:52 +03:00
Mateusz Kwasniewski
5225452bfd
fix: remove stale stats widget (#7353) 2024-06-11 12:39:24 +02:00
Thomas Heartman
3643016a0e
feat: filter by user when interacting with the avatar (#7347)
This PR lets you filter by flag creator by interacting with the user's
avatar.


Additionally, I've switched the custom popover for the standard tooltip
that we use elsewhere in the table. This gives the table a more cohesive
feel. As such, I have also deleted the component created in a previous
PR, because it's no longer in use anywhere.

It now looks like this (when tabbed to; notice the focus ring):


![image](https://github.com/Unleash/unleash/assets/17786332/d321d9df-0b17-49c3-bea7-89331df3f994)
2024-06-11 12:15:35 +02:00
Mateusz Kwasniewski
76c8cbad0c
feat: global search by flag type (#7346) 2024-06-11 10:14:29 +02:00
Thomas Heartman
24c0976d56
feat: add popover to users in flags list (#7344)
This PR adds a popover to the user avatars in the flag list.

The popover is similar to the one used for projects and groups, but it
differs in a few ways:
- There's less padding. There's quite a lot of padding in the other
popovers, and it felt like too much for this table.
- It only shows one bit of text (the user's name/username/email). The
other popovers show email and name/username, but we don't have all that
information, so this is a stripped down version.

Flag list popover:

![image](https://github.com/Unleash/unleash/assets/17786332/6a86f638-ba6d-48e0-87e2-078b582697cf)

Group popover:

![image](https://github.com/Unleash/unleash/assets/17786332/d5fc7172-8fcb-4fac-87c4-05f211c0938c)

or if no email

![image](https://github.com/Unleash/unleash/assets/17786332/51955ead-849f-4bfc-81aa-e1852677647c)
2024-06-11 09:40:48 +02:00
Jaanus Sellin
f0f339ead3
fix: revert yarn4 (#7334)
Reverting yarn4, because we are stuck on broker build for couple of days
now.
2024-06-10 14:35:18 +03:00
Thomas Heartman
df3ca10a6d
chore: make the User Avatar size configurable (#7332)
This change makes the width of the user avatar configurable via a new
"avatarWidth" property.

It also sets the width to be `theme.spacing(3)` (currently 24px) for the
feature flag table.

It looks like this now:

![image](https://github.com/Unleash/unleash/assets/17786332/5e12ddad-234e-4e81-9eff-303b116991bb)

It used to look like this:


![image](https://github.com/Unleash/unleash/assets/17786332/357f7a52-7765-4f38-8700-c9884b6c49f0)
2024-06-10 12:43:27 +02:00
Christopher Kolstad
57ddfc9255
fix: yarnv4 requires shebangs in shell scripts to allow execution (#7323) 2024-06-07 14:29:00 +00:00
Mateusz Kwasniewski
7df1321128
test: filter by created by/author (#7307) 2024-06-06 13:20:38 +02:00
Mateusz Kwasniewski
a91b77a7ce
feat: filter by created by (#7306) 2024-06-06 12:59:11 +02:00