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

3658 Commits

Author SHA1 Message Date
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
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
Melinda Fekete
1ea63a8a1f
Update UI text in Unleash welcome key concepts page (#8238) 2024-09-30 11:14:08 +02:00
Mateusz Kwasniewski
f000579d5b
feat: adjust search query for personal project (#8296) 2024-09-27 15:23:00 +02:00
Nuno Góis
81840ed574
fix: event timeline should unmount when hidden and be closed by default (#8294)
Fixes 2 bugs:

- The initial state of the event timeline should have `open: false`, not
`true` - Closed by default, unless opened
- The event timeline should unmount when hidden - It should not emit
requests when closed
2024-09-27 13:11:25 +01:00
Mateusz Kwasniewski
147984f9d5
feat: display basic list of project events (#8291) 2024-09-27 14:02:30 +02:00
Tymoteusz Czech
c502e99b85
feat(onboarding): Android snippet (#8281) 2024-09-27 12:02:12 +00:00
Jaanus Sellin
ee9f8c8836
fix: now only one onboarding screen will be shown at time (#8290)
Makes the button more clear. 

Now both **onboarding** started and **onboarding finished** screens will
not be shown in the same time.
2024-09-27 14:58:03 +03:00
Jaanus Sellin
ed4c05d3c4
feat: add production snippets and resources (#8286)
Skipped .NET and Android because they are not ready. Also swift does not
support env variables, so skipped for now.

Added all rest.
2024-09-27 13:46:12 +03: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.


![image](https://github.com/user-attachments/assets/1e6e0a63-968a-43cf-84ee-9a67d9f0ca91)
2024-09-27 10:41:25 +02:00
Jaanus Sellin
b73c283e6c
feat: now code examples are joined into one (#8284)
Joined all examples into one copyable example.

Did not do following ones, because they are using templates and probably
will not work as joined.

1. React
2. Svelte
3. Vue

Also skipped, because those examples are not final yet.

1. .NET
2. Android



![image](https://github.com/user-attachments/assets/c8dabed4-21d0-4af9-900f-e77c5d069fe1)
2024-09-27 10:28:12 +03: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).


![image](https://github.com/user-attachments/assets/eed74ddd-017c-430d-b919-3cb7e257052d)

---------

Co-authored-by: David Leek <david@getunleash.io>
2024-09-26 14:48:52 +01:00
Jaanus Sellin
86e7bbc85d
feat: after onboarding show success box with resources (#8278)
![image](https://github.com/user-attachments/assets/7e60ad54-c750-4e8a-8556-a1735a99a43e)
2024-09-26 15:40:14 +03:00
Mateusz Kwasniewski
409e0e74ba
feat: read projects from personal dashboard API (#8279) 2024-09-26 14:17:47 +02:00
Tymoteusz Czech
2292e2f6ca
feat(onboarding): Vue and Svelte snippets (#8250) 2024-09-26 15:06:30 +03:00
Thomas Heartman
e20ef56374
fix: trim name and description before validation (#8275)
This fixes a bug where you can input just whitespace for
name/description. It also means that you can no longer have both "my
role" and "my role    " as separate roles.

API fix will follow.
2024-09-26 11:54:16 +00:00
Thomas Heartman
d6f5280a98
feat: show user's roles and project owners (#8253)
This change shows the user's roles and project owners in the personal
dashboard.
2024-09-26 10:47:29 +00:00
Jaanus Sellin
4397af0df7
chore: move onboarding flow and dialog under same location (#8272)
It is mostly moving the onboarding folders under same directory for more
clear project structure.
2024-09-26 12:56:49 +03:00
Thomas Heartman
cf476f9e7d
chore: update orval for personal dashboards (#8268)
Updates orval for personal dashboards
2024-09-26 11:03:55 +02:00
Nuno Góis
3f80fdb090
fix: layout content width on large screens (#8267)
I believe the changes in https://github.com/Unleash/unleash/pull/8234,
more specifically [this
change](https://github.com/Unleash/unleash/pull/8234/files#diff-3a5e0763fe1effa9cd485763fecf0633ce8f0877c9d1971e6bd5c5abe7426364L64),
have caused the main layout content to no longer stretch to its maximum
relative width on larger screens.

This adjustment seems to resolve this issue, ensuring proper behavior on
larger screens without introducing any overflow issues on smaller
screens.
2024-09-26 09:51:15 +01:00
Jaanus Sellin
d0499dbf94
feat: sdk connected using production snippet (#8266)
1. Fix nodejs snippet
2. Tie the snippet to the completed stage.
3. Pull out the code renderer, to shared component


![image](https://github.com/user-attachments/assets/886c9502-4407-4aa7-8b63-84035f8cdb8a)
2024-09-26 11:39:05 +03:00
Jaanus Sellin
aca0de414e
feat: display new completed dialog (#8255)
1. Now the dialog will not close when SDK got connected
2. It will start to show the suggested production code. ( this will be
attached in next PR)
3. Also, it has connected indicator on the right
4. Back button is removed in this stage.


![image](https://github.com/user-attachments/assets/c7290e0f-8fa7-4382-a91d-7206e32d81ae)

---------

Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
2024-09-26 09:24:15 +03:00
Tymoteusz Czech
c7427f4b91
feat(onboarding): nodejs snippet for production (#8256) 2024-09-25 15:45:53 +02:00
Mateusz Kwasniewski
e680921517
test: reduce noise from test warnings (#8251) 2024-09-25 12:56:09 +02:00
Tymoteusz Czech
cdb1297246
feat(onboarding): Rust SDK snippet (#8239)
A bit different then other examples - only way to run current state of
Rust SDK is to have some kind of an opinionated setup around it.
2024-09-25 12:33:58 +02:00
Nuno Góis
a95c8d183f
chore: event timeline persistent state (#8240)
https://linear.app/unleash/issue/2-2700/persist-timeline-state-in-local-storage

Implements persistent state management for the event timeline using
local storage.

I believe this improves UX by persisting both the timeline toggle
(visibility) state and applied filters across page refreshes.

Includes some scouting/refactoring and some workarounds to prevent the
timeline from animating on page load (in most cases).
2024-09-25 11:20:27 +01:00
Mateusz Kwasniewski
a1a24ea0b1
feat: flag exposure in personal dashboard (#8247) 2024-09-25 11:11:30 +02:00
Mateusz Kwasniewski
957ef12ca3
fix: adjust welcome dialog size (#8244) 2024-09-25 09:11:53 +02:00
Mateusz Kwasniewski
e33f71a8f4
feat: highlighting flags chart (#8237) 2024-09-25 08:36:30 +02:00
Tymoteusz Czech
bfe3af6dc2
fix: SDK snippets import (#8235) 2024-09-24 15:35:00 +02:00
Nuno Góis
5063e151ed
chore: event timeline header placement (#8234)
https://linear.app/unleash/issue/2-2662/make-the-event-timeline-available-globally-through-a-new-header-button


https://github.com/user-attachments/assets/bde38ee8-cdd8-409d-a95e-0c06189e3d9b

(In the video, you’ll notice a slight delay before new events show up.
This happens because the timeline automatically refreshes every 10
seconds)

Removes the event timeline from the event log and integrates it into a
new header option.

I chose a middle-ground approach between options 1 and 2 from our Figma
sketches. This solution provides the best of both worlds IMO: the
timeline stands out as a global component, distinct from the current
page context, while sliding in rather than overlapping the content. This
way, users can view the timeline alongside the page content.
2024-09-24 13:43:30 +01:00
Mateusz Kwasniewski
54432f3f31
feat: personal flag metrics display (#8232) 2024-09-24 13:47:21 +02:00
Tymoteusz Czech
d6dbdab6f1
feat(onboarding): sdk snippets in files (#8233)
Makes it easier to edit code snippets. Additionally, adds lazy loading
to reduce bundle size.
2024-09-24 13:37:32 +02:00
Jaanus Sellin
7e13e74a3e
feat: only show sdk button to specific roles (#8231)
This aligns it with our expectations we agreed on discovery meeting.
2024-09-24 12:43:22 +03:00
Jaanus Sellin
7b686ed318
chore: full js sdk example (#8229) 2024-09-24 10:47:14 +03:00
Nuno Góis
7a3a5ad33c
chore: event timeline tooltips (#8205)
https://linear.app/unleash/issue/2-2664/implement-event-tooltips

Implements event tooltips in the new event timeline.

This leverages our current `feature-event-formatter-md` to provide both
a label and a summary of the event. Whenever our new `eventTimeline`
flag is enabled, we enrich our events in our event search endpoint with
this information. We've discussed different options here and reached the
conclusion that this is the best path forward for now. This way we are
being consistent, DRY, relatively performant and it also gives us a
happy path forward if we decide to scope in the event log revamp, since
this data will already be present there.

We also added a new `label` property to each of our event types
currently in our event formatter. This way we can have a concise,
human-readable name for each event type, instead of exposing the
internal event type string.

~~We also fixed the way the event formatter handled bold text (as in,
**bold**). Before, it was wrapping them in *single asterisks*, but now
we're using **double asterisks**. We also abstracted this away into a
helper method aptly named `bold`. Of course, this change meant that a
bunch of snapshots and tests needed to be updated.~~

~~This new `bold` method also makes it super easy to revert this
decision if we choose to, for any reason. However I believe we should
stick with markdown formatting, since it is the most commonly supported
formatting syntax, so I see this as an important fix. It's also in the
name of the formatter (`md`). I also believe bold was the original
intent. If we want italic formatting we should implement it separately
at a later point.~~

Edit: It was _bold_ of me to assume this would work out of the box on
Slack. It does when you manually try it on the app, but not when using
the Slack client. See: https://github.com/Unleash/unleash/pull/8222


![image](https://github.com/user-attachments/assets/31eb6296-5d4b-4400-8db0-5eb7437dd2ff)


![image](https://github.com/user-attachments/assets/ac177415-78da-4c4b-864b-0c7a1668f6b5)
2024-09-24 08:45:08 +01:00
Jaanus Sellin
272052c59b
feat: complete java example (#8227) 2024-09-24 09:55:54 +03:00
Mateusz Kwasniewski
fee2143edf
feat: Personal flags UI component (#8221) 2024-09-24 08:42:49 +02:00
Mateusz Kwasniewski
3ef5d06f00
chore: orval gen (#8220) 2024-09-23 16:41:55 +02:00
Thomas Heartman
27c977dcf7
display setup complete message when project is onboarded (#8217)
This PR adds the new `ProjectSetupComplete` component (the name can be
changed) that we display when a project has been set up with a flag and
a connected SDK.

It uses the project overview to check the project's onboarding status.


![image](https://github.com/user-attachments/assets/9e7c5986-46ee-4aa1-9c35-a921f3402468)
2024-09-23 14:23:22 +02:00
gitar-bot[bot]
5dd0fb9f44
[Gitar] Cleaning up stale flag: projectListImprovements with value true (#8212)
Co-authored-by: Gitar <noreply@gitar.co>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
2024-09-23 13:07:59 +02:00
Jaanus Sellin
9f5e909436
feat: onboarding can be now closed (#8215)
The boxes were merged and now the whole thing can be closed.


![image](https://github.com/user-attachments/assets/45ec680f-64df-4877-92cb-33fef506f0ad)
2024-09-23 13:52:00 +03:00
Mateusz Kwasniewski
f45b7a07b4
fix: onboarding img asset path (#8213) 2024-09-23 12:28:38 +02:00
Jaanus Sellin
553e04994e
fix: now onboarding will show up in correct times (#8214)
Feature table was not appearing, when onboarding flag was off.
2024-09-23 12:57:47 +03:00
gitar-bot[bot]
1296327c03
[Gitar] Cleaning up stale flag: archiveProjects with value true (#8201) 2024-09-23 11:51:55 +02:00
Mateusz Kwasniewski
375395bba7
feat: welcome dialog with unleash concepts (#8199) 2024-09-20 15:53:03 +02:00
gitar-bot[bot]
bb32336408
[Gitar] Cleaning up stale flag: newEventSearch with value true (#8196)
[![Gitar](https://raw.githubusercontent.com/gitarcode/.github/main/assets/gitar-banner.svg)](https://gitar.co)
  
  ---
This automated PR was generated by [Gitar](https://gitar.co). View
[docs](https://gitar.co/docs).

---------

Co-authored-by: Gitar <noreply@gitar.co>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-20 14:48:33 +03:00
Jaanus Sellin
ebcdd67db0
feat: onboarding flow will not break (#8198)
1. Now onboarding flow will not break when feature is created
2. Now the bottom table will appear as soon as first feature appears
3. ExistingFlag component was reworked to match the new UX


![image](https://github.com/user-attachments/assets/2022f4ad-246c-47f9-927f-726f72da5e97)
2024-09-20 14:31:11 +03:00
Mateusz Kwasniewski
87b997698b
feat: placeholder flag metrics chart (#8197) 2024-09-20 11:05:53 +02:00
Melinda Fekete
0587203ad6
chore: update project onboarding UI text (#8189) 2024-09-20 10:30:33 +02:00
Mateusz Kwasniewski
10ec2e7de5
feat: personal dashboard connect sdk (#8190) 2024-09-19 17:01:33 +02:00
Mateusz Kwasniewski
f66854a0f0
feat: personal dashboard project selection (#8188) 2024-09-19 15:25:11 +02:00
Jaanus Sellin
95969456f6
chore: finalize python sdk example (#8186)
Fix Python example and add isEnabled example.
2024-09-19 15:03:03 +03:00
Nuno Góis
205b59ddee
chore: event timeline (#8176)
https://linear.app/unleash/issue/2-2657/implement-a-first-iteration-of-an-horizontal-event-timeline

This implements the very first iteration of our event timeline.

This is behind a feature flag, which when enabled shows the new timeline
at the top of our event log page.

It is missing some features, like:
- Placement: It should show up as an option in the header, not in the
event log;
- Tooltip: It should show proper tooltips for all the events that we're
displaying;
- Grouping: It should group together events that occurred in a short
span of time;
 - Signals: It should show signals along with the events;

Here's how it currently looks like, with some example events, in order
from left to right:
 - A flag was disabled more than 30 min ago;
 - A flag was then enabled;
- A segment was updated (didn't have an icon for segments, so I picked
one);
 - A strategy was updated;
 - A flag was created;


![image](https://github.com/user-attachments/assets/1716d8c0-e491-47cc-895b-e02d019c9e80)

![image](https://github.com/user-attachments/assets/a1b5c6b9-86d6-43f7-8a36-5661625e41d6)

(Time passed since I took the first screenshot, so you can see the
events "moved" to the left slightly in the dark theme screenshot)

I have some concerns about the low contrast of `neutral` variant events,
especially in dark mode. Maybe we should consider using `error` instead,
for red? Or maybe add a border to our event circles?

I specifically changed my environment to be "development" for the
screenshots. The default selection is the first enabled environment that
is `type=production`, which in my case is "production".

Here are our filters:
 - Time Span

![image](https://github.com/user-attachments/assets/b0649d7b-c6c2-482f-918f-b35b23184578)
 - Environment

![image](https://github.com/user-attachments/assets/33c788d6-9d76-4afd-b921-3c81eda4e1c5)

Here are a few more screenshots, with the different time spans (zooming
out, since we're increasing the time span):


![image](https://github.com/user-attachments/assets/16003a67-039e-43ad-a4db-617f96ec5650)

![image](https://github.com/user-attachments/assets/6d50b53f-1fc0-4e07-96a6-6843629ecb2d)

![image](https://github.com/user-attachments/assets/e6cc6b10-ff02-44db-82d5-346fba8eb681)

![image](https://github.com/user-attachments/assets/1181b8d7-a951-4e5a-aa5b-bd9fdbd16a7a)

![image](https://github.com/user-attachments/assets/7a43c5a0-c51c-4861-952a-2c09968263d6)

![image](https://github.com/user-attachments/assets/5bfda117-5524-435b-b0d1-a8b1bd446a36)

Again, when zooming out, some events should be grouped together, but
that's a task for later.
2024-09-19 12:14:10 +01:00
Mateusz Kwasniewski
70e95e66a8
feat: my projects ui stub (#8185) 2024-09-19 12:37:35 +02:00
Mateusz Kwasniewski
8e037a335f
feat: personal dashboard route (#8173) 2024-09-19 09:59:07 +02:00
Mateusz Kwasniewski
d5076f0772
fix: archive project curl (#8181) 2024-09-19 09:58:31 +02:00
Mateusz Kwasniewski
7274f4954a
fix: connect sdk description bg color (#8171) 2024-09-18 14:08:31 +02:00
Nuno Góis
85b67ae330
chore: add eventTimeline feature flag (#8159)
https://linear.app/unleash/issue/2-2658/create-eventtimeline-feature-flag

Adds a new `eventTimeline` feature flag for the new event timeline
feature.

I think `eventTimeline` is an appropriate name given the feature
description and the way it is evolving, but I'm open to suggestions.
~~This also assumes that this feature will target OSS.~~ Confirmed that
this will be a premium feature.
2024-09-18 08:55:50 +01:00
Mateusz Kwasniewski
9d519efc74
feat: swift and flutter sdk snippets (#8149) 2024-09-17 08:47:57 +02:00
Jaanus Sellin
212203f7c7
chore: PHP SDK example fix (#8146) 2024-09-16 14:29:03 +03:00
Jaanus Sellin
f76f754eca
chore: update go sdk examples (#8145) 2024-09-16 13:15:26 +03:00
Fredrik Strand Oseberg
0f8316a6de
fix: invert logic (#8135)
The EEA flag is present in enterprise instances which currently is
blocking enterprise customers from accessing this button. This PR
inverts the logic that was changed in #7796.
2024-09-11 18:12:37 +02:00
Mateusz Kwasniewski
152e074c2d
test: improve onboarding test (#8121) 2024-09-06 13:45:22 +02:00
Mateusz Kwasniewski
0fa3738412
chore: adjust language names (#8117) 2024-09-06 12:45:22 +02:00
Mateusz Kwasniewski
e8fee92838
feat: explain complete feature name (#8120) 2024-09-06 12:45:06 +02:00
Jaanus Sellin
028cf06f6c
feat: make node example more consistent (#8111) 2024-09-06 13:22:23 +03:00
Jaanus Sellin
b6e22d6178
feat: new onboarding welcome screen logic (#8110)
1. We will not show grid until 2 flags exist
2. Now new feature creation button will be always displayed on top with
different style
3. Moved some text around


![image](https://github.com/user-attachments/assets/6cfc2152-b52d-479c-8a2e-988c9e8b79ad)
2024-09-06 13:15:28 +03:00
Thomas Heartman
f0ba4e5180
fix: allow you to save default strategies with the right permissions (#8114)
Allow you to edit default strategies in the UI if you have the
update_project or project_default_strategy_write permissions. These are
the same permissions that we use in the API.

Previously, we used the update_feature_strategy permission here, but
that one is intended to be used for updating strategies belonging to
actual flags.

One of the trickier bits here is that we use the `StrategyVariants`
component, which previously had baked in the permission required
(update_feature_environment_variants). Because the permissions are
different for the default strategy, I updated the component to make it
configurable, but for the default to be the old permission (so that
other uses aren't affected).
2024-09-06 12:00:46 +02:00
Mateusz Kwasniewski
0b656db80a
test: onboarding test with existing key (#8116) 2024-09-06 11:50:52 +02:00
Thomas Heartman
00e63609d4
fix: allow you to see default strategies if you have write access (#8113)
Previously, you needed read access specifically to see default
strategies. So even if you could write default strategies, you
couldn't access them in the UI without the read permission too.

This changes it so that you can see default strategies if you have
write permission.
2024-09-06 11:49:22 +02:00
Thomas Heartman
7e52da11bc
fix: Also display strategy variant information on default strategies (#8115)
This change copies (and then simplifies) the strategy variant display
logic from

`frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/StrategyItem.tsx`
and inserts it into the `ProjectEnvironmentDefaultStrategy` component.

Before:

![image](https://github.com/user-attachments/assets/c00098c3-3161-4a89-a6cf-8db711b4fb3e)


After:

![image](https://github.com/user-attachments/assets/4fdd46f1-97a4-4344-98e1-16c842947a1c)
2024-09-06 11:47:59 +02:00
Mateusz Kwasniewski
09e55c10c2
feat: onboarding step badges (#8102) 2024-09-05 15:21:27 +02:00
Nuno Góis
355b3eb58a
chore: remove unused SCIM setting - assumeControlOfExisting (#8101)
This property is unused and should be removed.

This fixes a logged schema error:

```
Invalid response: {
    "schema": "#/components/schemas/scimSettingsSchema",
    "errors": [
        {
            "instancePath": "",
            "schemaPath": "#/required",
            "keyword": "required",
            "params": {
                "missingProperty": "assumeControlOfExisting"
            },
            "message": "must have required property 'assumeControlOfExisting'"
        }
    ]
}
```
2024-09-05 13:45:20 +01:00
Mateusz Kwasniewski
2daa0cd8ca
feat: onboarding stepper (#8100) 2024-09-05 14:11:39 +02:00
Jaanus Sellin
01fb748c01
feat: connection status bubble (#8099)
Fully working cycle


![image](https://github.com/user-attachments/assets/cf20788b-29fa-4489-91e7-7db9f592da9b)
2024-09-05 13:56:25 +03:00
Mateusz Kwasniewski
9f591f0cda
feat: change sdk action (#8098) 2024-09-05 11:55:37 +02:00
Mateusz Kwasniewski
62d03d35cd
feat: check flag status snippet (#8097) 2024-09-05 11:17:42 +02:00
Tymoteusz Czech
c2c865273e
fix: align short owner username on project card (#8093) 2024-09-05 10:16:38 +02:00
Jaanus Sellin
4b1de563f7
feat: add sdk example box (#8092)
![image](https://github.com/user-attachments/assets/472dcbb2-d981-4d7c-8bbf-b97a6ee4c186)
2024-09-05 10:35:43 +03:00
Mateusz Kwasniewski
b1ce02369a
feat: copy to clipboard sdk snippet (#8083) 2024-09-05 08:53:52 +02:00
Mateusz Kwasniewski
ff31013c6d
feat: Sdk snippets in test connection phase (#8082) 2024-09-04 15:43:36 +02:00
Mateusz Kwasniewski
5c4d0bf99b
feat: navigate between all stages (#8080) 2024-09-04 13:58:15 +02:00
Mateusz Kwasniewski
ba8d043f3c
feat: connect sdk concepts (#8079) 2024-09-04 12:31:55 +02:00
Jaanus Sellin
48ddd255d6
feat: connect welcome to sdk dialog (#8078)
Now welcome screen is connected to sdk dialog.
2024-09-04 13:19:08 +03:00
Jaanus Sellin
f41a688edb
feat: welcome to project onboarding status rendering (#8076)
![image](https://github.com/user-attachments/assets/8a828f95-10bd-4294-b2f4-1d7f4e7f1a3d)
2024-09-04 12:17:33 +03:00
Mateusz Kwasniewski
206e3aef62
feat: connect sdk icons (#8075) 2024-09-04 10:00:57 +02:00
Mateusz Kwasniewski
8c5a3e03a4
feat: can select client and frontend sdk (#8066) 2024-09-04 08:26:16 +02:00
Mateusz Kwasniewski
3f24728693
feat: Select sdk onboarding pt 1 (#8065) 2024-09-03 16:37:20 +02:00
Mateusz Kwasniewski
e70b09ae7b
refactor: extract generate api key stage into component (#8061) 2024-09-03 14:58:35 +02:00
Nuno Góis
c865fd4fbb
fix: reduce integration events requests (#8055)
Cuts the total amount of integration event requests in half when
browsing the integrations page, by only fetching the 20 latest events
for each configured integration when it's actually needed (open modal).
2024-09-03 12:29:33 +01:00
Mateusz Kwasniewski
6a51a0b14a
feat: Onboarding connect api token generation (#8054) 2024-09-03 11:28:16 +02:00
Jaanus Sellin
29af716952
chore: remove operator upgrade alert (#8053)
This was introduced in v4.9 and most likely people have upgraded
already. Removing.
2024-09-03 12:18:19 +03:00
Mateusz Kwasniewski
82f9783fe6
feat: connect sdk step 1 (#8042) 2024-09-02 15:58:00 +02:00
Tymoteusz Czech
6030900b40
refactor: replace IProjectCard with openapi type (#8043)
Makes type consistent between frontend and schema generated from backend.
2024-09-02 13:25:28 +00:00
Tymoteusz Czech
76ffdb2cd3
chore: update Frontend schema (#8037)
update types, fix frontend types issues in insights and archive
2024-09-02 14:41:17 +02:00
Jaanus Sellin
e4fcb252d1
feat: welcome to your project component (#8039)
Currently displaying always when flag enabled.


![image](https://github.com/user-attachments/assets/e4c48595-b2d9-4093-af98-360d5856e7d5)
2024-09-02 15:09:00 +03:00
Gastón Fournier
d7b1e70e68
chore: reorganize product data in footer (#8030)
## About the changes
Instead of having the plan at the end, move it next to the product name
and display the build number at last
2024-09-02 11:53:57 +02:00
Christopher Kolstad
0f5e4dc96b
task: remove upgrade edge banner. (#8032)
All customers but one are now upgraded, and this banner no longer adds
value, we also have the outdated SDK banner, which can fill in if
needed.
2024-09-02 10:50:19 +02:00
Tymoteusz Czech
eb55067983
fix: project archive card (#8024)
Fix archived project card after new projects list refactor. Archive card was not showing button actions in footer.
2024-09-02 10:13:59 +02:00
Gastón Fournier
bb5aa64756
feat: display the build number as extra data (#8022)
## About the changes
Show the build number between parenthesis separated from the version.

When there's no build number:

![image](https://github.com/user-attachments/assets/408c6953-9af5-4c8d-88e2-50eb17016ee1)

When there is:

![image](https://github.com/user-attachments/assets/b5481294-651a-422c-9699-b93b3d8cf4be)
2024-08-30 16:36:00 +02:00
Tymoteusz Czech
79fccbd8f3
refactor: ts checking conditionallyrender props (#7840)
Fix issues found by TS checking after removing ConditionallyRender
2024-08-30 13:39:11 +02:00
Tymoteusz Czech
a918590d1e
fix: boolean logic for feature last seen toolbar (#8016) 2024-08-30 13:23:08 +02:00
gitar-bot[bot]
b26fb8992d
[Gitar] Cleaning up stale flag: killInsightsUI with value false (#8002)
Co-authored-by: Gitar <noreply@gitar.co>
Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
2024-08-30 12:32:51 +02:00
Tymoteusz Czech
d626defc93
fix: project badge alignment (#8019) 2024-08-29 16:49:46 +02:00
Tymoteusz Czech
07abb60966
Feat/improve projects list (#8018) 2024-08-29 14:39:44 +00:00
Tymoteusz Czech
8b68a0657f
feat: projects list sorting (#8011)
Ability to sort projects.
2024-08-29 15:43:16 +02:00
Tymoteusz Czech
8923e28d83
feat: new project card (#7992) 2024-08-28 18:26:41 +02:00
gitar-bot[bot]
031a2e805a
[Gitar] Cleaning up stale flag: timeAgoRefactor with value true (#7997)
Co-authored-by: Gitar <noreply@gitar.co>
Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
2024-08-28 11:12:27 +00:00