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

3497 Commits

Author SHA1 Message Date
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