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

10059 Commits

Author SHA1 Message Date
Jaanus Sellin
1d3394262f
fix: fix assets not showing up (#5757)
After upgrading vite https://github.com/Unleash/unleash/pull/5703, small
icons are not popping up anymore. Disabling inlining assets to make it
work again.


![image](https://github.com/Unleash/unleash/assets/964450/54d33a22-5eaf-4a79-ac67-34092549803d)
2024-01-04 12:11:42 +02:00
Nuno Góis
8736189b4f
fix: UI improvements related to the increase of width (#5752)
https://linear.app/unleash/issue/UNL-309/1500px-width-ui-issues

UI fixes, improvements and adjustments related to the recent increase in
width on the UI. Tried to follow the feature flag logic wherever it made
sense.


![image](https://github.com/Unleash/unleash/assets/14320932/b5b4f437-c232-4025-ab24-09070a036592)


![image](https://github.com/Unleash/unleash/assets/14320932/e9008e3b-db5c-4553-bd7d-58a01120433d)


Co-authored-by: Nicolae <nicolae@getunleash.ai>
2024-01-04 09:57:30 +00:00
Jaanus Sellin
d779faf56d
feat: add private collaboration mode docs (#5750) 2024-01-04 10:48:02 +02:00
Jaanus Sellin
e0c9ef6d2f
fix: snapshot update to fix build (#5755) 2024-01-04 09:02:08 +01:00
Simon Hornby
efa2117ded
chore: update default version in UI (#4761)
We get a flash of the Unleash scaffold when we first load the page. For
a brief moment, we display version 3 and then overwrite it with the
correct version. Looks kinda silly, we know we're in version 5.x so
let's just do that
2024-01-03 22:23:25 +01:00
Fredrik Strand Oseberg
70600552d2
Feat/add feedback to new strategy form (#5745)
This PR adds the feedback form to the new create / edit strategy form
behind a feature flag.

* Add feedback form
* Minor refactor to useFeedback
2024-01-03 15:43:22 +01:00
Ivar Conradi Østhus
31124e4a90
fix: add feature-flag for license 2024-01-03 15:25:54 +01:00
Jaanus Sellin
a73d87a943
feat: make feedback available for OSS (#5748) 2024-01-03 15:08:01 +02:00
Thomas Heartman
1556a51e37
fix: update text in scheduling components (#5746)
This pr updates the text in some of the scheduling components to be more
clear and consistent.
2024-01-03 18:18:52 +05:30
Thomas Heartman
b0c5baa9d3
chore: format schedule information according to user preferences (#5747)
This pr uses the user's preferred timezone to display the scheduled
times. If the user has no preferences, the default will be used.

With norwegian locale set as preference: 

<img width="1529" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/0072432c-e470-4edc-91fb-864a86bc8f30">

With nothing set (falls back to my system setting):
<img width="1529" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/adf3d95f-4015-4302-ac09-e3ba511090db">
2024-01-03 18:18:43 +05:30
Nuno Góis
9c4a044543
chore: observable events db migration (#5749)
https://linear.app/unleash/issue/2-1773/db-create-migration-for-a-new-observable-events-table

Adds a new DB migration to create a new `observable_events` table. Even
though we are thinking long term with the `source` columns, the short
term purpose of this table will be to store incoming webhook calls.
2024-01-03 12:08:14 +00:00
Ivar Conradi Østhus
fef6935d3a
feat: license checker for self-hosted (#5239)
Show banner for enterprise self-hosted if they violate their license.

---------

Co-authored-by: Nuno Góis <github@nunogois.com>
2024-01-02 20:06:35 +00:00
Gastón Fournier
2a1c0616e0
feat: support null created_by_user_id (#5744)
## About the changes
Creating an incoming webhook with an admin token means we can't
correlate the action with a real user. In this case we should support
null.
2024-01-02 17:53:29 +01:00
Christopher Kolstad
e993846471
task: add timer for client feature query (#5734)
Adds a database query timer for the client features query.
2024-01-02 16:02:03 +01:00
Jaanus Sellin
dc0df235dd
chore: remove private projects flag (#5743) 2024-01-02 15:53:26 +02:00
Fredrik Strand Oseberg
049c5b9afa
feat: variant name change on create (#5742)
This PR refactores the StrategyVariants component to be passed in from
the outside to the new form component. This allows us to pass in the
StrategyVariants with an "editable" property in the create form which we
use to determine the editable state of the name input field. If the
editable field is not passed in we keep the old behavior.

Notable changes:
* StrategyVariants is now passed in from the outside, allowing us to
define different props at call time
* Added tests for the new behavior, and for keeping the old behavior
(such as in edit strategy)
* Added tracking
2024-01-02 13:53:04 +01:00
Jaanus Sellin
f53204c9b2
feat: add feature flag for posting feedback (#5741) 2024-01-02 13:10:54 +02:00
Nuno Góis
cda7d2070c
test: specify custom config in dbm (#5550)
Was having some trouble running these migration tests locally due to
`dbm` not correctly picking up the passed in config. This fixes it by
setting the custom config property after it has been initialized, always
overriding any wrong values.

PS: I think I found the issue. `dbm` was prioritizing my `DATABASE_URL`
for some reason, as I started having issues when it was set, and stopped
having issues when I unset it.

I still think this is a good change, as it prevents similar
hard-to-debug issues in the future.

To help clarify this, running this locally:
- `export
DATABASE_URL=postgres://unleash_user:passord@localhost:5432/unleash`
 - `yarn test dedupe-permissions`

Fails on `main`, but passes on this branch. For some reason the `dbm`
instance prioritizes whatever is set in `DATABASE_URL` instead of the
options that are passed in `getInstance`.
2024-01-02 10:47:59 +00:00
Christopher Kolstad
1fd233abc2
chore: make security optional for /edge/validate endpoint (#5739)
We've had a couple of misunderstandings from people surprised that
Unleash allows posts against the `/edge/validate` endpoint without an
API key. It is intentional that this endpoint does not require an
Authorization header, so this PR updates our OpenAPI spec to clarify
that there is no security required for `/edge/validate`
2024-01-02 10:09:49 +01:00
Christopher Kolstad
3a7824a2e8
Added a check that allows posting edge bulk metrics with a client token (#5735)
This allows bulk metrics posted with a Client token to be accepted.
Previously you needed an admin token to have bulk metrics accepted
2024-01-02 09:51:01 +01:00
Jaanus Sellin
e4c9a257ad
feat: make local storage work and make feedback url configurable (#5738)
Make storage work react way.
Make feedback url configurable by env variable.
2023-12-29 13:19:08 +02:00
Jaanus Sellin
55bd0a6760
feat: keep feedback submission in local storage (#5737)
Now it will track if feedback has been submitted in local storage.
2023-12-29 10:08:19 +02:00
Jaanus Sellin
86da11015c
feat: ui now connects to backend, full e2e (#5736)
Added API hooks and now frontend actually sends data to database.
2023-12-28 14:31:53 +02:00
Antonio Ruiz
ea0f2fa7ce
doc: C++ client supports now feature toggle variants. (#5733) 2023-12-28 10:22:36 +01:00
Jaanus Sellin
2588a90f79
feat: feedback screen main ui (#5729)
Completes the main UI for feedback.
Next steps is to correct data flow and finetuning.
2023-12-28 09:30:36 +02:00
Tymoteusz Czech
71a65b1d6b
Fix: strategy import (#5731)
Some optional properties of `strategy` where not included after importing
2023-12-27 19:37:51 +01:00
Tymoteusz Czech
eeb2b2115e
Fix: icon rendering issue in ApplicationList and add help to app update (#5730)
- Fixed app icon rendering
- Added tooltip with link to MUI
2023-12-27 18:35:08 +01:00
Drew Gorton
9683dda8ec
Vercel redirects (#5728)
Converting Docusaurus redirects (client side) to Vercel server side
format. 

Will commit to main for testing on Vercel.

Build works. Merging to main to test at https://docs-new.getunleash.io/
2023-12-22 09:43:54 -06:00
Thomas Heartman
b5f89d357b
docs: schedule change request docs, take 1 (#5358)
This commit updates the change request docs to talk about how the new
scheduled state works.

The subsection is marked as "in development", saying that it can
change at any moment until the feature is released.
2023-12-22 15:43:47 +01:00
David Leek
9ac1070f43
feat: implement createdByUserId for all features (#5725)
## About the changes

Implements setting values on the created_by_user_id column on the
features table in the db
2023-12-22 14:33:16 +01:00
Jaanus Sellin
9d8487ad6e
feat: feedback skeleton ui (#5727)
This adds component, which will allow to draw feedback component based
on incoming data.
2023-12-22 15:09:02 +02:00
David Leek
1dadd23594
chore:system user and events created by userid migrations (#5612)
## About the changes

Migrations for:
- Adds column is_system to users
- Inserts unleash_system_user id -1337 to users 

includes `is_system: false` in the activeUsers and activeAccounts where filter

Tested by running:
`
select * into users_pre_check from users where id > -1;
delete from users where id > -1;
`
before starting unleash, then inspecting users table after unleash has
started and verifying that an 'admin' user has been created.

---------

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
2023-12-22 11:19:39 +01:00
Jaanus Sellin
d8a7d76f7b
chore: generate missing orval types (#5722) 2023-12-22 12:10:50 +02:00
Nuno Góis
fb94138c5c
chore: support full path schemas (#5723)
This backwards compatible change allows us to specify a schema `id`
(full path) which to me feels a bit better than specifying the schema
name as a string, since a literal string is prone to typos.

### Before

```ts
requestBody: createRequestSchema(
    'createResourceSchema',
),
responses: {
    ...getStandardResponses(400, 401, 403, 415),
    201: resourceCreatedResponseSchema(
        'resourceSchema',
    ),
},
```

### After

```ts
requestBody: createRequestSchema(
    createResourceSchema.$id,
),
responses: {
    ...getStandardResponses(400, 401, 403, 415),
    201: resourceCreatedResponseSchema(
        resourceSchema.$id,
    ),
},
```
2023-12-22 08:17:23 +00:00
Nnenna Ndukwe
c44601b33c
React Tutorial Improvements (#5657)
<!-- 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. -->

We've made some first round updates to the React tutorial:

- making it more SEO-friendly with ordered lists, sequential language,
description of the JS library
- Switched over the demo app to point to an open source project:
[Cypress Real World
App](https://github.com/cypress-io/cypress-realworld-app)
- included best practice considerations for client-side development
- updated URL path to point to `/feature-flag-tutorials/react` for
simplification


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

Would love feedback on if there's a need for more screenshots? Don't
want to be too screenshot-heavy though I imagine.
And need feedback on the descriptions of "Considerations for using
feature flags in react"
https://github.com/Unleash/unleash/compare/react-improvements?expand=1#diff-96d4956f49f80cd76489a72d4d88c2956ce9dcc695f66fe014ad1185e37cb589R21

Want to make sure that what I described makes sense or if it could use
some tweaking to convey the right message clearly.
2023-12-21 10:15:22 -06:00
Jaanus Sellin
d57e26b8ea
feat: feedback table (#5721) 2023-12-21 15:34:35 +02:00
andreas-unleash
12100b3912
fix: add padding to warning banner (#5720)
Closes #
[1-1830](https://linear.app/unleash/issue/1-1830/potential-conflict-warning-add-padding-8px)

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-21 14:58:17 +02:00
andreas-unleash
f0c0504b31
fix: email link (#5719)
Fixes missing base url 

Relates to
#[1-1827](https://linear.app/unleash/issue/1-1827/email-link-to-revive-feature-is-wrong)

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-21 14:51:15 +02:00
andreas-unleash
aea18d1ac4
fix: review status title color (#5716)
Closes #
[1-1825](https://linear.app/unleash/issue/1-1825/change-the-color-of-the-scheduled-and-pending-state-to-warningdark)

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-21 14:38:33 +02:00
Mateusz Kwasniewski
029af91e9e
fix: is after undefined parsing (#5718) 2023-12-21 13:25:10 +01:00
Nuno Góis
efa691d120
chore: helper methods to extract user data from req (#5710)
With the recent changes it's common that we'll need both the id and
processed username from the auth user in the request, so this PR
provides some helper methods to simplify this.
2023-12-21 12:06:20 +00:00
Mateusz Kwasniewski
60d3768ab1
fix: copy last seen at from env (#5713) 2023-12-21 12:37:28 +01:00
Jaanus Sellin
3926ec6c51
feat: tracking feature buttons clicks (#5714) 2023-12-21 11:01:16 +02:00
Tymoteusz Czech
9b7981047d
Fix row selection on paginated pages (#5706) 2023-12-21 11:01:10 +02:00
David Leek
4e56d1d8d5
feat: implement column created_by_user_id in feature_tag (#5695)
## About the changes

Adds the new nullable column created_by_user_id to the data used by
feature-tag-store and feature-tag-service. Also updates openapi schemas.
2023-12-21 10:00:45 +01:00
andreas-unleash
e0f83347ab
fix: hide variant diff if no change in ChangeRequestOverview (#5715)
Closes #
[1-1813](https://linear.app/unleash/issue/1-1813/do-not-show-variants-table-in-change-request-when-no-variant-change)

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-21 10:39:18 +02:00
Fredrik Strand Oseberg
3ab331dce7
feat: increase unleash width (#5707)
This PR adds two feature flags:
* One is to add some holiday cheer to the unleash logo
* The other allows us to increase the width of unleash if the screen
allows it

<img width="1837" alt="Skjermbilde 2023-12-20 kl 16 18 16"
src="https://github.com/Unleash/unleash/assets/16081982/a25ccfb0-fd99-470f-8583-3ba9ef9186f9">
2023-12-21 08:42:28 +01:00
renovate[bot]
8085fba16b
chore(deps): update dependency @codemirror/state to v6.3.3 (#5711)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@codemirror/state](https://togithub.com/codemirror/state) | [`6.3.2`
->
`6.3.3`](https://renovatebot.com/diffs/npm/@codemirror%2fstate/6.3.2/6.3.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@codemirror%2fstate/6.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@codemirror%2fstate/6.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@codemirror%2fstate/6.3.2/6.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@codemirror%2fstate/6.3.2/6.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>codemirror/state (@&#8203;codemirror/state)</summary>

###
[`v6.3.3`](https://togithub.com/codemirror/state/blob/HEAD/CHANGELOG.md#633-2023-12-06)

[Compare
Source](https://togithub.com/codemirror/state/compare/6.3.2...6.3.3)

##### Bug fixes

Fix an issue where `Text.slice` and `Text.replace` could return objects
with incorrect `length` when the given `from`/`to` values were out of
range for the text.

</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 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-20 22:45:03 +00:00
renovate[bot]
4ab12f92c6
chore(deps): update dependency @babel/core to v7.23.6 (#5708)
[![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/tree/HEAD/packages/babel-core))
| [`7.23.3` ->
`7.23.6`](https://renovatebot.com/diffs/npm/@babel%2fcore/7.23.3/7.23.6)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fcore/7.23.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fcore/7.23.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fcore/7.23.3/7.23.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fcore/7.23.3/7.23.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v7.23.6`](https://togithub.com/babel/babel/blob/HEAD/CHANGELOG.md#v7236-2023-12-11)

[Compare
Source](https://togithub.com/babel/babel/compare/v7.23.5...v7.23.6)

##### 👓 Spec Compliance

-   `babel-generator`, `babel-parser`, `babel-types`
- [#&#8203;16154](https://togithub.com/babel/babel/pull/16154) Remove
`TSPropertySignature.initializer`
([@&#8203;fisker](https://togithub.com/fisker))
- `babel-helpers`, `babel-plugin-proposal-decorators`,
`babel-plugin-transform-class-properties`,
`babel-plugin-transform-class-static-block`,
`babel-plugin-transform-runtime`, `babel-preset-env`,
`babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime`,
`babel-types`
- [#&#8203;16139](https://togithub.com/babel/babel/pull/16139) Apply
`toPropertyKey` on decorator context name
([@&#8203;JLHwung](https://togithub.com/JLHwung))

##### 🐛 Bug Fix

-   `babel-generator`
- [#&#8203;16166](https://togithub.com/babel/babel/pull/16166) fix:
Correctly indenting when `retainLines` is enabled
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))
- `babel-helpers`, `babel-plugin-proposal-explicit-resource-management`
- [#&#8203;16150](https://togithub.com/babel/babel/pull/16150) `using`:
Allow looking up `Symbol.dispose` on a function
([@&#8203;odinho](https://togithub.com/odinho))
- `babel-plugin-proposal-decorators`,
`babel-plugin-transform-class-properties`
- [#&#8203;16161](https://togithub.com/babel/babel/pull/16161) Ensure
the `[[@&#8203;@&#8203;toPrimitive]]` call of a decorated class member
key is invoked once ([@&#8203;JLHwung](https://togithub.com/JLHwung))
- [#&#8203;16148](https://togithub.com/babel/babel/pull/16148) Support
named evaluation for decorated anonymous class exp
([@&#8203;JLHwung](https://togithub.com/JLHwung))
-   `babel-plugin-transform-for-of`, `babel-preset-env`
- [#&#8203;16011](https://togithub.com/babel/babel/pull/16011) fix: `for
of` with `iterableIsArray` and shadowing variable
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))
- `babel-helpers`, `babel-plugin-proposal-decorators`,
`babel-runtime-corejs2`, `babel-runtime-corejs3`, `babel-runtime`
- [#&#8203;16144](https://togithub.com/babel/babel/pull/16144) Set
function name for decorated private non-field elements
([@&#8203;JLHwung](https://togithub.com/JLHwung))
-   `babel-plugin-transform-typescript`
- [#&#8203;16137](https://togithub.com/babel/babel/pull/16137) Fix
references to enum values with merging
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))

##### 🔬 Output optimization

- `babel-helper-create-class-features-plugin`,
`babel-plugin-transform-class-properties`
- [#&#8203;16159](https://togithub.com/babel/babel/pull/16159) Reuse
computed key memoiser ([@&#8203;JLHwung](https://togithub.com/JLHwung))
-   `babel-helpers`, `babel-plugin-proposal-decorators`
- [#&#8203;16160](https://togithub.com/babel/babel/pull/16160) Optimize
decorator helper size
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))

###
[`v7.23.5`](https://togithub.com/babel/babel/blob/HEAD/CHANGELOG.md#v7235-2023-11-29)

[Compare
Source](https://togithub.com/babel/babel/compare/v7.23.3...v7.23.5)

##### 👓 Spec Compliance

-   `babel-plugin-proposal-decorators`
- [#&#8203;16138](https://togithub.com/babel/babel/pull/16138) Class
binding is in TDZ during decorators initialization
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
-   `babel-helpers`, `babel-plugin-proposal-decorators`
- [#&#8203;16132](https://togithub.com/babel/babel/pull/16132) Allow
addInitializer in field decorator context
([@&#8203;JLHwung](https://togithub.com/JLHwung))

##### 🚀 New Feature

- [#&#8203;16023](https://togithub.com/babel/babel/pull/16023) Add
`@babel/eslint-plugin/no-undef` for accessor props
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))

##### 🐛 Bug Fix

-   `babel-traverse`, `babel-types`
- [#&#8203;16131](https://togithub.com/babel/babel/pull/16131) Do not
remove bindings when removing assignment expression path
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
-   `babel-plugin-transform-classes`
- [#&#8203;16135](https://togithub.com/babel/babel/pull/16135) Require
class properties transform when compiling class with private fields
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
-   `babel-generator`
- [#&#8203;16122](https://togithub.com/babel/babel/pull/16122) fix:
Missing parentheses after line break
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))
-   `babel-helpers`
- [#&#8203;16130](https://togithub.com/babel/babel/pull/16130) Fix
helpers internal fns names conflict resolution
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
- `babel-helper-create-class-features-plugin`,
`babel-plugin-transform-class-properties`,
`babel-plugin-transform-typescript`
- [#&#8203;16123](https://togithub.com/babel/babel/pull/16123) Simplify
class fields injetion after `super()`
([@&#8203;nicolo-ribaudo](https://togithub.com/nicolo-ribaudo))
- `babel-generator`, `babel-plugin-transform-modules-commonjs`,
`babel-plugin-transform-parameters`,
`babel-plugin-transform-typescript`, `babel-traverse`
- [#&#8203;16110](https://togithub.com/babel/babel/pull/16110) fix:
Unexpected duplication of comments
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))

##### 🔬 Output optimization

-   `babel-helpers`
- [#&#8203;16129](https://togithub.com/babel/babel/pull/16129) Optimize
`decorator` helper size
([@&#8203;liuxingbaoyu](https://togithub.com/liuxingbaoyu))

</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 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-20 18:18:19 +00:00
Fredrik Strand Oseberg
59a6ef46e8
fix: separate concerns for ConstraintAccordionList (#5701)
## Problem

The ConstraintAccordionList component was used in multiple places: 
* Playground
* Segment form
* StrategyExecution
* Change requests
* Create strategy
* Edit strategy

This is problematic because some of the views are just pure visual
representations, and other views allow you to interact with and edit the
constraints. This causes a situation where the visual representation
needs to be aware of the implementation details of editing and mutating
constraints. In addition the ConstraintAccordionList is not just a pure
rendering of the list, it also keeps internal state on when to show the
create button and optional headers. This is makes it hard to make
changes when stylings need to be subtly different across components.

## Solution

Taking on the full refactor for this is out of scope, but it's
unfortunate that the ConstraintAccordionList needs all this internal
state. For now I split out the list into it's own component called
ConstraintList. I gathered the functions needed for editing and mutating
the constraints in a reusable hook and isolated the version of the list
used in the new feature strategy edit / create components into it's own
component so that the changes in layout will not affect anything else.

Ideally we should try to move towards a future where the components
don't keep internal state like this but clear boundaries and purposes
for the use.
2023-12-20 15:36:23 +01:00