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

12753 Commits

Author SHA1 Message Date
Mateusz Kwasniewski
570f8d2c34
feat: Change request applied diff for update strategy (#8859) 2024-11-27 12:51:11 +01:00
Thomas Heartman
41fb95dd56
fix: Use a proper dark theme for the activity graph (#8865)
This PR adds a proper dark theme for the activity graph. We previously
used the exact same theme for both light and dark modes.

Before:

![image](https://github.com/user-attachments/assets/1f119dca-4a87-49e3-9f3e-13163bd060c2)


After (different chart):

![image](https://github.com/user-attachments/assets/798c320c-a1b4-4634-b72e-cdb0d7a2c4a4)


I'm also passing in the theme explicitly as the `colorScheme` property.
Without that prop, the graph uses your system color scheme (according to
the docs), which may not be the same as your Unleash theme color scheme.

To avoid getting visible borders for the activity squares, I've added a `svg rect` override on the containing element that sets the svg rect strokes to be invisible.
2024-11-27 11:26:05 +01:00
Thomas Heartman
0e8365e47d
fix: user header layout on narrow screens (#8858)
This PR throws in a number of fixes to the UsersHeader's invite link and
licensed users components:

- Change the border colors from the primary purple to being a standard
border color
- Fix text / button wrapping in the invite link component. It now wraps
such that the button goes onto the row below the text if it cannot fit
on the same row. The text within the button will not wrap until it
absolutely has to (and is on its own line).
- Fix the wrapping behavior of the licensed users box: the bottom row
("seats used 30 days" and "view graph over time") will now wrap at the
same time as the other button in the other box.
- Fix some text sizes within the licensed users box
- Fix the button to look more like a link in the licensed users box

Most of it is pretty standard fare, but I've taken a slightly different
route when it comes to the licensed users box component.

I switched the whole component to be a "figure" instead of an article. I
was trying to figure out how I could make it behave the way we wanted
visually while still linking the "seats over 30 days" to the "11 /25"
counter text. The examples on MDN use things such as code snippets,
poems, quotes, etc, in addition to the more common image elements. And
in a way, 11/25 is a figure representing the number of seats used, so I
went with that for now. That said, I'd be very interested to hear some
other takes on this.

Now, because the `figcaption` has to be the first or last element of a
`figure` element, I had to include the "open sidebar" button inside the
caption, which isn't ideal. But I can live with it, I think.

Before:

![image](https://github.com/user-attachments/assets/60e14aad-89d6-4f04-b6f9-1eafb178639c)

![image](https://github.com/user-attachments/assets/61f6dee0-4a4f-428e-9e01-d68a78644a89)

![image](https://github.com/user-attachments/assets/c405d929-a53f-4d33-a6b2-9f73fa1260b4)

After:

![image](https://github.com/user-attachments/assets/d55817f1-5500-46c6-afd3-e7e7f38e3cec)

![image](https://github.com/user-attachments/assets/65dbf4ee-cd06-404f-b82c-09bcf65250e9)

![image](https://github.com/user-attachments/assets/c82a2dc7-3f9b-4ba2-9d16-1d0376c7bd2a)
2024-11-27 11:21:18 +01:00
Nuno Góis
29c0a3a557
chore: adapt billing page to custom billing scenarios (#8862)
https://linear.app/unleash/issue/2-3030/improve-the-billing-page-behavior-for-instances-with-custom-billing

Adapts the billing page to support custom billing scenarios.

Here’s how it will appear in such cases (notice a new "Your billing is
managed by Unleash" text, with no visible button to update billing
information):


![image](https://github.com/user-attachments/assets/39d7418a-1f22-41b3-9360-ca7c40a2ce7d)
2024-11-27 08:59:25 +00:00
David Leek
db02918a35
chore: make milestone_strategies.title nullable (#8864) 2024-11-27 09:16:24 +01:00
David Leek
219006c856
feat: release plan template strategy types, constraints, segments (#8861) 2024-11-27 08:20:46 +01:00
Nuno Góis
ca5c03ed17
test: fix feature e2e test by checking flag name in a td instead of url (#8863)
https://linear.app/unleash/issue/2-3028/fix-create-feature-flag-e2e-test

Fixes our failing [create feature e2e
test](https://github.com/Unleash/unleash/actions/runs/12027120576/job/33527490303?pr=8843).

We were looking for the feature flag name in the URL, not the DOM.
Previously, whenever we created a new feature flag, this would
automatically redirect us to that flag's page. This is no longer the
case if you use the "Create flag" button you see in the onboarding
header, which is the one the test is now using.

I agree it makes sense not to redirect in this case, but the test should
be adapted accordingly, and instead look for the feature flag name in
the table.
2024-11-26 16:13:30 +00:00
Nuno Góis
ff164a0667
Revert "chore: adapt billing page to custom billing scenarios"
This reverts commit 13fbcec5b3.
2024-11-26 14:22:04 +00:00
Nuno Góis
13fbcec5b3
chore: adapt billing page to custom billing scenarios 2024-11-26 14:20:59 +00:00
Nuno Góis
14403d7836
chore: release plans flow in flag environments (#8843)
https://linear.app/unleash/issue/2-2816/add-release-plan-to-feature-flag-from-release-template

https://linear.app/unleash/issue/2-2818/list-release-plan-with-milestones-in-feature-flag-environment-section

https://linear.app/unleash/issue/2-2819/removing-release-plan-from-feature

Implements the release plan flow in the feature flag environment.

You can now manage release plans in a feature flag environment by adding
or removing them, as well as start milestones.


https://github.com/user-attachments/assets/24db9db4-7c3a-463e-b48a-611358f2b212
2024-11-26 09:15:24 +00:00
Fredrik Strand Oseberg
26d96a0002
docs: add enterprise awareness section (#8847)
Adds a section in the README.md on Enterprise capabilities and link to
PAYG

---------

Co-authored-by: melindafekete <melinda.fekete@getunleash.io>
2024-11-26 09:55:45 +01:00
Gastón Fournier
dd17f2408d
docs: update go sdk to newer version (#8857)
Update Go SDK to the newest version
2024-11-26 08:31:18 +00:00
Mateusz Kwasniewski
90440c0439
feat: view diff in change requests (#8852) 2024-11-26 09:28:17 +01:00
Jaanus Sellin
1990ede59f
chore: rename toggle to feature (#8855) 2024-11-26 10:24:59 +02:00
Jaanus Sellin
7906bfb177
chore: rename toggle to flag (#8854) 2024-11-26 09:57:43 +02:00
David Leek
2078dcc46a
chore: milestone strategy tabs (#8851) 2024-11-26 08:42:56 +01:00
Tymoteusz Czech
1433878f32
fix: change requests placeholder (#8724)
If project does not have CRs configured, show correct info.
2024-11-25 17:54:25 +01:00
weekwith.me
d75c63b6e8
feat: Add PROJECT_ARCHIVED event to send message to Slack (#8848)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

### Summary

- Add `PROJECT_ARCHIVED` event on `EVENT_MAP` to use
- Add a test case for `PROJECT_ARCHIVED` event formatting 
- Add `PROJECT_ARCHIVED` event when users choose which events they send
to Slack
- Fix Slack integration document by adding `PROJECT_ARCHIVED`

### Example

The example message looks like the image below. I covered my email with
a black rectangle to protect my privacy 😄
The link refers `/projects-archive` to see archived projects.

<img width="529" alt="Slack message example"
src="https://github.com/user-attachments/assets/938c639f-f04a-49af-9b4a-4632cdea9ca7">

## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

I considered the reason why Unleash didn't implement to send
`PROJECT_ARCHIVED` message to Slack integration.

One thing I assumed that it is impossible to create a new project with
open source codes, which means it is only enabled in the enterprise
plan. However,
[document](https://docs.getunleash.io/reference/integrations/slack-app#events)
explains that users can send `PROJECT_CREATED` and `PROJECT_DELETED`
events to Slack, which are also available only in the enterprise plan,
hence it means we need to embrace all worthwhile events.

I think it is reasonable to add `PROJECT_ARCHIVED` event to Slack
integration because users, especially operators, need to track them
through Slack by separating steps, `_CREATED`, `_ARCHIVED`, and
`_DELETED`.
2024-11-25 14:33:50 +00:00
Tymoteusz Czech
8093a0d512
Update sidebar size (#8831)
Small visual change that will make UI easier to use on medium size
screens.
2024-11-25 15:06:42 +01:00
Thomas Heartman
99f2b70da3
fix: show data for last 30 days where we say we do (#8850)
This change updates the stat for archived flags "this month".

Turns out we were accessing the wrong property on the data object.

Additionally, changes the label to say "last 30 days" instead of "this
month"  because that's more accurate.
2024-11-25 13:09:03 +00:00
Mateusz Kwasniewski
dc7c46786a
fix: keep change request type in table (#8849) 2024-11-25 14:05:54 +01:00
Christopher Kolstad
0f76a8a5a6
task: added unique index for release plan templates (#8846)
We want to prevent our users from defining multiple templates with the
same name. So this adds a unique index on the name column when
discriminator is template.
2024-11-25 11:25:55 +01:00
Mateusz Kwasniewski
4f87f1e0b9
feat: deleting strategy variants indicator (#8840) 2024-11-25 10:46:35 +01:00
David Leek
79224ef9e5
chore: switch to using milestoneId instead of index (#8845) 2024-11-25 10:38:12 +01:00
Jaanus Sellin
9a269e3597
feat: licensed users chart (#8844)
Currently showing 2 lines, because backend is not sorting the data.


![image](https://github.com/user-attachments/assets/905001fb-2020-45b2-a1f4-ba497b594e61)
2024-11-25 10:03:21 +02:00
David Leek
f985cb1deb
feat: selector dropdown for milestone new strategy (#8841) 2024-11-25 07:59:58 +01:00
Mateusz Kwasniewski
c85c877c93
fix: link typo for upgrade (#8842) 2024-11-22 16:09:58 +01:00
Jaanus Sellin
b4bf68a4d2
chore: update orval schema (#8839) 2024-11-22 13:19:29 +02:00
gitar-bot[bot]
9b4e646a98
[Gitar] Cleaning up stale flag: onboardingUI with value true (#8832)
[![Gitar](https://raw.githubusercontent.com/gitarcode/.github/main/assets/gitar-banner.svg)](https://gitar.ai)
  This automated PR permanently enables the `onboardingUI` feature flag.
  
  ---
This automated PR was generated by [Gitar](https://gitar.ai). View
[docs](https://gitar.ai/docs).

---------

Co-authored-by: Gitar <noreply@gitar.ai>
2024-11-22 11:55:24 +02:00
gitar-bot[bot]
6844984610
[Gitar] Cleaning up stale flag: trackLifecycleMetrics with value false (#8833)
[![Gitar](https://raw.githubusercontent.com/gitarcode/.github/main/assets/gitar-banner.svg)](https://gitar.ai)
This automated PR permanently removes the `trackLifecycleMetrics`
feature flag.
  
  ---
This automated PR was generated by [Gitar](https://gitar.ai). View
[docs](https://gitar.ai/docs).

Co-authored-by: Gitar <noreply@gitar.ai>
2024-11-22 11:54:28 +02:00
Melinda Fekete
0e7b675ede
FedRAMP docs (#8815) 2024-11-22 10:44:19 +01:00
Jaanus Sellin
172e34d3e9
feat: licensed seats sidebar (#8834)
Currently mock data, next step is to create chart and connect to
backend.


![image](https://github.com/user-attachments/assets/4b91a3ea-b42a-4c6e-b953-803ff5765c07)
2024-11-22 11:37:41 +02:00
Thomas Heartman
5d553d0c7b
chore: allow openapi "date" format of strings (#8837)
This change opens up the possibility of using the "date" format for
strings in our OpenAPI spec. According to the official docs, [`date` is
a built-in string
format](https://swagger.io/docs/specification/v3_0/data-models/data-types/#string-formats).
2024-11-22 10:18:39 +01:00
Mateusz Kwasniewski
cf741c6845
chore: update utm links (#8835) 2024-11-22 10:04:41 +01:00
Thomas Heartman
705a0e50d1
fix: isOss check + minor UI things (#8828)
This PR fixes the isOss check for the licensed users component. It also
addresses two things in the UI:

1. It right-aligns the text on the button so that when we get narrower,
the text doesn't slide to the center. There's a few more things that we
can fix later, though. When you press it, it'll still show the entire
button layout:

![image](https://github.com/user-attachments/assets/ea4606be-614a-455e-921f-45ed8d40df23)
And when you focus it with a keyboard it still looks like a button. 

We can get around that by using a regular button and just styling it a
bit, but making the text align will take some extra jimmying around (not
done in this pr, but got stashed changes for it)

![image](https://github.com/user-attachments/assets/33b2f32b-0027-45bf-84f2-4a5e99ef38b2)

But this is what it'd look like now with centered text: 

![image](https://github.com/user-attachments/assets/fe4c6b28-ede1-4418-a471-c2b6b959aacf)



2. It wraps the entire left column in a `p` tag, because they belong
together. They're not two logical paragraphs. So instead, we wrap them
in spans and surround them in a
p. `Display: contents` makes the p "invisible", so its children act as
if
they're children of the container above it instead.
2024-11-22 09:26:52 +01:00
Tymoteusz Czech
0b68fff0b7
Personal dashboard - enterprise info banner (#8825)
Info banner for personal dashboard
2024-11-21 15:21:01 +01:00
Mateusz Kwasniewski
5c7f4d5fc1
feat: backfill archived features lifecycle (#8824) 2024-11-21 14:41:20 +01:00
Tymoteusz Czech
f8ae7fd539
refactor: optimize png (#8826)
No visual difference and around -30% size
2024-11-21 14:20:03 +01:00
Jaanus Sellin
358683278c
chore: hide project status widgets for oss (#8827)
Hiding 2 widgets for oss.
2024-11-21 15:17:38 +02:00
Jaanus Sellin
b72ce90102
feat: archived tooltip alignment (#8820)
From


![image](https://github.com/user-attachments/assets/168cd7ef-6976-47a3-9d2b-e12e45161039)


To


![image](https://github.com/user-attachments/assets/2c2c9593-7079-40b7-ab32-0f9d21c0f9e2)

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-11-21 14:12:14 +02:00
Mateusz Kwasniewski
c927c6f32b
feat: create project upgrade link (#8822) 2024-11-21 12:09:44 +01:00
Thomas Heartman
4ded068de7
1-3144: extract project status into own component. (#8823)
This way, we don't need to reload the entire project page just to
open/close it.

Will probably resolve the performance issues.
2024-11-21 12:03:19 +01:00
Thomas Heartman
52a456a759
fix: fix status sidebar top padding (#8817)
This PR improves handling of very narrow screens for the project status
header:
- Add a right margin so that it won't overlap with the close button.
- Make it so the icon in the header doesn't shrink.
2024-11-21 11:30:37 +01:00
Jaanus Sellin
72fd087fbf
chore: make project status fit on 1080 height (#8818)
![image](https://github.com/user-attachments/assets/a51f50fc-b0b2-4657-94f2-8d095f59898d)

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-11-21 12:10:16 +02:00
Thomas Heartman
248d859b80
fix: cleanup should be completed (#8819)
This PR changes the term "cleanup" to "completed" for the lifecycle
summary.
2024-11-21 11:05:32 +01:00
Jaanus Sellin
c18952f374
feat: licensed users ui rework (#8809)
1. Moved link creation bottom next to licensed users view
2. Created licensed users component
3. Added flag

OSS:

![image](https://github.com/user-attachments/assets/cfb2b971-3861-4093-91a5-f3118b906029)
All others

![image](https://github.com/user-attachments/assets/e8cf712f-7e66-44f6-9965-1bb785e4f3fc)
2024-11-21 11:46:40 +02:00
Thomas Heartman
6d75ad73d4
fix: count lifecycle more accurately (#8816)
This PR fixes three things that were wrong with the lifecycle summary
count query:

1. When counting the number of flags in each stage, it does not take
into account whether a flag has moved out of that stage. So if you have
a flag that's gone through initial -> pre-live -> live, it'll be counted
for each one of those steps, not just the last one.

2. Some flags that have been archived don't have the corresponding
archived state row in the db. This causes them to count towards their
other recorded lifecycle stages, even when they shouldn't. This is
related to the previous one, but slightly different. Cross-reference the
features table's archived_at to make sure it hasn't been archived

3. The archived number should probably be all flags ever archived in the
project, regardless of whether they were archived before or after
feature lifecycles. So we should check the feature table's archived_at
flag for the count there instead
2024-11-21 08:12:53 +00:00
Mateusz Kwasniewski
4a769d14a5
feat: upgrade sso (#8813) 2024-11-20 16:42:34 +01:00
Tymoteusz Czech
01bd877a81
feat: info about unlimited projects option (#8814)
- refactored projects list header
- added info about unlimited projects to open-source version
2024-11-20 16:40:19 +01:00
Nuno Góis
b7af9b7ec3
chore: PAYG traffic bundles (#8805)
https://linear.app/unleash/issue/2-2989/unleash-payg-auto-traffic-billing

Integrates auto traffic bundle billing with PAYG.

Currently assumes the PAYG traffic bundle will have the same
`$5/1_000_000` cost as the existing Pro traffic bundle, with the same
`53_000_000` included requests. However some adjustments are included so
it's easier to change this in the future.
2024-11-20 15:20:50 +00:00