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

12856 Commits

Author SHA1 Message Date
Thomas Heartman
8493bee272
feat(1-3085): hook up lifecycle read model data to endpoint (#8709)
This PR hooks up the project lifecycle summary read model to the service
and exposes the lifecycle summary data in the controller.
2024-11-11 11:22:28 +01:00
Christopher Kolstad
92f7acbfc4
task: added release plan template permissions to permissions.ts (#8708) 2024-11-11 11:05:19 +01:00
renovate[bot]
60ae9ac4c4
chore(deps): update dependency @types/node to v20.17.6 (#8706)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.17.1` ->
`20.17.6`](https://renovatebot.com/diffs/npm/@types%2fnode/20.17.1/20.17.6)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.17.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.17.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.17.1/20.17.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.17.1/20.17.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS43LjEiLCJ1cGRhdGVkSW5WZXIiOiIzOS43LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 09:47:40 +00:00
Christopher Kolstad
d417dda229
task: added migration for release plan template permissions (#8707)
Due to the cascade on the permission in role_permission, the down
migration does not need to remove the rows from role_permission.
2024-11-11 10:42:38 +01:00
renovate[bot]
7d800f6565
chore(deps): update dependency @testing-library/jest-dom to v6.6.3 (#8705)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@testing-library/jest-dom](https://redirect.github.com/testing-library/jest-dom)
| [`6.6.2` ->
`6.6.3`](https://renovatebot.com/diffs/npm/@testing-library%2fjest-dom/6.6.2/6.6.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@testing-library%2fjest-dom/6.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@testing-library%2fjest-dom/6.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@testing-library%2fjest-dom/6.6.2/6.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@testing-library%2fjest-dom/6.6.2/6.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>testing-library/jest-dom
(@&#8203;testing-library/jest-dom)</summary>

###
[`v6.6.3`](https://redirect.github.com/testing-library/jest-dom/compare/v6.6.2...5ba015651c7b10c154e5a4ae54f85df6010c5295)

[Compare
Source](https://redirect.github.com/testing-library/jest-dom/compare/v6.6.2...v6.6.3)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS43LjEiLCJ1cGRhdGVkSW5WZXIiOiIzOS43LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-08 18:31:07 +00:00
Nuno Góis
044e61454b
chore: list release templates in strategy popover (#8703)
https://linear.app/unleash/issue/2-2817/expand-the-strategy-dropdown-with-release-plan-templates

Does what it says on the tin, lists release plan templates in the
strategy popover.

I think we should improve this popover soon, at least behind the
`flagOverviewRedesign` flag, but not in this PR.


![image](https://github.com/user-attachments/assets/6f91175f-f941-4566-b56b-24007d5077da)
2024-11-08 14:26:01 +00:00
Jaanus Sellin
da805f2036
feat: remove archive tooltip conditionally (#8702)
The archived functionality has been moved into the feature list, and we
are showing a tooltip. However, it doesn’t make sense to display it to
new customers, as they wouldn’t be familiar with the previous behavior.

I've introduced a "new/old user" classification, where I’m setting
08.11.2024 as the dividing line. All customers created after 08.11.2024
will be considered new, and we won’t display the tooltip for them.
Everyone else will be treated as old customers.

This approach means there will be a brief period from 08.11.2024 until
the release date where any customers created during this time will be
categorized as new, even if they still have access to the old archive.
For simplicity, I’m willing to accept this risk, as it's likely that in
95% of cases, for those few customers (0–10), they won’t need the
archive functionality immediately, so it’s acceptable not to display the
tooltip for them.

This setup is temporary in our code base and will be removed with a
feature flag.
2024-11-08 16:12:41 +02:00
Jaanus Sellin
961501567c
feat: remove excessing debug logging (#8701)
This debugger has been spamming me locally and I think this was
forgotten during some development. Removing.
2024-11-08 14:57:26 +02:00
Thomas Heartman
f92441fa50
chore: put project lifecycle read model in own directory + add fake (#8700)
This PR moves the project lifecycle summary to its own subdirectory and
adds files for types (interface) and a fake implementation.

It also adds a query for archived flags within the last 30 days taken
from `getStatusUpdates` in `src/lib/features/project/project-service.ts`
and maps the gathered data onto the expected structure. The expected
types have also been adjusted to account for no data.

Next step will be hooking it up to the project status service, adding
schema, and exposing it in the controller.
2024-11-08 11:33:03 +00:00
Alvin Bryan
8f18c2b194
Docusaurus 3.6 (#8684)
Upgrading to Docusaurus 3.6 and v4.2 of the OpenAPI plugin (which is
quite a significant update)
2024-11-08 11:30:51 +00:00
Thomas Heartman
b141981f91
1-3085: count flags in each stage (#8699)
This PR adds the next query to the lifecycle read model: how many flags
are in each stage.
2024-11-08 10:41:42 +00:00
Thomas Heartman
0a250a7526
tests: add more tests for the lifecycle avg calculation query (#8698)
This PR adds more tests to check a few more cases for the lifecycle
calculation query. Specifically, it tests that:
- If we don't have any data for a stage, we return `null`.
- We filter on projects
- It correctly takes `0` days into account when calculating averages.
2024-11-08 11:29:17 +01:00
Jaanus Sellin
5733f91347
feat: archived toggles do not show switch (#8696)
Archived toggles will not show switch anymore, but a dash.

![Screenshot from 2024-11-08
11-41-17](https://github.com/user-attachments/assets/d43de8ff-13c3-4f70-8f8f-b7e5bbc4d0bc)
2024-11-08 12:27:41 +02:00
Nuno Góis
b4fde58fa0
chore: flag overview page redesign - environments (#8683)
https://linear.app/unleash/issue/2-2826/enabling-environment-via-feature-flag-environment-section-header

https://linear.app/unleash/issue/2-2825/feature-flag-list-bottom-left-to-be-a-nav-section

Follow-up to: https://github.com/Unleash/unleash/pull/8663

Implements most of the remaining work for our flag overview page
redesign.

Most of the code you see is a straight copy/paste from our older
existing components, with the slight improvement here and there.

Includes some improvements to our vertical tabs component to suit our
use case.
Also updates the Demo flow accordingly. I did some manual tests and it
seems to work decently in both scenarios, whether `flagOverviewRedesign`
is enabled or not. The demo needs some love but that's a story for a
different PR and a different time.

Once again, due to the duplicate file pattern, we should remember to
clean this up if we decide to remove the flag.

<img width="1086" alt="image"
src="https://github.com/user-attachments/assets/0c375e34-cbb5-4ac4-a764-39a36b6c6781">
2024-11-08 09:56:46 +00:00
Melinda Fekete
7597bb91ac
Add lastmod to sitemap (#8681) 2024-11-08 10:52:47 +01:00
Thomas Heartman
e07aab68cc
feat: Add lifecycle summary info read model + average time spent in lifecycle query (#8691)
This PR adds a project lifecycle read model file along with the most
important (and most complicated) query that runs with it: calculating
the average time spent in each stage.

The calculation relies on the following:
- when calculating the average of a stage, only flags who have gone into
a following stage are taken into account.
- we'll count "next stage" as the next row for the same feature where
the `created_at` timestamp is higher than the current row
- if you skip a stage (go straight to live or archived, for instance),
that doesn't matter, because we don't look at that.

The UI only shows the time spent in days, so I decided to go with
rounding to days directly in the query.

## Discussion point:

This one uses a subquery, but I'm not sure it's possible to do without
it. However, if it's too expensive, we can probably also cache the value
somehow, so it's not calculated more than every so often.
2024-11-08 09:45:47 +00:00
Jaanus Sellin
8a507b2eec
feat: connect project health frontend with backend (#8695)
1. Connected project health frontend with backend
2. Synced orval
2024-11-08 10:53:45 +02:00
Tymoteusz Czech
656483d819
chore: remove stale flags (#8689)
- `projectOverviewRefactorFeedback`
- `featureSearchFeedbackPosting`
- `featureSearchFeedback`
2024-11-08 09:40:17 +01:00
Christopher Kolstad
c46ce85611
task: explicitly allows Artistic-2.0 license (#8694)
Due to our use of docusaurus and the openapi plugin we need to allow
Artistic-2.0, Having read the license, it allows for free use of the
licensed code, provided the license is included when distributing, but
does not require a relicensing of products using the licensed code.
2024-11-08 08:25:44 +00:00
Nuno Góis
f669d9622e
fix: console warnings and errors related to event timeline and strategy form (#8692)
Fixes browser console warnings and errors related to the event timeline
and strategy form.

- **Event Timeline**: Addressed a warning where the environment filter
rendered with a default environment value (production) before
environments were fully loaded.
- **Strategy Form**: Resolved an error caused by forwarding the enabled
prop as a boolean.
2024-11-08 08:18:30 +00:00
Nnenna Ndukwe
b52dcb3082
docs: a/b testing doc V2 (#8501)
<!-- 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
Update A/B testing use cases tutorial. [Preview
link](https://unleash-docs-git-use-case-ab-testing-v2-unleash-team.vercel.app/feature-flag-tutorials/use-cases/a-b-testing)

<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


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

---------

Co-authored-by: Michael Ferranti <michael.ferranti+unleash@getunleash.io>
Co-authored-by: Melinda Fekete <melinda.fekete@getunleash.io>
2024-11-07 16:04:38 -05:00
Melinda Fekete
618cd09eac
Terraform provider docs (#8598) 2024-11-07 17:56:16 +01:00
Melinda Fekete
a9195e25c5
Remove referential link from the Flutter community tutorial (#8682) 2024-11-07 16:51:06 +01:00
Jaanus Sellin
73c608c578
feat: activity chart now shows full year (#8690)
Previously when there was no data, the activity chart showed as really
small. Now I am populating the start date and end date to draw out full
chart.


![image](https://github.com/user-attachments/assets/a051ad2e-6d62-4fa9-8cd0-7b5776f361d1)
2024-11-07 14:57:16 +02:00
Jaanus Sellin
d6c03fdbfa
feat: health score backend (#8687)
Implements the backend part for project health.

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-11-07 13:22:01 +02:00
Mateusz Kwasniewski
e039cdc85c
feat: count recently deleted users (#8688) 2024-11-07 11:57:47 +01:00
Jaanus Sellin
8fc2032bfa
feat: health widget (#8686)
![image](https://github.com/user-attachments/assets/01bca9b5-ecc3-4b9e-ae58-a8af84685121)
2024-11-07 12:07:30 +02:00
Thomas Heartman
e224417116
1-3059: add initial visuals for lifecycle summary (#8679)
Add rough implementation of the lifecycle summary components.

This PR adds components for all the different lifecycle stages. We don't
have any data yet, so they're all hardcoded for now, just to get the
visuals right. I'm expecting the lines of code to drop and to
refactor/extract some structures as development continues.

For now, this is what they look like:


![image](https://github.com/user-attachments/assets/d7deacaa-83e1-46c2-bc28-8264416c1dd9)

Things to note:
- The lifecycle stage icon colors don't match up with the sketches, but
they match up with what we currently have in the app. If we change them,
we should change them together.
- This implementation does not contain the "Flag lifecycle" header or
the "view graphs" link.
2024-11-07 10:44:13 +01:00
Jaanus Sellin
ba79a633e4
fix: show archive tooltip only on project screen (#8685)
Fixing archive tooltip appearing on every filter in Unleash


![image](https://github.com/user-attachments/assets/5fc4ff0b-ddd7-4101-ac6b-141ea4b67c78)
2024-11-07 10:49:31 +02:00
David Leek
cfe19dee73
feat: deleting release-plan templates (#8678) 2024-11-06 15:55:26 +01:00
Tymoteusz Czech
f5eafe6d49
Fix: email colors on iOS (#8680)
Force light mode in Apple mail, preventing issues with button text
colors.
2024-11-06 14:28:49 +00:00
Mateusz Kwasniewski
730200c05b
test: flaky flag type selection (#8677) 2024-11-06 14:51:43 +01:00
Thomas Heartman
2615a71474
test: add tests for project resources data (#8675)
Adds a test that checks all the values in the project status' resources
object.
2024-11-06 13:30:45 +00:00
Jaanus Sellin
21c44a4d42
fix: dashboard onboarding flow correct conditions (#8676)
Previously it never went to else clause. Because it was always
onboardingStarted.
2024-11-06 15:21:42 +02:00
Thomas Heartman
c70c023143
refactor: introduce countProjectTokens method on ApiTokenStore (#8674)
This change introduces a new method `countProjectTokens` on the
`IApiTokenStore` interface. It also swaps out the manual filtering for
api tokens belonging to a project in the project status service.
2024-11-06 13:13:44 +00:00
Thomas Heartman
7c28d247d8
chore: remove project segments gate for oss users (#8666)
This change opens up the project segments page to OSS users. They
could navigate to it explicitly before, but would be told it was a
premium feature (which it is not (since 5.5)).

After this, it'll show up in the settings sidebar as for
pro/enterprise, and you'll get the actual segments table instead of
"this is a premium feature" message.


![image](https://github.com/user-attachments/assets/1fb0213a-4541-4f01-8f61-48725f4602e1)
2024-11-06 14:05:33 +01:00
Jaanus Sellin
76bf6dbcb8
fix: active flags double stale flags (#8673)
Do not count stale flags as potentially stale flags to remove
duplicates.
Stale flags feel like more superior state and it should not show up
under potentially stale.
2024-11-06 15:04:07 +02:00
David Leek
fa597aa340
Feat/release management overview (#8672) 2024-11-06 14:02:42 +01:00
Jaanus Sellin
1b568d1503
chore: update SCSS preprocessor API to modern-compiler (#8659)
Configured SCSS preprocessor options to use the `modern-compiler` API,
aligning with the new Sass API standards and preparing for Dart Sass
2.0.0. This change prevents deprecation warnings and ensures future
compatibility by transitioning away from the legacy JS API.


https://sass-lang.com/documentation/breaking-changes/legacy-js-api/

Got rid of 
![Screenshot from 2024-11-05
15-25-09](https://github.com/user-attachments/assets/c13827de-6ab4-40ab-af4c-d1a4f8cb7b3e)
2024-11-06 13:55:44 +02:00
Thomas Heartman
8a5771dd50
chore (1-3076): add remaining "project resources" to status payload (#8660)
This PR adds member, api token, and segment counts to the project status
payload. It updates the schemas and adds the necessary stores to get
this information. It also adds a new query to the segments store for
getting project segments.

I'll add tests in a follow-up.
2024-11-06 11:46:04 +00:00
Melinda Fekete
f016a3e34d
Introduce availability page in the docs (#8644) 2024-11-06 12:43:03 +01:00
Thomas Heartman
3d10887610
fix: prevent rendering too many hooks error (#8667)
We found an issue where we'd get a minified react error referencing the
LazyProjectExport component.


![image](https://github.com/user-attachments/assets/3cb76315-ccef-4fa6-968c-845ecf21bc0f)


We suspect that the issue might be the conditional rendering of this
component, so the fix is to always render it, but to use the flag to
check whether we should show the count or not.
2024-11-06 12:28:48 +01:00
Christopher Kolstad
4ed5b1bb8a
task: Added Release Plan Template events (#8668)
As part of the release plan template work. This PR adds the three events
for actions with the templates.

Actually activating milestones should probably trigger existing
FeatureStrategyAdd events when adding and FeatureStrategyRemove when
changing milestones.
2024-11-06 12:15:01 +01:00
Nuno Góis
328fac39a2
fix: console errors from highlight component and tag key prop placement (#8669)
Addressing some oversights that led to browser console errors.

This PR fixes console errors related to the recently introduced
highlight component (#8643) and tag row component in the new flag
metadata panel (#8663).
2024-11-06 11:09:33 +00:00
Nuno Góis
314a4d7113
chore: new feature flag overview metadata panel (#8663)
https://linear.app/unleash/issue/2-2920/update-the-flag-overview-metadata-properties-to-match-the-new-design

Updates the feature flag overview metadata panel to match the new
design.

This redesign is behind a feature flag, so we opted to go with a
duplicate file approach. We should remember to clean this up if we
decide to remove the flag.


![image](https://github.com/user-attachments/assets/0eb8464c-8279-46a8-9f64-9d914f56db36)
2024-11-06 10:41:39 +00:00
Jaanus Sellin
d6e722b7b3
feat: activity chart polish (#8665)
![image](https://github.com/user-attachments/assets/a97f5745-1300-473e-80af-54f0cfc985e1)
2024-11-06 12:00:42 +02:00
Mateusz Kwasniewski
ba72be6169
chore: export user subscriptions read model (#8664) 2024-11-06 09:34:38 +01:00
Nuno Góis
16e136e42c
chore: add flagOverviewRedesign flag (#8653)
https://linear.app/unleash/issue/2-2916/create-a-new-flag-for-the-new-feature-flag-overview-page-redesign

Adds the `flagOverviewRedesign` feature flag, allowing us to toggle the
new feature flag overview page redesign.
2024-11-05 15:53:15 +00:00
Mateusz Kwasniewski
b00d449c72
feat: read productivity report from profile (#8662) 2024-11-05 16:14:19 +01:00
Tymoteusz Czech
7aa74cccd3
feat: add user preference change to event log (#8652) 2024-11-05 14:52:11 +00:00