1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
Commit Graph

5161 Commits

Author SHA1 Message Date
Thomas Heartman
a5cfd2e80e
feat: handle cases where user has no flags (#8416)
This PR handles the cases where a user has no flags to display. There's
a few different ways this can happen:

1. The user has no project membership.
2. The user has projects, but no flags.

In the first case, we tell them to reach out to their admin.
In the second case, we tell them to go to one of their projects to
create a new flag.

User has no projects:

![image](https://github.com/user-attachments/assets/84b94044-3577-4009-97ae-ab709b94fc2e)


User has no flags:

![image](https://github.com/user-attachments/assets/d7fa2fcc-d758-4d7b-b986-376315150846)
2024-10-10 12:54:42 +02:00
Nuno Góis
d00873c357
chore: add OpenAI API key configuration (#8400)
https://linear.app/unleash/issue/2-2787/add-openai-api-key-to-our-configuration

Adds the OpenAI API key to our configuration and exposes a new
`unleashAIAvailable` boolean in our UI config to let our frontend know
that we have configured this. This can be used together with our flag to
decide whether we should enable our experiment for our users.
2024-10-10 09:43:14 +01:00
Tymoteusz Czech
534dd093d2
Additional environments confirmation dialog (#8407) 2024-10-10 10:26:13 +02:00
Thomas Heartman
5df7b15af0
fix: chart issues in dark mode (#8414)
This PR fixes two issues with the chart in dark mode:
1. Grid lines are almost invisible
2. Placeholder data lines are way too bright

The fix for both is to use the theme's divider color.


![image](https://github.com/user-attachments/assets/1064d081-0cd8-4b2b-97a7-225e29b3af19)


![image](https://github.com/user-attachments/assets/4f046f98-5664-421a-b0a8-620f2dbe96f9)
2024-10-10 10:03:16 +02:00
Thomas Heartman
e6365d8bce
chore: remove graph, update health message (#8403)
Removes the graph and updates the box to show a health message based on
current health if you don't have any trends:

With trends:

![image](https://github.com/user-attachments/assets/5c7a2102-207c-431f-9918-93a910480d48)

Without:

![image](https://github.com/user-attachments/assets/311427ba-38e9-4d49-9c10-2c932982d4d4)
2024-10-10 09:22:45 +02:00
Thomas Heartman
2ae9589e67
chore: move flag activity info to the left (#8411)
Shifts the display of the activity info to the left instead of cramming
it in next to metrics selectors.

![image](https://github.com/user-attachments/assets/baaafd02-c0d8-40ec-92a0-9b22e7d377d8)
2024-10-10 09:22:26 +02:00
Thomas Heartman
42d5eeb7e5
fix: display tick values for chart Y axis (#8412)
This PR adds back in ticks for the Y axis of the chart. The ticks were
removed when updating the no content chart and this was an oversight.
2024-10-10 08:52:25 +02:00
Nuno Góis
d032a91494
chore: add unleashAI feature flag (#8399)
https://linear.app/unleash/issue/2-2773/add-unleashai-feature-flag

Adds the `unleashAI` feature flag, the first step in the Unleash AI
experiment.
2024-10-09 14:10:58 +01:00
Tymoteusz Czech
178940ce7f
fix: environments route should be hidden from menu for open-source (#8397) 2024-10-09 15:45:02 +03:00
Thomas Heartman
23b0401381
feat: make panels collapsible (#8395)
This PR makes the projects and flags panels collapsible. The panels are
expanded by default and can be collapsed by clicking on the panel
header. The state of the panels is saved in localstorage.

As part of this, it also:
- moves the flag exposure metrics next to the metric selectors
- fixes the alignment of the "no exposure" line


![image](https://github.com/user-attachments/assets/b41ca808-f5f0-4e17-8bb1-b1388256354d)

Line alignment:
before:

![image](https://github.com/user-attachments/assets/119320d6-d39d-4c34-815a-8a25c6856ad6)

after:

![image](https://github.com/user-attachments/assets/f5b0fe51-1cda-49f9-8b22-e03988429799)
2024-10-09 14:25:58 +02:00
Jaanus Sellin
ca831f79e5
feat: order additional environments email templates (#8401)
Most of the HTML/styles retaken from existing templates.


![image](https://github.com/user-attachments/assets/5244c8d2-fe80-474a-9e65-a0f5ae4d44c2)
2024-10-09 15:15:27 +03:00
Thomas Heartman
ad35fa9a48
fix: make no data look like no data (#8396)
This PR adjusts what we show for no data to make it clearer that we
actually have no data.

It also makes the graph slightly smaller.


![image](https://github.com/user-attachments/assets/12a009a6-a24d-4821-bb03-c408417011a7)
2024-10-09 13:16:57 +02:00
Tymoteusz Czech
eb2d1fb905
Add configure environments link to project settings (#8391) 2024-10-09 10:24:46 +02:00
Thomas Heartman
f23ba70bb4
feat: add timestamps to project events (#8389)
This PR adds timestamps to project events and displays them in the
"latest events" box in the project details view.

It also changes the font weight of events to be only normal.


![image](https://github.com/user-attachments/assets/69ee4052-fe96-4fc9-ae45-0818acb0570a)
2024-10-09 09:32:58 +02:00
Tymoteusz Czech
18ae49900b
fix: route for environments for pro customers (#8390) 2024-10-08 13:32:05 +00:00
Tymoteusz Czech
48eee2043f
Frontend for additional environments (#8378) 2024-10-08 12:59:41 +00:00
Nuno Góis
99021f373f
chore: update docs URL for event timeline (#8388)
https://linear.app/unleash/issue/2-2767/update-docs-url-in-event-timeline

Updates the event timeline documentation URL to directly link to the
event timeline section.
2024-10-08 12:26:51 +01:00
Jaanus Sellin
787af6f0eb
feat: android/swift slow metric info (#8387)
Two corner cases, android and swift do not post metrics before default
time. Adding small info box for them.


![image](https://github.com/user-attachments/assets/cad643ba-cdb7-4585-aab3-02cd86f17c74)
2024-10-08 13:37:00 +03:00
Thomas Heartman
3f9278be92
fix: removes welcome message and updates view details button (#8385)
The welcome message doesn't provide much help, and the question mark was
confusing. This PR removes the message and changes the button to look
like a link.


![image](https://github.com/user-attachments/assets/f2039b7a-05c8-4353-8440-22786072d0db)
2024-10-08 12:28:41 +02:00
Thomas Heartman
b190efce53
chore: removes setup badge from personal dashboard (#8384)
The badge has been removed from the onboarding flow, so we don't need
to show it here. This also prepares it for the collapsible sections.
2024-10-08 12:28:31 +02:00
Jaanus Sellin
8f4454039a
feat: start capturing onboarded status also from register endpoint (#8386)
1. Remove all customer intervals
2. Start capturing onboarded status also from register endpoint
2024-10-08 12:40:33 +03:00
Thomas Heartman
e8c73c79fc
fix: handle lots of project roles better (#8383)
This PR improves how we handle cases where you have lots of roles or roles with very long names.

It puts project roles into it's own little area (and turns it into a list!). We'll show three roles by default. If they all have super long names, we'll split them up onto multiple lines.

Additionally, the headers and avatar group will no longer wrap.

So in edge case territory, it'll look like this:
![image](https://github.com/user-attachments/assets/afb1a809-f6f4-4d25-9796-6abaa15445c1)

And what if one role has an even longer name? It'll wrap inside the badge:
![image](https://github.com/user-attachments/assets/f3b42cc5-2f5a-4447-9e5e-edef7f92f977)
2024-10-08 09:50:28 +02:00
Thomas Heartman
9c22658b5d
chore: update jsdom to 25.0.1 (#8355)
The primary reason for the bump is that newer versions of jsdom
support `@container` queries. The current version chucks a big warning
into stderr that it couldn't parse the stylesheet.
2024-10-08 09:32:07 +02:00
Thomas Heartman
8a7bf865d3
fix: handle project fetching error (#8375)
Work in progress
2024-10-08 08:46:14 +02:00
Thomas Heartman
21573d36de
fix: import svg viewbox misalignment (#8216)
This change updates the import svg's viewbox. It was set to be 24 x
24, but the icon is only 16px wide, causing it to be shifted 4px to
the left, as shown in the following image:


![image](https://github.com/user-attachments/assets/bcaa0526-662b-4d85-b302-8c2dfa46f62d)

By shrinking the viewbox (but keeping the width the same), the icon is
now more correctly aligned:


![image](https://github.com/user-attachments/assets/d77b8b6d-ccc1-448d-bd61-675766b94d0e)
2024-10-08 08:41:16 +02:00
Thomas Heartman
67f036c0ab
feat: store dashboard state (#8382)
This PR stores the dashboard state (selected project and flag) in
localstorage so that you get taken back to the same project and flag
when you refresh the page or navigate away and back.

It also handles scrolling the selected items into view in case they're
below the fold.
2024-10-08 08:21:23 +02:00
Nuno Góis
864984e212
chore: better show hide event timeline tooltips (#8379)
https://linear.app/unleash/issue/2-2753/improve-current-showhide-tooltips-to-be-more-specific-about-the

Improves the "show" and "hide" tooltips of this feature to have a
slightly more specific text. This is not just any timeline, this is the
**event timeline**.

- "Hide timeline" -> "Hide event timeline"
- "Show timeline" -> "Show event timeline"
2024-10-07 12:40:47 +01:00
Nuno Góis
01dfbcd74c
chore: add beta badge to event timeline in new in unleash (#8377)
https://linear.app/unleash/issue/2-2750/add-beta-badge-to-event-timeline-in-the-new-in-unleash-section

Adds a beta badge to the event timeline item in "New in Unleash".


![image](https://github.com/user-attachments/assets/3db04c83-e34b-439a-b9be-8214df78f165)
2024-10-07 11:48:15 +01:00
Thomas Heartman
e1f3315f57
Chore: rename Project Insight -> Project health (#8374)
Small copy update. The new square looks like this:

![image](https://github.com/user-attachments/assets/60d525a1-954d-49f1-928a-bbc35d516840)
2024-10-07 11:27:36 +02:00
Thomas Heartman
2905b560bd
fix: no owners listed in personal dashboard for default project (#8373)
This PR fixes a bug where the default project would have no listed
owners. The issue was that the default project has no user owners by
default, so we didn't get a result back when looking for user owners.
Now we check whether we have any owners for that project, and if we
don't, then we return the system user as an owner instead.

This also fixes an issue for the default project where you have no roles
(because by default, you don't) by updating the schema to allow an empty
list.
2024-10-07 10:52:11 +02:00
Thomas Heartman
e7deb8b49b
fix: small breakathon fixes (#8368)
Typo and sx propagation
2024-10-04 15:43:11 +02:00
Nuno Góis
3fb683ffd9
chore: make signals visible on event timeline for non admins (#8364)
https://linear.app/unleash/issue/2-2743/open-the-signal-query-endpoint-to-everyone-not-only-admins

The new signal query endpoint is now open for every Unleash user, not
only admins.

This PR allows non-admins to view signals in the event timeline. It also
updates the signals tooltip to be shown to all users, not just admins,
under the following assumptions:

- `!signalsSuggestionSeen` - Current user has not dismissed the signals
tip
- `isEnterprise()` - Enterprise instance
- `signalsEnabled` - The signals feature flag is enabled
- `!signalsLoading` - Signals have finished loading (avoids flickering)
- `signals.length === 0` - We can't find any signals in the selected
timespan
2024-10-04 12:39:57 +01:00
Thomas Heartman
b4c888a78f
chore: a feature flag -> one (#8367)
Missed a rewording
2024-10-04 13:02:30 +02:00
Thomas Heartman
51336568b1
chore: update the copy to align between project view and personal dashboard (#8365)
Contains small changes to align the two places where we show the same
information.
2024-10-04 12:58:36 +02:00
Tymoteusz Czech
d760af321f
feat(onboarding): add comments to snippets (#8361)
Add warning about plaintext API key and increased metrics interval
2024-10-04 10:56:19 +02:00
Nuno Góis
52b7e235fd
chore: add event timeline to new in unleash (#8358)
https://linear.app/unleash/issue/2-2729/add-event-timeline-to-new-in-unleash

Adds the new event timeline to the "New in Unleash" section.

Unlike Signals & Actions, the Event timeline doesn’t have a dedicated
page to link to, as it's a global component within the layout. To
address this, we extend the "check it out" action in the New in Unleash
component by supporting a callback instead of a link. When the user
clicks "check it out" for this new item, the page smoothly scrolls to
the top, ~~the timeline opens (if it's not already)~~, and a temporary
highlight effect is triggered on the timeline header button.

Also includes some scouting / slight UX adjustments.


https://github.com/user-attachments/assets/fe49f21b-5986-46b2-8fc6-acb4daef9d08
2024-10-04 08:20:55 +01:00
Mateusz Kwasniewski
ec1fe6278a
feat: make personal dashboard UI more compact (#8359) 2024-10-03 16:20:45 +02:00
David Leek
0653800cb8
chore: plausible event for event timeline signals tip click (#8349) 2024-10-03 15:35:34 +02:00
Jaanus Sellin
361ef3d3c4
feat: update congratulations message (#8354)
![image](https://github.com/user-attachments/assets/c74d61e0-c38e-4770-8cb5-f3559a34a9f8)
2024-10-03 15:38:14 +03:00
Thomas Heartman
cfcaf00a8e
fix: vertically center owners and roles content (#8357)
This change fixes the vertical alignment of the owners and roles
content.

Before:

![image](https://github.com/user-attachments/assets/369a738d-06de-4d40-8b2e-a6fff5127714)

After:

![image](https://github.com/user-attachments/assets/4359c47d-d1d5-47b8-9af4-c722fe46fd79)
2024-10-03 12:29:49 +00:00
Thomas Heartman
aec888a160
fix: add back flex container. (#8356)
The flex styling was deleted by mistake. This adds it back in.
2024-10-03 12:23:38 +00:00
Jaanus Sellin
0077a56ef6
feat: add plausible for onboarding (#8352)
Tracking events for

1. Onboarding started/project created
2. Onboarding finishes
3. API token generated
4. Sdk example clicked

Not tracking events that can happen multiple times and results are
skewed

1. Moving between onboarding steps
2024-10-03 14:41:50 +03:00
Tymoteusz Czech
0bf385d601
feat(onboarding): improve steps dividers (#8346) 2024-10-03 12:26:12 +02:00
Thomas Heartman
38b33aa032
fix: make gaps 1px instead of 2px (#8351)
This PR reduces the gaps/borders between items in the dashboard grids to
1px.
2024-10-03 10:53:22 +02:00
Mateusz Kwasniewski
10dffcd232
feat: health score components in personal dashboard (#8348) 2024-10-03 10:21:27 +02:00
Thomas Heartman
f5c78605ed
refactor: use css grid for flags and no content grid (#8347)
This PR uses the new CSS grid layout for the flag grid and the no
content grid.

In doing so, it also improves how you use the grid item (giving them a
`gridArea` prop) and extracts the breakpoint handling so that all
sections that use breakpoints use the same breakpoints.

As with the previous PR, here's screenies of the same screen width, but
with open and closed sidebar:
Open:

![image](https://github.com/user-attachments/assets/2d41d412-5072-4c66-9a48-e7aa0d8cff45)

Closed:

![image](https://github.com/user-attachments/assets/994e3f2c-6f4c-4db1-9f10-e1d1a4d96540)
2024-10-03 07:54:27 +00:00
Nuno Góis
401425e35c
chore: event timeline help icon (#8345)
https://linear.app/unleash/issue/2-2717/help-icon-in-the-event-timeline-component

Adds an help icon to the event timeline.

<img width="108" alt="image"
src="https://github.com/user-attachments/assets/261fd14a-4d33-4bae-ae2e-92d1dc47db6b">

<img width="332" alt="image"
src="https://github.com/user-attachments/assets/85c827d1-39e9-47ef-9602-7f2ea207e5ea">
2024-10-03 08:45:24 +01:00
Thomas Heartman
35a73a5b8e
fix: add grid w/container query for projects (#8344)
The main goals of this are:

1. Make it so that the layout grid doesn't break on small screens
2. Fix an issue where the border of the box didn't fit the outline
3. (Bonus): make the layout of the info box depend on the **box's**
size, not the screen size.

To achieve those goals, this PR:
1. Switches to using a native CSS grid instead of MUI's grid component.
This gives us more power over the layout in various different sizes.
2. Switches from putting borders on the boxes inside the grid, instead
makes the grid container the color of the border and uses gaps to create
borders.
3. If your browser supports it, it will use container queries to
determine whether we should display the layout as a multi-column grid or
in a single column.


Container query demo (both with the same screen sizes):

Sidebar closed: 

![image](https://github.com/user-attachments/assets/9a7d9a78-de92-4429-bf06-8e98fbf40ed0)

Sidebar open:

![image](https://github.com/user-attachments/assets/90e790ba-13db-485c-8f5e-ee60fe36dabb)
2024-10-03 07:02:12 +00:00
David Leek
9b1d9f57d3
chore: timeline plausible tracking (#8338) 2024-10-03 07:58:58 +02:00
Mateusz Kwasniewski
c1dde7691b
test: personal dashboard (#8343) 2024-10-02 18:30:04 +02:00