1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
Commit Graph

8859 Commits

Author SHA1 Message Date
renovate[bot]
d77ed0664e
fix(deps): update dependency @svgr/webpack to v8 (#4407)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@svgr/webpack](https://react-svgr.com)
([source](https://togithub.com/gregberge/svgr)) | [`6.5.1` ->
`8.1.0`](https://renovatebot.com/diffs/npm/@svgr%2fwebpack/6.5.1/8.1.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@svgr%2fwebpack/8.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@svgr%2fwebpack/8.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@svgr%2fwebpack/6.5.1/8.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@svgr%2fwebpack/6.5.1/8.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>gregberge/svgr (@&#8203;svgr/webpack)</summary>

###
[`v8.1.0`](https://togithub.com/gregberge/svgr/blob/HEAD/CHANGELOG.md#810-2023-08-15)

[Compare
Source](https://togithub.com/gregberge/svgr/compare/v8.0.1...v8.1.0)

##### Bug Fixes

- **cli:** fix default dimensions, prettier & svgo
([571d5c8](571d5c8bd1))
- **config:** prefer cli config over rc config
([#&#8203;845](https://togithub.com/gregberge/svgr/issues/845))
([8b97248](8b97248426))
- **react-native:** fix duplicate import
([#&#8203;894](https://togithub.com/gregberge/svgr/issues/894))
([e612b6a](e612b6a1a4))

##### Features

- **esm:** add support for svgo.config.cjs
([#&#8203;879](https://togithub.com/gregberge/svgr/issues/879))
([ae91e2e](ae91e2eacb))

####
[8.0.1](https://togithub.com/gregberge/svgr/compare/v8.0.0...v8.0.1)
(2023-05-09)

##### Bug Fixes

- fix peer dependencies
([2e05255](2e0525546e))

###
[`v8.0.1`](https://togithub.com/gregberge/svgr/blob/HEAD/CHANGELOG.md#801-2023-05-09)

[Compare
Source](https://togithub.com/gregberge/svgr/compare/v8.0.0...v8.0.1)

##### Bug Fixes

- fix peer dependencies
([2e05255](2e0525546e))

###
[`v8.0.0`](https://togithub.com/gregberge/svgr/blob/HEAD/CHANGELOG.md#800-2023-05-09)

[Compare
Source](https://togithub.com/gregberge/svgr/compare/v7.0.0...v8.0.0)

##### Bug Fixes

- parseObject error causes website broken
([05f2946](05f2946d90))

##### Features

- add snake_case filename option
([#&#8203;857](https://togithub.com/gregberge/svgr/issues/857))
([428b0c7](428b0c7f4c))
- make index template more flexible
([#&#8203;861](https://togithub.com/gregberge/svgr/issues/861))
([003009c](003009c7b2))
- **types:** change `SVGProps` from import to import type
([#&#8203;853](https://togithub.com/gregberge/svgr/issues/853))
([095f021](095f021628))

##### BREAKING CHANGES

- index template now receives an array of objects containing both the
created
    component path (`path`) and the original SVG path (`originalPath`)

###
[`v7.0.0`](https://togithub.com/gregberge/svgr/blob/HEAD/CHANGELOG.md#700-2023-03-24)

[Compare
Source](https://togithub.com/gregberge/svgr/compare/v6.5.1...v7.0.0)

##### Features

- allow specifying `jsxRuntimeImport` in config
([86bb86f](86bb86f477)),
closes [#&#8203;801](https://togithub.com/gregberge/svgr/issues/801)
[#&#8203;801](https://togithub.com/gregberge/svgr/issues/801)
- remove [@&#8203;svgr/plugin-jsx](https://togithub.com/svgr/plugin-jsx)
from core
([a0f078d](a0f078db13))
- upgrade to svgo v3
([#&#8203;798](https://togithub.com/gregberge/svgr/issues/798))
([21b6209](21b6209ef3))

##### BREAKING CHANGES

-   plugin-jsx is no longer included by default in core
-   svgr now requires Node.js v14+

####
[6.5.1](https://togithub.com/gregberge/svgr/compare/v6.5.0...v6.5.1)
(2022-10-27)

##### Reverts

- Revert "feat(a11y): add attribute role="img" to the svg element
([#&#8203;750](https://togithub.com/gregberge/svgr/issues/750))"
([1382232](138223284a)),
closes [#&#8203;750](https://togithub.com/gregberge/svgr/issues/750)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, 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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-16 08:31:27 +02:00
renovate[bot]
1d04b745f8
chore(deps): update dependency @types/react to v17.0.63 (#4500)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-16 02:32:57 +00:00
renovate[bot]
6e42e3af59
chore(deps): update dependency @types/node to v18.17.4 (#4499)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, 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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-15 23:16:49 +00:00
renovate[bot]
6edab6cbbc
chore(deps): update dependency @babel/core to v7.22.10 (#4498)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@babel/core](https://babel.dev/docs/en/next/babel-core)
([source](https://togithub.com/babel/babel)) | [`7.22.9` ->
`7.22.10`](https://renovatebot.com/diffs/npm/@babel%2fcore/7.22.9/7.22.10)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fcore/7.22.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fcore/7.22.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fcore/7.22.9/7.22.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fcore/7.22.9/7.22.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>babel/babel (@&#8203;babel/core)</summary>

###
[`v7.22.10`](https://togithub.com/babel/babel/blob/HEAD/CHANGELOG.md#v72210-2023-08-07)

[Compare
Source](https://togithub.com/babel/babel/compare/v7.22.9...v7.22.10)

##### 🐛 Bug Fix

-   `babel-plugin-transform-typescript`
- [#&#8203;15799](https://togithub.com/babel/babel/pull/15799) \[ts]
Strip type-only namespaces
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
- [#&#8203;15798](https://togithub.com/babel/babel/pull/15798) \[ts] Fix
compiling extended exported nested namespace
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
- `babel-helper-create-class-features-plugin`,
`babel-plugin-proposal-decorators`,
`babel-plugin-proposal-destructuring-private`,
`babel-plugin-transform-class-properties`,
`babel-plugin-transform-class-static-block`,
`babel-plugin-transform-new-target`,
`babel-plugin-transform-private-methods`, `babel-preset-env`
- [#&#8203;15701](https://togithub.com/babel/babel/pull/15701) Memoize
class binding when compiling private methods and static elements
([@&#8203;JLHwung](https://togithub.com/JLHwung))

##### 💅 Polish

-   `babel-cli`
- [#&#8203;15824](https://togithub.com/babel/babel/pull/15824) Add
`meta` object to `@babel/eslint-plugin`
([@&#8203;JLHwung](https://togithub.com/JLHwung))
-   `babel-traverse`, `babel-types`
- [#&#8203;15661](https://togithub.com/babel/babel/pull/15661) Improve
the type definition of `path.isX`
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))
-   `babel-generator`, `babel-types`
- [#&#8203;15776](https://togithub.com/babel/babel/pull/15776) improve
SourceLocation typing ([@&#8203;JLHwung](https://togithub.com/JLHwung))

##### 🏠 Internal

-   Other
- [#&#8203;15818](https://togithub.com/babel/babel/pull/15818) build:
generate flow typings in prepublish job
([@&#8203;JLHwung](https://togithub.com/JLHwung))
- [#&#8203;15777](https://togithub.com/babel/babel/pull/15777) chore:
bump dev dependencies and remove .eslintignore
([@&#8203;JLHwung](https://togithub.com/JLHwung))
- `babel-cli`, `babel-core`, `babel-generator`,
`babel-helper-builder-react-jsx`, `babel-preset-env`, `babel-standalone`
- [#&#8203;15794](https://togithub.com/babel/babel/pull/15794) Enable
`@typescript-eslint/no-redundant-type-constituents` rule
([@&#8203;JLHwung](https://togithub.com/JLHwung))
-   `babel-helper-compilation-targets`
- [#&#8203;15811](https://togithub.com/babel/babel/pull/15811) Remove
`@babel/core` peerDep from `helper-compilation-targets`
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
-   `babel-parser`
- [#&#8203;15793](https://togithub.com/babel/babel/pull/15793) Use const
enum in babel-parser ([@&#8203;JLHwung](https://togithub.com/JLHwung))
-   `babel-plugin-transform-runtime`, `babel-traverse`, `babel-types`
- [#&#8203;15716](https://togithub.com/babel/babel/pull/15716) chore:
Use `typescript-eslint@v6` with reworked configs
([@&#8203;JoshuaKGoldberg](https://togithub.com/JoshuaKGoldberg))

##### 🔬 Output optimization

- `babel-plugin-transform-block-scoping`,
`babel-plugin-transform-parameters`,
`babel-plugin-transform-regenerator`
- [#&#8203;15746](https://togithub.com/babel/babel/pull/15746) Reduce
`transform-block-scoping` loops output size
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, 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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-15 19:19:23 +00:00
Mateusz Kwasniewski
16190ddca6
feat: disable scheduler for tests (#4496) 2023-08-15 15:58:36 +02:00
Mateusz Kwasniewski
1eae31527e
feat: enable migration lock by default (#4495) 2023-08-15 14:46:08 +02:00
Mateusz Kwasniewski
67ef0507a1
feat: link to change request configuration (#4494) 2023-08-15 14:18:02 +02:00
Mateusz Kwasniewski
4af826000d
feat: do not update every second (#4492) 2023-08-15 13:35:38 +02:00
Christopher Kolstad
d7c7abdda3
fix: update slack-app tests to reflect what we now do 2023-08-15 13:17:06 +02:00
Mateusz Kwasniewski
c58d325173
feat: reject change request dialog (#4491) 2023-08-15 12:49:40 +02:00
Christopher Kolstad
4ad370450d
fix: Change slackapp to using scheduleMessage (#4490)
### What
This PR changes the slack-app addon to use slack-api's scheduleMessage
instead of postMessage.

### Why
When using postMessage we had to find the channel id in order to be able
to post the message to the channel. scheduleMessage allows using the
channel name instead of the id, which saves the entire struggle of
finding the channel name. It did mean that we had to move to defining
blocks of content instead of the easier formatting we did with
postMessage.

### Message look

![image](https://github.com/Unleash/unleash/assets/177402/a9079c4d-07c0-4846-ad0c-67130e77fb3b)
2023-08-15 10:29:45 +00:00
Mateusz Kwasniewski
3227e30f12
feat: Change request reject UI (#4489) 2023-08-15 09:08:26 +02:00
Mateusz Kwasniewski
e2717ab8d3
fix: add timezones to timestamps (#4488) 2023-08-14 14:59:28 +02:00
Mateusz Kwasniewski
8fd5e21b4a
feat: Change request rejections db table (#4486) 2023-08-14 13:00:21 +02:00
Mateusz Kwasniewski
aafb2271be
feat: change request rejected event (#4485) 2023-08-14 10:23:14 +02:00
Mateusz Kwasniewski
0a27b5f44a
feat: use update count in cr summary (#4482) 2023-08-11 14:59:59 +02:00
Jaanus Sellin
12dfb1f3eb
feat: add margin for segment constraints (#4481) 2023-08-11 14:07:41 +02:00
andreas-unleash
f9a686ca81
Fix/constraint with legal value that has been deleted (#4473)
When editing a constraint that uses a context field with legal values:

if the contraint has a value that has been deleted from the legal values
of the context field:
- Show the value and mark it as disabled
- On any change -> 'cleans'/removed the deleted legal values from the
constraint values

Closes:
[1-1209](https://linear.app/unleash/issue/1-1209/if-i-modified-the-legal-values-of-a-used-context-field)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-08-11 13:44:28 +03:00
Mateusz Kwasniewski
c1fe43fe64
fix: diff no changes (#4480) 2023-08-11 12:31:23 +02:00
Mateusz Kwasniewski
81586074d0
feat: track read about (#4478) 2023-08-11 09:59:23 +02:00
Mateusz Kwasniewski
90f5af6b61
docs: change requests for segments (#4476) 2023-08-11 09:48:37 +02:00
Mateusz Kwasniewski
a68942d90f
fix: strategy variants in demo link to new variants (#4477) 2023-08-11 09:43:41 +02:00
Jaanus Sellin
0e4485d0fc
feat: segment constraints in UI (#4472) 2023-08-10 20:12:17 +03:00
andreas-unleash
46314d2772
fix: Remove lastSeenAt from useCollaborateData.tsx staleness check (#4461)
Remove the lastSeenAt property when checking for stale data

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-08-10 16:13:24 +03:00
Jaanus Sellin
c1314a8ee8
feat: delete segment from CR (#4469) 2023-08-10 15:56:15 +03:00
Mateusz Kwasniewski
84cbd669eb
feat: count segment changes (#4468) 2023-08-10 14:40:44 +02:00
Mateusz Kwasniewski
27c3c2393c
fix: plain link for read about (#4470) 2023-08-10 14:40:14 +02:00
andreas-unleash
7d991f3a56
fix: Disable Edit constraint when context field was deleted (#4460)
Disable Edit constraint when context field was deleted

Closes:
[1-1208](https://linear.app/unleash/issue/1-1208/if-i-deleted-a-used-context-with-predefined-legal-values)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-08-10 15:27:30 +03:00
Nuno Góis
ded33a6d81
chore: remove customRootRoles flag in favor of killswitch (#4431)
https://linear.app/unleash/issue/2-1303/adapt-existing-customrootroles-flag-to-a-customrootroleskillswitch

Removes the existing `customRootRoles` flag in favor of a
`customRootRolesKillSwitch` which should follow the same logic but
negated/inverted.

Once released, this will effectively make custom root roles GA, and we
can use
[customRootRolesKillSwitch](https://app.unleash-hosted.com/hosted/projects/eg/features/customRootRolesKillSwitch)
to disable the feature if needed.
2023-08-10 13:11:55 +01:00
Nuno Góis
22273d79e3
test: fix import and access e2e tests due to recent changes (#4467)
This should fix `import` and `access` Cypress e2e tests after recent
changes were introduced:

- `import.spec.ts` - Expected '50%' to be contained in the page, however
now [we are lazy loading the accordion
content](https://github.com/Unleash/unleash/pull/4454);
- `access.spec.ts` - Expected 'within a project are allowed' to be
visible as a role description, however [we updated the predefined roles
descriptions](https://github.com/Unleash/unleash/pull/4451);
2023-08-10 11:55:02 +00:00
Mateusz Kwasniewski
0a233ba519
feat: cr sidebar segments count (#4466) 2023-08-10 12:01:52 +02:00
Mateusz Kwasniewski
df41146f50
feat: Demo for strategy variants (#4457) 2023-08-10 11:55:33 +02:00
Tymoteusz Czech
8ee031e978
Update admin navigation (1-1104-improved-menu-oss) (#4458)
Cleaner tabs navigation for admin tabs


![image](https://github.com/Unleash/unleash/assets/2625371/1858276b-543f-42e3-85be-385090558a03)

Closes https://linear.app/unleash/issue/1-1104/improved-menu-oss
2023-08-10 09:28:10 +02:00
Nuno Góis
95f4f641b5
docs: custom root roles (#4451)
https://linear.app/unleash/issue/2-1136/custom-root-roles-documentation

- [Adds documentation referencing custom root
roles](https://unleash-docs-git-docs-custom-root-roles-unleash-team.vercel.app/reference/rbac);
- [Adds a "How to create and assign custom root roles" how-to
guide](https://unleash-docs-git-docs-custom-root-roles-unleash-team.vercel.app/how-to/how-to-create-and-assign-custom-root-roles);
 - Standardizes "global" roles to "root" roles;
- Standardizes "standard" roles to "predefined" roles to better reflect
their behavior and what is shown in our UI;
 - Updates predefined role descriptions and makes them consistent;
 - Updates the side panel description of the user form;
- Includes some boy scouting with some tiny fixes of things identified
along the way (e.g. the role form was persisting old data when closed
and re-opened);
 
 Questions:

- Is it worth expanding the "Assigning custom root roles" section in the
"How to create and assign custom root roles" guide to include the steps
for assigning a root role for each entity (user, service account,
group)?
- Should this PR include an update to the existing "How to create and
assign custom project roles" guide? We've since updated the UI;

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2023-08-10 08:21:58 +01:00
Thomas Heartman
fe0c7087de
Add name with change info to segment changes (1-1230-update-name-change) (#4459)
Extract and reuse the component that we use for strategy name changes.

## Discussion points:

This impl only shows the new name in the second field (editing segment).
Should we show it in both? Why do we have both? Do we have UI designs
for this?


![image](https://github.com/Unleash/unleash/assets/17786332/5521b1f1-1688-4063-9a16-ec17e4811e91)
2023-08-09 16:15:14 +02:00
Gastón Fournier
75c15e5cac
fix: proper aggregation of strategies (#4456)
## About the changes
Open API is creating 2 resources under the same URL path, we want them
aggregated:
```shell
$ curl -s https://us.app.unleash-hosted.com/ushosted/docs/openapi.json | jq '.paths."/api/admin/strategies/{name}" | keys'
[
  "delete",
  "get"
]
gaston@gaston-Summit-E16Flip-A12UCT: ~/poc/terraform-provider-unleash on main [!$]
$ curl -s https://us.app.unleash-hosted.com/ushosted/docs/openapi.json | jq '.paths."/api/admin/strategies/{strategyName}" | keys'
[
  "put"
]
```

Note one is under `{name}` while the other is under `{strategyName}`
2023-08-09 13:07:17 +00:00
Thomas Heartman
2531819222
fix: CR strategy name changes code (#4449)
This change addresses two things that were done in
https://github.com/Unleash/unleash/pull/4004 and that I believe to be
bugs.

1. It shows the previous strategy name also if there was no previous
title. So if there was no previous title, it'll show the strategy name
with a strikethrough and then the new title (see the discussion
section).
2. It changes a `span` component to a [`del`
component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del).
I believe the
span was erroneously changed from a `s` component (strikethrough
component) in the linked PR (based on a comment on the PR). This
caused the strikethrough to not be there anymore. However, the `del`
component is semantically more correct and reintroduces the
strikethrough, so it is a better change.
3. It uses [`ins`
elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins)
for names that have changed.

Finally, it removes a redundant pair of curly braces.

How it looks now:


![image](https://github.com/Unleash/unleash/assets/17786332/a9947619-056d-4cd8-8b44-8a562c83ba40)


## Discussion

Regarding point 1: It might be that we don't want to show a
strikethrough through the name of the strategy if there was no previous
title. In that case, the changes related to the first point should be
removed. If we do that, it looks like this:


![image](https://github.com/Unleash/unleash/assets/17786332/aeb6c86c-d283-4703-96e6-c4302d252417)

It makes it harder (impossible, actually) to see when a custom title was
added, but that might be what we want.

But maybe the solution is to also use `ins` elements for new data. That
way the difference is visible (and semantically correct):

![image](https://github.com/Unleash/unleash/assets/17786332/ef13a745-9f9c-4b1a-886f-a7917eb12190)
2023-08-09 12:47:02 +00:00
Mateusz Kwasniewski
11c48171bd
fix: Demo for old variants (#4455) 2023-08-09 13:11:07 +02:00
Mateusz Kwasniewski
c549280e31
fix: Performance improvements for demo and docs update (#4454) 2023-08-09 12:58:03 +02:00
Mateusz Kwasniewski
b927ef8b70
feat: pointer to strategy variants (#4440) 2023-08-08 15:48:43 +02:00
andreas-unleash
32954e8168
feat: bulk archive usage warning (#4448)
Adds a warning when about to archive features that have lastSeenAt of
less than a week (green usage)

Closes #
[1-224](https://linear.app/unleash/issue/1-1224/bulk-edit-show-last-seen-usage-warning)
![Screenshot 2023-08-08 at 15 10
26](https://github.com/Unleash/unleash/assets/104830839/7783c751-dcdf-4d80-a6fb-b441fb034b70)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-08-08 15:46:11 +02:00
andreas-unleash
839c36d547
Feat: toggle overview env last seen (#4445)
<!-- 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! ❤️ -->
Adds last seen by environment to FeatureOverview

- Refactored FeatureEnvironmentSeen component for reusability


<!-- Does it close an issue? Multiple? -->
Closes #
[1-1223](https://linear.app/unleash/issue/1-1223/toggle-overview-add-last-seen-by-environment)
![Screenshot 2023-08-08 at 14 12
29](https://github.com/Unleash/unleash/assets/104830839/cfb29492-863b-491c-8f6f-e1133246dcb3)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-08-08 15:56:32 +03:00
Thomas Heartman
e7ae1ff714
Feat(#4209): add conflict marker to segment changes (#4447)
In doing so, we extract the shared conflict marker component from the
feature change and reuse it for both feature and segment changes.

Here's what it looks like:

![image](https://github.com/Unleash/unleash/assets/17786332/4a67aa7a-1953-488f-8bcb-6aac006d53e9)


Update: also straightened out the borders of the conflict warning:


![image](https://github.com/Unleash/unleash/assets/17786332/153799f3-cff2-4aa0-8fb0-8e31d1052b9f)
2023-08-08 12:36:45 +00:00
Thomas Heartman
17798408a4
chore: update orval with latest change request schema updates (#4446) 2023-08-08 11:58:22 +00:00
David Leek
57c448c197
fix: deletion validation didnt account for groups (#4441)
<!-- 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. -->

Fixes an issue where project role deletion validation didn't validate
against project roles being connected to groups
2023-08-08 13:45:19 +02:00
Christopher Kolstad
edcbf2acbf
fix: Added cursor pagination to slackapp conversations query (#4442)
We've been struggling with not getting hold of all channels. Reading the
documentation I found the support for next_cursor in the
response_metadata, as long as the response has a next_cursor, there are
responses left, so this PR adds a loop for querying until the next
cursor or the channels list is undefined or `''`. This should solve the
issue Wayfair had as well.
2023-08-08 12:54:32 +02:00
Mateusz Kwasniewski
19119bd1f0
feat: default strategy variant (#4443) 2023-08-08 11:44:43 +02:00
andreas-unleash
f3b11b89bb
Feat: last seen by env UI (#4439)
Implements last seen by environment UI


Closes #
[1-1182](https://linear.app/unleash/issue/1-1182/ui-for-last-seen-per-environment)

![Screenshot 2023-08-08 at 10 30
56](https://github.com/Unleash/unleash/assets/104830839/b70bf63e-8e58-4678-9be4-0fe40c873d29)
![Screenshot 2023-08-08 at 10 31
24](https://github.com/Unleash/unleash/assets/104830839/4ec74030-9425-4254-ad02-b8101e131774)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-08-08 12:32:33 +03:00
Nuno Góis
b55d677d1e
feat: add prom metric for total custom root roles in use (#4438)
https://linear.app/unleash/issue/2-1311/add-a-new-prometheus-metric-with-custom-root-roles-in-use

As a follow-up to https://github.com/Unleash/unleash/pull/4435, this PR
adds a metric for total custom root roles in use by at least one entity:
users, service accounts, groups.

`custom_root_roles_in_use_total`

Output from `http://localhost:4242/internal-backstage/prometheus`:

```
# HELP process_cpu_user_seconds_total Total user CPU time spent in seconds.
# TYPE process_cpu_user_seconds_total counter
process_cpu_user_seconds_total 0.060755

# HELP process_cpu_system_seconds_total Total system CPU time spent in seconds.
# TYPE process_cpu_system_seconds_total counter
process_cpu_system_seconds_total 0.01666

# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 0.077415

# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1691420275

# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 199196672

# HELP nodejs_eventloop_lag_seconds Lag of event loop in seconds.
# TYPE nodejs_eventloop_lag_seconds gauge
nodejs_eventloop_lag_seconds 0

# HELP nodejs_eventloop_lag_min_seconds The minimum recorded event loop delay.
# TYPE nodejs_eventloop_lag_min_seconds gauge
nodejs_eventloop_lag_min_seconds 0.009076736

# HELP nodejs_eventloop_lag_max_seconds The maximum recorded event loop delay.
# TYPE nodejs_eventloop_lag_max_seconds gauge
nodejs_eventloop_lag_max_seconds 0.037683199

# HELP nodejs_eventloop_lag_mean_seconds The mean of the recorded event loop delays.
# TYPE nodejs_eventloop_lag_mean_seconds gauge
nodejs_eventloop_lag_mean_seconds 0.011063251638989169

# HELP nodejs_eventloop_lag_stddev_seconds The standard deviation of the recorded event loop delays.
# TYPE nodejs_eventloop_lag_stddev_seconds gauge
nodejs_eventloop_lag_stddev_seconds 0.0013618102764025837

# HELP nodejs_eventloop_lag_p50_seconds The 50th percentile of the recorded event loop delays.
# TYPE nodejs_eventloop_lag_p50_seconds gauge
nodejs_eventloop_lag_p50_seconds 0.011051007

# HELP nodejs_eventloop_lag_p90_seconds The 90th percentile of the recorded event loop delays.
# TYPE nodejs_eventloop_lag_p90_seconds gauge
nodejs_eventloop_lag_p90_seconds 0.011321343

# HELP nodejs_eventloop_lag_p99_seconds The 99th percentile of the recorded event loop delays.
# TYPE nodejs_eventloop_lag_p99_seconds gauge
nodejs_eventloop_lag_p99_seconds 0.013688831

# HELP nodejs_active_resources Number of active resources that are currently keeping the event loop alive, grouped by async resource type.
# TYPE nodejs_active_resources gauge
nodejs_active_resources{type="FSReqCallback"} 1
nodejs_active_resources{type="TTYWrap"} 3
nodejs_active_resources{type="TCPSocketWrap"} 5
nodejs_active_resources{type="TCPServerWrap"} 1
nodejs_active_resources{type="Timeout"} 1
nodejs_active_resources{type="Immediate"} 1

# HELP nodejs_active_resources_total Total number of active resources.
# TYPE nodejs_active_resources_total gauge
nodejs_active_resources_total 12

# HELP nodejs_active_handles Number of active libuv handles grouped by handle type. Every handle type is C++ class name.
# TYPE nodejs_active_handles gauge
nodejs_active_handles{type="WriteStream"} 2
nodejs_active_handles{type="ReadStream"} 1
nodejs_active_handles{type="Socket"} 5
nodejs_active_handles{type="Server"} 1

# HELP nodejs_active_handles_total Total number of active handles.
# TYPE nodejs_active_handles_total gauge
nodejs_active_handles_total 9

# HELP nodejs_active_requests Number of active libuv requests grouped by request type. Every request type is C++ class name.
# TYPE nodejs_active_requests gauge
nodejs_active_requests{type="FSReqCallback"} 1

# HELP nodejs_active_requests_total Total number of active requests.
# TYPE nodejs_active_requests_total gauge
nodejs_active_requests_total 1

# HELP nodejs_heap_size_total_bytes Process heap size from Node.js in bytes.
# TYPE nodejs_heap_size_total_bytes gauge
nodejs_heap_size_total_bytes 118587392

# HELP nodejs_heap_size_used_bytes Process heap size used from Node.js in bytes.
# TYPE nodejs_heap_size_used_bytes gauge
nodejs_heap_size_used_bytes 89642552

# HELP nodejs_external_memory_bytes Node.js external memory size in bytes.
# TYPE nodejs_external_memory_bytes gauge
nodejs_external_memory_bytes 1601594

# HELP nodejs_heap_space_size_total_bytes Process heap space size total from Node.js in bytes.
# TYPE nodejs_heap_space_size_total_bytes gauge
nodejs_heap_space_size_total_bytes{space="read_only"} 0
nodejs_heap_space_size_total_bytes{space="old"} 70139904
nodejs_heap_space_size_total_bytes{space="code"} 3588096
nodejs_heap_space_size_total_bytes{space="map"} 2899968
nodejs_heap_space_size_total_bytes{space="large_object"} 7258112
nodejs_heap_space_size_total_bytes{space="code_large_object"} 1146880
nodejs_heap_space_size_total_bytes{space="new_large_object"} 0
nodejs_heap_space_size_total_bytes{space="new"} 33554432

# HELP nodejs_heap_space_size_used_bytes Process heap space size used from Node.js in bytes.
# TYPE nodejs_heap_space_size_used_bytes gauge
nodejs_heap_space_size_used_bytes{space="read_only"} 0
nodejs_heap_space_size_used_bytes{space="old"} 66992120
nodejs_heap_space_size_used_bytes{space="code"} 2892640
nodejs_heap_space_size_used_bytes{space="map"} 2519280
nodejs_heap_space_size_used_bytes{space="large_object"} 7026824
nodejs_heap_space_size_used_bytes{space="code_large_object"} 983200
nodejs_heap_space_size_used_bytes{space="new_large_object"} 0
nodejs_heap_space_size_used_bytes{space="new"} 9236136

# HELP nodejs_heap_space_size_available_bytes Process heap space size available from Node.js in bytes.
# TYPE nodejs_heap_space_size_available_bytes gauge
nodejs_heap_space_size_available_bytes{space="read_only"} 0
nodejs_heap_space_size_available_bytes{space="old"} 1898360
nodejs_heap_space_size_available_bytes{space="code"} 7328
nodejs_heap_space_size_available_bytes{space="map"} 327888
nodejs_heap_space_size_available_bytes{space="large_object"} 0
nodejs_heap_space_size_available_bytes{space="code_large_object"} 0
nodejs_heap_space_size_available_bytes{space="new_large_object"} 16495616
nodejs_heap_space_size_available_bytes{space="new"} 7259480

# HELP nodejs_version_info Node.js version info.
# TYPE nodejs_version_info gauge
nodejs_version_info{version="v18.16.0",major="18",minor="16",patch="0"} 1

# HELP nodejs_gc_duration_seconds Garbage collection duration by kind, one of major, minor, incremental or weakcb.
# TYPE nodejs_gc_duration_seconds histogram

# HELP http_request_duration_milliseconds App response time
# TYPE http_request_duration_milliseconds summary

# HELP db_query_duration_seconds DB query duration time
# TYPE db_query_duration_seconds summary
db_query_duration_seconds{quantile="0.1",store="api-tokens",action="getAllActive"} 0.03091475
db_query_duration_seconds{quantile="0.5",store="api-tokens",action="getAllActive"} 0.03091475
db_query_duration_seconds{quantile="0.9",store="api-tokens",action="getAllActive"} 0.03091475
db_query_duration_seconds{quantile="0.95",store="api-tokens",action="getAllActive"} 0.03091475
db_query_duration_seconds{quantile="0.99",store="api-tokens",action="getAllActive"} 0.03091475
db_query_duration_seconds_sum{store="api-tokens",action="getAllActive"} 0.03091475
db_query_duration_seconds_count{store="api-tokens",action="getAllActive"} 1

# HELP feature_toggle_update_total Number of times a toggle has been updated. Environment label would be "n/a" when it is not available, e.g. when a feature toggle is created.
# TYPE feature_toggle_update_total counter

# HELP feature_toggle_usage_total Number of times a feature toggle has been used
# TYPE feature_toggle_usage_total counter

# HELP feature_toggles_total Number of feature toggles
# TYPE feature_toggles_total gauge
feature_toggles_total{version="5.3.0"} 31

# HELP users_total Number of users
# TYPE users_total gauge
users_total 1011

# HELP projects_total Number of projects
# TYPE projects_total gauge
projects_total 4

# HELP environments_total Number of environments
# TYPE environments_total gauge
environments_total 10

# HELP groups_total Number of groups
# TYPE groups_total gauge
groups_total 5

# HELP roles_total Number of roles
# TYPE roles_total gauge
roles_total 11

# HELP custom_root_roles_total Number of custom root roles
# TYPE custom_root_roles_total gauge
custom_root_roles_total 3

# HELP custom_root_roles_in_use_total Number of custom root roles in use
# TYPE custom_root_roles_in_use_total gauge
custom_root_roles_in_use_total 2

# HELP segments_total Number of segments
# TYPE segments_total gauge
segments_total 5

# HELP context_total Number of context
# TYPE context_total gauge
context_total 7

# HELP strategies_total Number of strategies
# TYPE strategies_total gauge
strategies_total 5

# HELP client_apps_total Number of registered client apps aggregated by range by last seen
# TYPE client_apps_total gauge
client_apps_total{range="allTime"} 0
client_apps_total{range="30d"} 0
client_apps_total{range="7d"} 0

# HELP saml_enabled Whether SAML is enabled
# TYPE saml_enabled gauge
saml_enabled 1

# HELP oidc_enabled Whether OIDC is enabled
# TYPE oidc_enabled gauge
oidc_enabled 0

# HELP client_sdk_versions Which sdk versions are being used
# TYPE client_sdk_versions counter

# HELP optimal_304_diffing Count the Optimal 304 diffing with status
# TYPE optimal_304_diffing counter

# HELP db_pool_min Minimum DB pool size
# TYPE db_pool_min gauge
db_pool_min 0

# HELP db_pool_max Maximum DB pool size
# TYPE db_pool_max gauge
db_pool_max 4

# HELP db_pool_free Current free connections in DB pool
# TYPE db_pool_free gauge
db_pool_free 0

# HELP db_pool_used Current connections in use in DB pool
# TYPE db_pool_used gauge
db_pool_used 4

# HELP db_pool_pending_creates how many asynchronous create calls are running in DB pool
# TYPE db_pool_pending_creates gauge
db_pool_pending_creates 0

# HELP db_pool_pending_acquires how many acquires are waiting for a resource to be released in DB pool
# TYPE db_pool_pending_acquires gauge
db_pool_pending_acquires 24
```
2023-08-08 08:14:40 +01:00
Thomas Heartman
a7cb2b8d53
openapi: stabilize playground + feature types endpoints (#4433)
This PR stabilizes the playground and feature types endpoints by
changing their tag from 'Unstable' to respectively 'Playground' and
'Feature Types'. It also moves the existing feature type endpoint (which
was previously tagged as 'Features') to the 'Feature Types' tag.
2023-08-08 09:01:02 +02:00