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

5132 Commits

Author SHA1 Message Date
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
Nuno Góis
836adf52a1
chore: event timeline signals tip (#8342)
https://linear.app/unleash/issue/2-2723/add-signals-tip

Adds a tip to the event timeline regarding the usage of signals.

The conditions for it to show up are the following:
- `!signalsSuggestionSeen` - The current user has not closed the tip yet
- `isEnterprise()` - The Unleash instance is an Enterprise instance
(signals are currently Enterprise-only)
- `isAdmin` - The current user is an admin (signals are currently
admin-only)
 - `signalsEnabled` - The signals feature flag is currently enabled
- `!loading` - Signal endpoints have not finished loading (prevents
flickering)
- `signalEndpoints.length === 0` - The Unleash instance currently has
zero configured signal endpoints (signals feature is not being used)


![image](https://github.com/user-attachments/assets/8dd73e62-a341-4d12-97b1-4e011f7891c3)
2024-10-02 14:47:07 +01:00
Thomas Heartman
aa7d612934
fix: only ask for project details if we have a project ID (#8339)
This switches to using conditional SWR to fetch project details only
when you provide a project. This fixes an issue where we'd make
requests for `api/admin/personal-dashboard/undefined` (which will be a
404 in the future).
2024-10-02 12:30:56 +00:00
Mateusz Kwasniewski
e0ea1ff34a
fix: event styling personal dashboard (#8337) 2024-10-02 14:24:50 +02:00
Mateusz Kwasniewski
b975919395
feat: health trend insight (#8335) 2024-10-02 13:50:31 +02:00
Thomas Heartman
5abc3b4732
a11y: add labels to env/period selectors (#8329)
This PR adds labels to the environment and period selectors for the flag
metrics chart on the personal dashboard page. Because the period
selector is also used on the flag metrics page, I've also updated its
use there by removing a previous text label (which was just text, not an
associated `label` element).

Before:
Chart:

![image](https://github.com/user-attachments/assets/e150d786-3c00-4b49-851b-8073c4b97f4f)

Flag metrics:

![image](https://github.com/user-attachments/assets/de7f533d-d945-425b-ae6c-6eda02cea995)


After:
Chart:

![image](https://github.com/user-attachments/assets/a3336a8e-9745-4509-90e8-df999edec3fa)

Flag metrics:

![image](https://github.com/user-attachments/assets/ac2bf7bf-6454-4c63-a680-db4d1d4fb4b9)
2024-10-02 12:57:01 +02:00
Tymoteusz Czech
ed0123d88a
fix(onboarding): Node.js SDK link (#8334) 2024-10-02 10:31:57 +00:00
Jaanus Sellin
a71fafeb13
feat: add all outlined icons (#8332)
![image](https://github.com/user-attachments/assets/54826935-6323-434f-b789-459f7ac51739)
2024-10-02 13:22:59 +03:00
Tymoteusz Czech
3341d4aee9
fix(onboarding): update go snippet (#8333) 2024-10-02 10:14:29 +00:00
Jaanus Sellin
32849b6322
chore: update metrics interval from 5 to 1 (#8331) 2024-10-02 13:01:12 +03:00
Tymoteusz Czech
3ac2c17a8e
feat(onboarding): improve styles (#8323)
Adjust spacing between elements.
2024-10-02 11:20:26 +02:00
Jaanus Sellin
e51e6cc507
feat: improve onboarding flow (#8327)
1. Refetch features when creating the flag. It took a while for it to
appear before.
2. Fix NodeJS snippet and make texts more clear.
2024-10-02 10:39:47 +03:00
Thomas Heartman
6936da7403
feat: handle owners and project roles in the UI (#8315)
This commit uses the now-included project owner and role information
to populate the owner/role section. If you have no roles, we'll tell
you that you don't instead of displaying an empty set of badges.
2024-10-02 09:37:02 +02:00
Jaanus Sellin
a874ac085d
fix: fix tracking of menu bar for no search results (#8326)
Previously it sending plausible event before the query had loaded and
making false positives.
2024-10-02 09:54:07 +03:00
Nuno Góis
51bfccd8cc
chore: timeline event group icon when events are all same type (#8322)
https://linear.app/unleash/issue/2-2726/groups-should-show-the-timeline-event-type-icon-when-all-events-inside

Displays the event type icon for the group when all events within the
group share the same type.


![image](https://github.com/user-attachments/assets/9fc68b2b-da01-423e-b767-05ce87098b27)


![image](https://github.com/user-attachments/assets/76c3a6d6-1bae-499c-aeec-006ead30cea6)
2024-10-01 16:37:07 +01:00
Nuno Góis
5dae654022
refactor: implement an event timeline context and provider (#8321)
https://linear.app/unleash/issue/2-2730/refactor-the-event-timeline-state-management-to-a-context-and-provider

This PR refactors the state management for the **Event Timeline**
component by introducing a context and provider to improve accessibility
of state across the component tree.
2024-10-01 16:21:31 +01:00
dependabot[bot]
2d8bc3268f
chore(deps): bump rollup from 4.21.2 to 4.22.4 in /frontend (#8226) 2024-10-01 16:02:35 +02:00
David Leek
729acfd318
chore: timeline ux alignment (#8283)
https://linear.app/unleash/issue/2-2703/align-with-ux

Timeline UI/UX improvements after sync with UX, including:

- Added some spacing between each event in the grouping tooltip
- Aligned the x events occurred header with filter dropdown
- Improved the strategy icon somewhat so it doesn't look as off center
- New timeline icon
- Improve icon position relative to timestamp on each event in the
grouping tooltip
- Changed text color in dropdowns to a lighter gray
- Removed bold formatting in tooltip
- Adjusted paddings and margins
- Added close button
- Added shadow
- Added left border

There are a few details missing, which will be tackled in separate PRs.


![image](https://github.com/user-attachments/assets/b911696e-1a50-4968-9b73-b01af626d44e)

---------

Co-authored-by: Nuno Góis <github@nunogois.com>
2024-10-01 14:32:54 +01:00
Tymoteusz Czech
b03686dc3f
feat(onboarding): .NET snippet (#8307)
## About the changes
Quick-start for .NET
2024-10-01 14:20:49 +03:00
Mateusz Kwasniewski
bf787b6deb
feat: redirect to personal dashboard when no last project (#8318) 2024-10-01 13:11:29 +02:00
Tymoteusz Czech
a6ab5326a0
feat(onboarding): add links to examples (#8308)
## About the changes
Links from Unleash UI to
[Unleash/unleash-sdk-examples](https://github.com/Unleash/unleash-sdk-examples)


https://linear.app/unleash/issue/1-2869/add-codesandbox-links-to-unleashunleash
2024-10-01 10:58:21 +00:00
Mateusz Kwasniewski
739ad07798
refactor: extract my projects component (#8317) 2024-10-01 11:33:03 +02:00
Mateusz Kwasniewski
7ac283aa50
feat: skeleton loaders for personal dashboard (#8313) 2024-10-01 10:16:20 +02:00
Nuno Góis
a8eda9d61f
chore: event timeline signals (#8310)
https://linear.app/unleash/issue/2-2665/show-signals-in-the-event-timeline

Implements signals in the event timeline.

This merges events and signals into a unified `TimelineEvent`
abstraction, streamlining the data structure to only include properties
relevant to the timeline.

Key changes:
- Refactors the timeline logic to handle both events and signals through
the new abstraction.
- Introduces the `useSignalQuery` hook, modeled after `useEventSearch`,
as both serve similar purposes, albeit for different resource types.

Note: The signals suggestion alert is not included and will be addressed
in a future task.


![image](https://github.com/user-attachments/assets/9dad5c21-cd36-45e6-9369-ceca25936123)
2024-10-01 09:02:08 +01:00
Mateusz Kwasniewski
6d16fc60ce
feat: Personal dashboard flag created (#8305) 2024-09-30 16:09:31 +02:00
Thomas Heartman
50c5af8632
feat: hook up admin / owner data to UI (#8300)
This PR hooks up the owners and admins of Unleash to the UI. They'll
only be visible in cases where you have no projects.

In addition, it adds Orval schemas for the new payload properties and
updates the generating schemas to fix some minor typing issues.
2024-09-30 13:40:33 +00:00
Mateusz Kwasniewski
d7db80d948
feat: use onboarding status to conditionally show badge and message (#8304) 2024-09-30 15:30:18 +02:00
Mateusz Kwasniewski
ac90c942db
feat: add onboarding status to personal dashboard api (#8302) 2024-09-30 14:25:56 +02:00
Mateusz Kwasniewski
6f7170dc40
feat: open unleash concepts (#8301) 2024-09-30 13:32:05 +02:00
Mateusz Kwasniewski
751c2fa902
feat: last project events ui polishing (#8298) 2024-09-30 11:18:25 +02:00