Thomas Heartman
14b6b38238
feat(1-3379): add stale badge to the new header ( #9320 )
...
Without this, there's no way to tell if a flag is stale or not on the
flag page, so we're adding it back in. However, we'll only show the
badge if it's stale, not if it's an active flag.
Stale flag with badge:

When it wraps:

To make the badge line up properly when it wraps, I removed the
hard-coded margin in the badge. To counteract that, I've also removed
the hard-coded margin in the "copy name" button and switched to using
flex gaps to sort that.
It still looks right.
Before:

After:

2025-02-18 12:34:46 +00:00
Thomas Heartman
f4e87389f1
fix: make the chip in the playground project selector small ( #9298 )
...
This makes it the same size as the env selector, fixing a slight
visual misalignment.
Doing a reference check, I can't find any other uses of this selector,
so I'm making the changes directly.
Before:

After:

2025-02-12 09:38:49 +01:00
Nuno Góis
3bc72c84e0
chore: make truncator a span ( #9272 )
...
https://linear.app/unleash/issue/2-3255/make-truncator-a-span-instead-of-a-box
Makes the Truncator a `span` instead of a `Box`.
This should make it more flexible and help us avoid DOM nesting errors.
2025-02-10 12:29:58 +00:00
Nuno Góis
c07fb589a7
chore: add release management to new in unleash ( #9257 )
...
https://linear.app/unleash/issue/2-3244/add-release-management-to-new-in-unleash
Adds release management to "New in Unleash".

2025-02-07 14:33:25 +00:00
Tymoteusz Czech
54e4fd2190
chore: remove lifecycle v2 flag ( #9224 )
2025-02-06 14:54:45 +01:00
Nuno Góis
4871cd57d1
chore: mark release management as an enterprise feature ( #9229 )
...
https://linear.app/unleash/issue/2-3093/sales-pitch-ui-for-release-management-to-show-non-enterprise-users
Marks Release Management as a premium Enterprise feature.
Once the `releasePlans` flag is enabled for everyone / removed, this is
what non-Enterprise users will see:

2025-02-06 09:59:38 +00:00
Thomas Heartman
2ff385a4b6
fix(1-3295): fix broken skip link ( #9239 )
...
Fixes the issue where the skip link wouldn't take you to the main
content of the page anymore.
Also includes a few related minor semantic and a11y improvements:
1. The `main` element now only surrounds the actual main content of the
page. The sidebar is nav content and shouldn't be within it. The easiest
way to do this was to change the element that was previously a `main` to
a `div` and make the main content wrapper a `main` instead.
2. Makes the skip link target visible when focused. But invisible
otherwise. This has two benefits:
1. It's immediately obvious that using the skip link has worked. It
tells you that it's at the start of the main content.
2. Because the link now has text, it can be targeted by link search
(e.g. in Firefox, press `'` to search for links (I use this **a lot**)),
making it super easy to move your focus to the main content directly.
(Yes, landmark navigation should also work here, though, especially with
the `main` change).
The implementation of UI considerations of the skip link are based on
the CSS-tricks article [a deep dive on skipping to
content](https://css-tricks.com/a-deep-dive-on-skipping-to-content/ )
from 2021.
Here's what it looks like when you skip to content:

When it doesn't have focus, it's invisible.
2025-02-06 10:21:56 +01:00
Gastón Fournier
a4a5687687
feat: render markdown in toats ( #9207 )
...
## About the changes
Toasts sometimes render messages that are in markdown format. This
changes how we display them from

to this:

2025-02-04 16:35:25 +01:00
Mateusz Kwasniewski
c68a542a63
refactor: project users virtual autocomplete ( #9196 )
2025-02-04 10:04:36 +01:00
Thomas Heartman
e72a7c1197
chore(1-3316): update request info boxes to new design ( #9180 )
...
Updates the existing number of requests and overage info boxes to the
new design.
The existing versions of the boxes had some issues on narrower screens,
so it was easier to just leave them as is and start from scratch.
The previous boxes on narrow screens:

The current ones (from wide to narrower):
Wide

Mid (the text should probably ideally wrap at the same time here, but
I'm not sure how at the moment)

Narrow

Extra narrow:

There's still some work we **could** do, but we should have UX have a
look first. In particular, it's about how the text wraps in certain
places etc, but I think it's good enough for now.
I'll come back with tests for the calculations and some refactoring and
cleanup in a followup.
2025-01-31 14:05:36 +01:00
Thomas Heartman
7ca8cc2276
fix: dynamic highlight width ( #9166 )
...
This makes the width of the highlight bars in the network dynamic and
based on the number of labels included in the chart.
Since the number of labels should always correspond to the number of
data points, this seems like a sensible approach.
With this, the label width will now be calculated on the fly, so even if
you resize the window or change the number of labels, the highlighting
will still work as expected.
Daily view:

Monthly aggregate:

The labels are now a little narrower on the daily graphs, but it avoids
them being super wide on the monthly graphs
2025-01-29 12:03:31 +01:00
Tymoteusz Czech
50ab2c9d61
feat: rename lifecycle stages ( #9102 )
...
Name names for "lifecycle" stages, and aligning frontend types.
2025-01-16 08:41:11 +00:00
Nuno Góis
3eeab7e80b
chore: new release plan template card ( #9096 )
...
https://linear.app/unleash/issue/2-3125/improve-release-plan-template-cards
Improves the release plan template cards.
This PR introduces a new reusable `Card` component to help us render
cards with the new design. The GroupCard is also adapted to use this new
`Card` component in this PR, since that was the latest one to be
upgraded, however other items like projects and integrations are not. We
can migrate them to this new component at a later stage in separate PRs.
### Before

### After

2025-01-14 13:49:50 +00:00
Tymoteusz Czech
91cebc5afc
fix: text overflow on project users access page ( #8853 )
...
Remove scrollbar in project settings - user roles
2025-01-10 09:51:42 +01:00
Nuno Góis
537ef42f7d
chore: mark SSO as an Enterprise only feature ( #9071 )
...
https://linear.app/unleash/issue/2-3124/mark-sso-as-an-enterprise-only-feature
For all intents and purposes, SSO seems to have always been an
Enterprise only feature. It just wasn't very clear previously.
See: https://github.com/Unleash/unleash/pull/9045/files#r1899635618

2025-01-09 13:07:28 +00:00
Nuno Góis
7eced2962f
chore: new user avatar tooltip ( #9050 )
...
https://linear.app/unleash/issue/2-3109/improve-avatar-tooltip
I noticed our current user avatar tooltip is a bit poor.
This PR tries to improve it a bit using only the data we already have
available, without any drastic changes.
### Before

### After

### Other examples after the changes




---------
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2025-01-03 10:26:02 +00:00
Nuno Góis
67c1274a1b
chore: group cards redesign ( #9048 )
...
https://linear.app/unleash/issue/2-3108/cards-design-groups
Redesigns the group cards.
Like instructed in the task, I took inspiration from the project and
integration cards, along with the Figma sketch.
Also includes a new `Truncator` generic helper component.
### Before

### After

Hovering over the "X projects" label reveals the projects the group
belongs to. You can navigate to any project by clicking its badge.

Truncated titles and descriptions show a tooltip with the full text on
hover.


2025-01-02 15:08:15 +00:00
Mateusz Kwasniewski
e0b4e258dc
feat: grouping of project level roles in autocomplete ( #9046 )
2024-12-31 10:44:48 +01:00
Mateusz Kwasniewski
18cd0e2cdb
fix: legal values styling in segments ( #9044 )
2024-12-31 08:45:17 +01:00
Nuno Góis
adaf91a791
chore: remove Unleash AI ( #9010 )
...
https://linear.app/unleash/issue/2-3071/finish-experiment
Removes Unleash AI.
Also removes other related changes made during the experiment
development.
2024-12-20 11:02:49 +00:00
Mateusz Kwasniewski
da16b316aa
feat: date range selector ( #8991 )
2024-12-18 10:40:50 +01:00
Melinda Fekete
311df82d37
Strategy docs updates ( #8711 )
...
- New navigation for Unleash Concepts
- Updated and restructured activation strategies and related concepts
2024-12-11 10:38:39 +01:00
Thomas Heartman
b2c58102dd
chore(unl-204): remove uses of toast text and confetti ( #8941 )
...
As of PR #8935 , we no longer support both text and title, and confetti
has been removed.
This PR:
- removes `confetti` from the toast interface
- merges `text` and `title` into `text` and updates its uses across the
codebase.
- readjusts the text where necessary.
2024-12-10 13:38:04 +00:00
Thomas Heartman
2f7beceb21
chore(unl-204): make toasts smaller ( #8935 )
...
This PR makes toasts smaller and less intrusive, and gives them a new
color scheme.
Changes include:
- new color scheme
- no description, only title
- new padding
- removes confetti code (even when rendered, they're invisible; UX also
says to cut it)
- use warning triangle for error messages
I've also set a max height on the container and made it scrollable if
it's too tall to deal with super long messages.
I'll remove the description and confetti props in a separate PR to keep
this one cleaner.
Light mode:


Dark mode:


With line break (min-width):

With line break (max-width):

With very long message on phone in landscape mode:

2024-12-10 13:10:04 +00:00
Mateusz Kwasniewski
4b443e2a57
fix: adjust favorite icon placement ( #8930 )
2024-12-06 12:38:40 +01:00
Nuno Góis
ff9492d4f7
fix: permission button unintended full width behavior ( #8920 )
...
Follow-up to https://github.com/Unleash/unleash/pull/8882
The referenced PR caused an unintended behavior by making the button
behave like a normal button would on certain parent containers.
Previously, the span wrapper caused a side effect that restricted the
button’s width, which we were relying on.
By setting some initial styling properties, this PR should hopefully
satisfy both use cases.



2024-12-05 09:23:06 +00:00
Mateusz Kwasniewski
b6d4a5f9bc
feat: favorites take less space ( #8888 )
2024-11-29 10:12:31 +01:00
Nuno Góis
226b48930e
fix: permission button tooltip behavior ( #8882 )
...
https://linear.app/unleash/issue/2-3039/fix-the-tooltip-behavior-in-permission-buttons
Improves the tooltip behavior of our permission button component.
This is achieved by removing the extra `span` element that is wrapping
the `Button` component.
#### Before
The tooltip is not correctly aligned with the button. The lower section
of the button is not clickable.

#### After
The tooltip is correctly aligned with the button. Every visible part of
the button is clickable.

2024-11-28 16:38:11 +00:00
Mateusz Kwasniewski
cf741c6845
chore: update utm links ( #8835 )
2024-11-22 10:04:41 +01:00
Mateusz Kwasniewski
c927c6f32b
feat: create project upgrade link ( #8822 )
2024-11-21 12:09:44 +01:00
Jaanus Sellin
1af204e0f0
feat: now pay as you go billing banner has link ( #8761 )
...
My intuition wanted to click on it to start paying, but it did not work.
Changed condition to show it for pay as you go.

2024-11-15 09:26:49 +02:00
Thomas Heartman
b87c47d7c4
1-3083: add remaining lifecycle header + tooltip ( #8722 )
...
This PR adds a header and a tooltip to the lifecycle widget. Most of the
changes in ProjectLifecycleSummary is indentation changes due to
wrapping the component in another row container.
Additionally, this PR touches the `HelpIcon` component because we'd like
the tooltip to be wider than what we currently set as the default for
the help icon. The help icon uses the html tooltip component, which has
a maxWidth prop, but it does not expose that. So I've adjusted it to let
you do that.
Header with tooltip:

2024-11-13 10:16:35 +01:00
Nuno Góis
b4fde58fa0
chore: flag overview page redesign - environments ( #8683 )
...
https://linear.app/unleash/issue/2-2826/enabling-environment-via-feature-flag-environment-section-header
https://linear.app/unleash/issue/2-2825/feature-flag-list-bottom-left-to-be-a-nav-section
Follow-up to: https://github.com/Unleash/unleash/pull/8663
Implements most of the remaining work for our flag overview page
redesign.
Most of the code you see is a straight copy/paste from our older
existing components, with the slight improvement here and there.
Includes some improvements to our vertical tabs component to suit our
use case.
Also updates the Demo flow accordingly. I did some manual tests and it
seems to work decently in both scenarios, whether `flagOverviewRedesign`
is enabled or not. The demo needs some love but that's a story for a
different PR and a different time.
Once again, due to the duplicate file pattern, we should remember to
clean this up if we decide to remove the flag.
<img width="1086" alt="image"
src="https://github.com/user-attachments/assets/0c375e34-cbb5-4ac4-a764-39a36b6c6781 ">
2024-11-08 09:56:46 +00:00
Nuno Góis
328fac39a2
fix: console errors from highlight component and tag key prop placement ( #8669 )
...
Addressing some oversights that led to browser console errors.
This PR fixes console errors related to the recently introduced
highlight component (#8643 ) and tag row component in the new flag
metadata panel (#8663 ).
2024-11-06 11:09:33 +00:00
Nuno Góis
38bd50dc8a
refactor: introduce a highlight reusable component ( #8643 )
...
Follow-up to: https://github.com/Unleash/unleash/pull/8642
Introduces a reusable `Highlight` component that leverages the Context
API pattern, enabling highlight effects to be triggered from anywhere in
the application.
This update refactors the existing highlight effect in the event
timeline to use the new Highlight component and extends the
functionality to include the Unleash AI experiment, triggered by its
entry in the "New in Unleash" section.
2024-11-05 09:21:19 +00:00
Jaanus Sellin
ca307b2bab
feat: archived label tooltip correct format ( #8610 )
...

2024-10-31 13:28:35 +02:00
Jaanus Sellin
90ed7b6079
feat: archived row styling ( #8608 )
...
1. Added badge
2. Added archived row styling. Button not clickable and gray

2024-10-31 12:30:00 +02:00
Mateusz Kwasniewski
b7b5a8ae48
fix: stretch strategies underlying root cause ( #8520 )
2024-10-23 16:24:15 +02:00
Tymoteusz Czech
f4abf5308a
test(navigation): snapshot sidebar for different plans ( #8507 )
...
Test navigation element by snapshot for all plans
2024-10-22 09:13:59 +00:00
Thomas Heartman
cb0a26941b
fix: wrap the UserAvatar component in forwardRef ( #8461 )
...
This fixes another one of the warnings we have in our tests and is
probably a sane change to make anyway.
2024-10-16 14:58:34 +02:00
Nuno Góis
9a98f86077
chore: make the Unleash AI chat resizable ( #8456 )
...
https://linear.app/unleash/issue/2-2840/make-the-unleash-ai-chat-window-resizable
This PR makes the Unleash AI chat resizable, providing users with a
flexible way to adjust the chat window's size.
Implements a reusable `Resizable` wrapper component that allows
configuration of:
- Minimum, maximum, and default sizes.
- Customizable resize handlers for each edge and corner of the
container.
- Optional resize event callbacks.
Double-clicking any resize handler maximizes the container along that
axis (or both, if it's a corner). If the container is already maximized,
double-clicking again will revert it to the default size.
2024-10-16 09:15:40 +01:00
Thomas Heartman
6ba87d1436
chore: fix invalid dom nesting ( #8451 )
...
This PR fixes all `invalidDomNesting` errors we're getting in our tests.
The culprit was the `Badge` icon we use, which wrapped its children in a
div. When that's used as a child of a `p` tag, that'd cause this to
trigger.
What I've done is to change the wrapping element to a span instead. The
Badge itself uses an `display: inline-flex`, so divs and spans should be
treated the same, meaning there's no visual change for this.
2024-10-16 08:33:47 +02:00
Thomas Heartman
abef5deaef
chore: remove all deprecated imports of act ( #8398 )
...
don't use `act` from `react-dom`. Instead, use act from `react`
directly, as advised by the deprecation notice.
This PR fixes all of the deprecated import warnings, updates some
testing libraries we use (and tests), and fixes one or two other
warnings.
2024-10-15 13:53:26 +02:00
Tymoteusz Czech
f5a2a18ffc
Add environment types environment order ( #8447 )
2024-10-15 11:00:31 +02:00
Tymoteusz Czech
178940ce7f
fix: environments route should be hidden from menu for open-source ( #8397 )
2024-10-09 15:45:02 +03:00
Tymoteusz Czech
48eee2043f
Frontend for additional environments ( #8378 )
2024-10-08 12:59:41 +00:00
Thomas Heartman
6655b2d961
feat: create page for when you have no projects ( #8285 )
...
This adds a front end fallback screen for when you have no projects.

2024-09-27 10:41:25 +02:00
Nuno Góis
d161fb49ee
chore: implement event grouping in the event timeline ( #8254 )
...
https://linear.app/unleash/issue/2-2663/implement-event-grouping-when-multiple-events-happen-in-a-short-period
This PR introduces a grouping logic for timeline events, enhancing the
way events are displayed when they occur close to each other.
We also updated and refactored components to support handling groups of
events rather than individual events.
Also includes some minor code cleanups and optimizations as part of
general refactoring efforts (scouting).

---------
Co-authored-by: David Leek <david@getunleash.io>
2024-09-26 14:48:52 +01:00
Mateusz Kwasniewski
e33f71a8f4
feat: highlighting flags chart ( #8237 )
2024-09-25 08:36:30 +02:00
Mateusz Kwasniewski
87b997698b
feat: placeholder flag metrics chart ( #8197 )
2024-09-20 11:05:53 +02:00