1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-07-21 13:47:39 +02:00
Commit Graph

235 Commits

Author SHA1 Message Date
Thomas Heartman
2ab99624d2
feat: show env var conflicts in change requests (#6182)
This PR adds showing of env variant conflicts in change requests.

This is a simple solution that only compares the total state of
variants. We *could* potentially do a modified version where we show
each and every variant as its own property. Because variants have to be
unique by name and because their names can't be changed after their
creation, we could create a map of variant name to their data.

<img width="1105" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/0c67f958-6c4e-453a-9791-0e132fb1f23e">
2024-02-14 10:12:19 +09:00
Thomas Heartman
b77f3129f2
feat: show segment conflicts in crs (#6138)
This PR updates the diff calculation to work with both strategy changes
and segment changes. It also adds the corresponding segment change
conflict overview to segment updates.

<img width="1225" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/688a57a5-5cd7-4b0a-bd1e-df63189594d8">
2024-02-09 16:25:01 +09:00
Mateusz Kwasniewski
7e66a79f9f
feat: add disabled state handling on slow network (#6165) 2024-02-08 10:27:51 +01:00
Thomas Heartman
73c4c62ea3
chore: track metrics for how many CRs are moved into next state with conflicts (#6109)
Use React's context to track how many CRs are moved into their next
state with conflicts present.

This PR wraps environment change requests and change request overviews
in a change request plausible context that contains a
`willOverwriteStrategyChanges` property. This property is updated by the
diff calculation if there are any conflicts and then read by the
`changeState` function in the `useChangeRequestApi` hook.

As long as at least one of the strategies in the CR contain conflicts,
it will be marked as overwriting changes.
2024-02-05 18:27:11 +09:00
Thomas Heartman
99b8fa2943
refactor: take chatgpt's suggestions for diff calc algorithm (#6086)
We had to make some updates to let the compiler know about the types and
fix an issue with nested objects not being compared as objects (instead
as strings), but this saves us a few lines and is hopefully more
readable.
2024-02-01 19:57:09 +09:00
Jaanus Sellin
2643ac1356
feat: add CR id to plausible events (#6035)
Added conflict count to CR metrics and CR id.

Something to think about:
There was idea that we can aggregate this data based on CR id, but CR id
is just a number from 0 to x. So it will not be unique across instances.

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2024-01-30 10:38:39 +02:00
Jaanus Sellin
b0ecfd4d34
feat: add plausible change-requests-conflicts (#6024) 2024-01-24 21:46:08 +02:00
Jaanus Sellin
e4ca8a3e6c
feat: track search bar events (#6021)
Adding tracking for 2 views, when users use the new search. 

For features view and project view.
2024-01-24 14:23:23 +02:00
Thomas Heartman
01318b11ea
fix: show the updated value instead of the snapshot value (#5989)
This PR fixes a bug in the displayed value of the conflict list so that
it shows the value it would update to instead of the snapshot value.

In doing so, it updates the logic of the algorithm to:

1. if the snapshot value and the current value are the same, it's not a
conflict (it's an intended change)
2. If the snapshot value differs from the current value, it is a
conflict if and only if the value in the change differs from the current
value. Otherwise, it's not a conflict.

The new test cases are:
- it shows a diff for a property if the snapshot and live version differ
for that property and the changed value is different from the live
version
- it does not show a diff for a property if the live version and the
change have the same value, even if the snapshot differs from the live
version
- it does not show a diff for a property if the snapshot and the live
version are the same
2024-01-24 12:39:41 +04:00
Thomas Heartman
edf3cad092
fix: add keys to the features cell component (#5978)
This PR adds the `key` property to the features cell component where it
renders lists of flags. This fixes a few rendering errors we've been
getting in the console.
2024-01-22 07:57:38 +00:00
Thomas Heartman
f7c8180145
Chore: omit snapshot property from event payload (#5972)
This PR hides the "snapshot" data from the diff overview we show in the
UI in a change request.
2024-01-22 11:13:49 +04:00
Thomas Heartman
0bb709a718
feat: show changes that would be overwritten in change request overview UI (#5964)
This PR adds a first, rough iteration of what it could look like to show
changes that would be overwritten by applying a PR.

The changes are listed in a table (semantically; looks more like a list
visually) and show the property, the current live value and the version
that you have in your changes. The changes are hidden by default, but
can be shown by expanding a details element.

@nicolaesocaciu Suggested that we merge this version for now and iterate
on the design later.

Here's what it looks like closed:

![image](https://github.com/Unleash/unleash/assets/17786332/3a641642-0537-4e7a-aeca-b3d3df6b8e31)

Here's what it looks like with a typical change load:

![image](https://github.com/Unleash/unleash/assets/17786332/b7aa7265-d1c7-4b6b-a9a2-f58cb966f25c)


Here's what it looks like if you change more or less every property
changed:

![image](https://github.com/Unleash/unleash/assets/17786332/4d94ab69-86ed-4c3e-be6a-6890c654e37e)
2024-01-22 11:13:38 +04:00
Thomas Heartman
01a38becb3
fix: handle title diffing correctly in strategy change diffs (#5971)
A strategy title can be either an empty string or undefined on the
type we use in the frontend. In the snapshot it can be an empty
string, null (presumably), and undefined.

This change updates the diffing logic to handle the various title diff
cases correctly. It also updates the type used for the snapshot to
reflect this.
2024-01-19 18:56:46 +04:00
Thomas Heartman
c69137a1ee
feat: add algorithm to detect what strategy changes would be overwritten by applying a CR (#5963)
This change adds an algorithm with tests for detecting what changes
would be overwritten by applying a CR.

Test cases:
- It compares strategies regardless of order of keys in the objects.
This ensures that two strategies with the same content but different
order of keys are compared correctly.
- It treats `undefined` or missing segments in old config as equal to
`[]` in change
- It treats `undefined` or missing strategy variants in old config and
change as equal to `[]`
- It lists changes in a sorted list with the correct values
- It ignores object order on nested objects. Similar to the first
point, this does order-insensitive comparison for nested objects (such
as params and constraints).
2024-01-19 13:08:08 +04:00
Fredrik Strand Oseberg
967ee13e62
fix: add symbols as constraint ids (#5913)
This PR adds uuids as ids using a symbol in order to make sure we only
use this to keep internal order in the viritual DOM. This makes us able
to have predictable mutable lists on the frontend, and makes it easy to
not pass this property along to the backend.
2024-01-16 13:47:04 +01:00
Thomas Heartman
a4c1161285
chore: fix lints on main (#5877)
These were introduced by prs created before the new biome update.
2024-01-12 11:38:08 +00:00
Thomas Heartman
8ae267ea25
feat: show suspended schedules in timeline (#5873)
This PR updates the timeline to show suspended schedules. It also adds
"schedule failed" when the schedule has failed.

<img width="465" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/aabbee02-b407-4653-959b-92bec8a1fa66">

<img width="465" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/7242c34a-1b1e-4efc-a778-a360e3bc4428">
2024-01-12 16:50:08 +05:30
Thomas Heartman
a88763283a
feat: show suspended schedule states in review status (#5872)
Updates the change request review status box to handle suspended
schedules.

<img width="852" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/2af52b6d-d821-4d30-9166-e8e76ead120d">
2024-01-12 16:48:58 +05:30
Thomas Heartman
aecc0b54a1
feat: show suspended states in change request badge (#5871)
This updates the CR badge to show suspended states correctly.

<img width="370" alt="image"
src="https://github.com/Unleash/unleash/assets/17786332/f678059b-f72a-46ef-9111-0fc90f228fc8">
2024-01-12 16:48:34 +05:30
Christopher Kolstad
5a3bb1ffc3
Biome1.5.1 (#5867)
Lots of work here, mostly because I didn't want to turn off the
`noImplicitAnyLet` lint. This PR tries its best to type all the untyped
lets biome complained about (Don't ask me how many hours that took or
how many lints that was >200...), which in the future will force test
authors to actually type their global variables setup in `beforeAll`.

---------

Co-authored-by: Gastón Fournier <gaston@getunleash.io>
2024-01-12 09:25:59 +00:00
Thomas Heartman
39145e2617
refactor: use union types for change request types (#5870)
This changes the two interfaces IChangeRequest and
IChangeRequestSchedule to be union types instead of interfaces. It also
extracts the constituents of those union types into proper types
themselves (so that they can be used in function type signatures etc).
It also updates the type names.

This turned out to be more work than I had imagined, but I think the end
result pays off, giving us more type safety and control.

I wanted to use just `ChangeRequest` for the IChangeRequest type, but
that caused issues due to naming collisions with the `ChangeRequest`
component that we have, causing tests to fail. I've named it
`ChangeRequestType` as a potential solution, but suggestions are
welcome.

The relevant changes are in
`frontend/src/component/changeRequest/changeRequest.types.ts`.
Everything else is updated references and some necessary refactoring to
respect the new types.
2024-01-12 13:15:43 +05:30
Nuno Góis
b496990f79
chore: add no unused imports biome rule (#5855)
Adds a Biome rule for "no unused imports", which is something we
sometimes have trouble catching.

We're adding this as a warning for now. It is safely and easily fixable
with `yarn lint:fix`.


![image](https://github.com/Unleash/unleash/assets/14320932/fd84dea8-6b20-4ba5-bfd8-047b9dcf2bff)

![image](https://github.com/Unleash/unleash/assets/14320932/990bb0b0-760a-4c5e-8136-d957e902bf0b)
2024-01-11 12:44:05 +00:00
Fredrik Strand Oseberg
2a723ea9e8
fix: remove empty variants when changing tabs (#5850)
This PR makes a change to how variants work in the new setup. Variants
will now:

* Be removed if you change tab or unmount the component and it has no
name
* Moved StrategyVariants into a separate component to isolate this
change
* Add error handling around onSubmit and only trigger feedback if it's
successful
2024-01-11 10:43:29 +01:00
andreas-unleash
fbeb5425af
feat: add tooltip to Scheduled badge (#5726)
Closes #
[1-1831](https://linear.app/unleash/issue/1-1831/enhancement-tooltips-for-change-request-overview-page-to-add-hover)

<img width="1332" alt="Screenshot 2023-12-22 at 12 59 15"
src="https://github.com/Unleash/unleash/assets/104830839/1a851b47-4756-4f3f-a9e6-14067e395738">
<img width="1263" alt="Screenshot 2023-12-22 at 12 59 07"
src="https://github.com/Unleash/unleash/assets/104830839/cdce0e81-3e04-4414-8965-13072b282dea">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2024-01-09 10:32:52 +02:00
Thomas Heartman
ff96563742
fix: align timeline icon for schedule failures (#5761)
Aligns the icon to the end of the end of the box to make it match the
text.

Also removes a redundant br element.
2024-01-04 16:04:50 +05:30
Thomas Heartman
795aa18bca
fix: use the correct icon for failed scheduled CRs (#5760)
This PR switches the notification icon to an exclamation mark (the Error
icon). It updates three components:

1. The badge
2. The timeline
3. The review status

Screenshot with all the replaced icons

![image](https://github.com/Unleash/unleash/assets/17786332/cb10b8d1-9da3-4c48-b13c-09c7680e2b05)
2024-01-04 15:44:53 +05:30
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
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
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
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
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
Mateusz Kwasniewski
f3ca4f0c54
chore: upgrading vite to newer version (#5703) 2023-12-20 14:48:18 +01:00
andreas-unleash
0f8a6661a8
Feat: allow rescheduling of failed scheduled cr (#5702)
Allows for rescheduling failed scheduled requests

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-20 15:19:23 +02:00
andreas-unleash
75bdd73c15
feat: add plausible tracking to scheduling (#5668)
Adds plausible tracking with actions:
- scheduled-created
- scheduled-updated
- scheduled-rejected
- scheduled-applied

Closes #
[1-1630](https://linear.app/unleash/issue/1-1630/add-plausible-metrics)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-18 15:06:58 +02:00
andreas-unleash
7fdd720aa3
feat: show failure in cr overview (#5660)
Show failure reason in change request overview

Closes
[1-1769](https://linear.app/unleash/issue/1-1769/add-reason-and-icon-to-change-request-overview)
<img width="771" alt="Screenshot 2023-12-15 at 10 37 03"
src="https://github.com/Unleash/unleash/assets/104830839/898b6ac9-bd44-442f-92a4-9b4d5754fea7">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-18 11:37:56 +02:00
Fredrik Strand Oseberg
864ae4530b
Feat/new strategy configuration header (#5655)
This PR adds more information to the header of the strategy according to
the new designs:

<img width="1298" alt="Skjermbilde 2023-12-15 kl 13 31 26"
src="https://github.com/Unleash/unleash/assets/16081982/73a3bc6b-c78b-4f24-b9f3-8a4b2c14e39c">
2023-12-15 14:09:47 +01:00
andreas-unleash
a595c0fbcc
feat: show failure reason for scheduled requests in timeline (#5639)
Adds an icon with a tooltip and changes the dot color to red for
scheduled change requests

Closes #
[1-1768](https://linear.app/unleash/issue/1-1768/add-reason-and-icon-to-timeline)
<img width="1668" alt="Screenshot 2023-12-14 at 10 20 27"
src="https://github.com/Unleash/unleash/assets/104830839/dcf54834-ea9f-4e78-b69d-15d6179ffce3">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-14 11:49:14 +02:00
andreas-unleash
cbd50ac0f5
Feat: show status of scheduled change request (#5630)
Modifies the ChangeRequestStatusBadge to display the failed execution

Closes #
[1-1767](https://linear.app/unleash/issue/1-1767/add-status-to-scheduled-badge)
![Screenshot 2023-12-13 at 13 10
42](https://github.com/Unleash/unleash/assets/104830839/5aab83b4-a3d8-4a88-8f17-628cb37d7850)
![Screenshot 2023-12-13 at 13 15
26](https://github.com/Unleash/unleash/assets/104830839/799e4bbe-b469-4cee-a3df-f0b6efcca33a)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-14 11:49:03 +02:00
Fredrik Strand Oseberg
9dbb7ea9a9
feat: add initial setup for tabs (#5586)
This PR sets up the initial tab structure for the new strategy form
2023-12-11 13:39:21 +01:00
Thomas Heartman
a0a15416c4
feat: display potential conflicts in existing change requests (#5521)
This update displays schedule conflicts in active change requests (any
CR that isn't applied, canceled, or rejected).


![image](https://github.com/Unleash/unleash/assets/17786332/181c6c0a-f5de-4eed-9093-ac0109e1e8f3)
2023-12-04 13:33:28 +01:00
andreas-unleash
02451baaf2
feat: hide change actions when change request is scheduled (#5514)
Added 'Scheduled' state to the check for non-pending change requests

Closes #
[1-1680](https://linear.app/unleash/issue/1-1680/remove-edit-change-ui-when-cr-is-scheduled)
<img width="868" alt="Screenshot 2023-11-30 at 11 54 44"
src="https://github.com/Unleash/unleash/assets/104830839/8e6afec5-1353-4030-b49b-4a8f3eaee5f6">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-30 12:52:29 +02:00
andreas-unleash
8ffc92af5b
fix: Only show strategy variant changes if there is a diff in the variants (#5353)
What it says on the box

Closes #
[1-1652](https://linear.app/unleash/issue/1-1652/remove-the-variants-from-change-request-page-when-not-modified)

![Screenshot 2023-11-16 at 11 26
05](https://github.com/Unleash/unleash/assets/104830839/8f25b82c-4dbc-46fb-bdd6-0e0049659c72)

![Screenshot 2023-11-16 at 11 25
46](https://github.com/Unleash/unleash/assets/104830839/e6366622-3a50-4a0e-bba2-6c1d34e64077)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-22 09:50:03 +02:00
andreas-unleash
0dc5f306cc
Feat: change request scheduled timeline (#5346)
Adds the scheduled state to the timeline

Closes #
[1-1632](https://linear.app/unleash/issue/1-1632/update-the-progress-bar-for-scheduled-changes)

![Screenshot 2023-11-16 at 10 51
03](https://github.com/Unleash/unleash/assets/104830839/6267299e-d5c3-4cbf-9ab2-25da53f2d526)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-17 11:20:14 +02:00
Jaanus Sellin
069d90d8cb
fix: date should sort asc/desc properly (#5335) 2023-11-14 14:47:28 +02:00
andreas-unleash
180c0dceae
Fix/scheduled request UI (#5318)
Change timezone format
Fixes a bug where the Edit button on hover being elongated

Before:
<img width="755" alt="Screenshot 2023-11-09 at 21 36 01"
src="https://github.com/Unleash/unleash/assets/104830839/189f21d5-8a68-4d6b-b094-b518749a9b2f">

After:
<img width="812" alt="Screenshot 2023-11-09 at 22 09 26"
src="https://github.com/Unleash/unleash/assets/104830839/9056f995-bd2b-4353-8526-77160e49e990">

Adds the missed onClick to the edit button to show the dialog

Fixes a bug with ScheduleChangesDialog onClose

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-10 11:22:03 +02:00
andreas-unleash
100c22b42a
Feat: scheduled change request badges (#5300)
Adds a new badge to strategies that have changes in an a scheduled
change request

Closes #
[1-1620](https://linear.app/unleash/issue/1-1620/create-a-new-badge-for-flag-that-is-part-of-scheduled-change)
<img width="1671" alt="Screenshot 2023-11-09 at 11 49 53"
src="https://github.com/Unleash/unleash/assets/104830839/596abbc0-f9ab-4642-9ed2-79ef50fb6c05">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-11-09 13:48:29 +02:00
andreas-unleash
3e9d88f789
Feat/scheduled cr UI tests (#5296)
Ui tests scheduled change requests

Closes # [1-1598](https://linear.app/unleash/issue/1-1598/e2e-ui-tests)

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-11-08 14:28:16 +02:00
Tymoteusz Czech
06d62278dc
fix: change request table sort type (#5295) 2023-11-07 17:13:43 +01:00
andreas-unleash
addda5b022
feat: schedule changes dialog (#5285)
Closes: # 

[1-1585](https://linear.app/unleash/issue/1-1585/reschedule-changes-dialog)

[1-1582](https://linear.app/unleash/issue/1-1582/change-apply-changes-apply-or-schedule-changes)

Manually tested e2e -> Approve -> Schedule -> Reschedule ->
Apply/Reject: ui tests verifying it in next pr

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2023-11-07 10:59:49 +02:00
andreas-unleash
2262ca1be6
Feat: scheduled change request dialogs (#5267)
Creates the Apply and Reject scheduled change request dialogs

Closes #
[1-1584](https://linear.app/unleash/issue/1-1584/add-modal-for-apply-now)

Closes #
[1-1586](https://linear.app/unleash/issue/1-1586/reject-changes-dialog)

<img width="1669" alt="Screenshot 2023-11-03 at 14 43 17"
src="https://github.com/Unleash/unleash/assets/104830839/832edb8e-1da1-4d96-a5c3-4fa0cd336fea">
<img width="1669" alt="Screenshot 2023-11-03 at 14 43 28"
src="https://github.com/Unleash/unleash/assets/104830839/f9028671-e5e1-441c-886b-1e562c83f214">

UI e2e tests will be in a follow up PR

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-06 11:13:50 +02:00
andreas-unleash
6b637d5fa9
feat: scheduled change request state (#5261)
Adds the scheduled state to ChangeRequestOverview.tsx

<img width="1523" alt="Screenshot 2023-11-03 at 12 52 07"
src="https://github.com/Unleash/unleash/assets/104830839/710b5f26-04a0-4ee9-b646-8ff3090ad86a">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-11-03 15:02:51 +02:00
Thomas Heartman
7cf998c509
fix: move useUiFlag before "return null" to avoid rendering more hooks on the first render (#5258)
Move the hook to before the first return to avoid React erroring out.
2023-11-03 10:04:03 +00:00
Thomas Heartman
9fbb61a1c4
chore: add schedule option to approved change requests (#5252)
The button doesn't do anything at the moment, but it's there visually.

Because this uses the same button as the dual-function button for
approve/reject, I extracted that component into a reusable
"multi-action" button. I could have copied the code wholesale, but it's
a complex component, so I thought this would be a better solution.

I'll add the dialog in a follow-up PR. This one already has a lot of
changes.

Visual:


![image](https://github.com/Unleash/unleash/assets/17786332/9a9bee77-4925-4054-9ef6-ef8ddbb61fae)
2023-11-03 08:46:06 +01:00
Nuno Góis
347c1cabbc
feat: add new sticky component to handle stacked stickies (#5088)
https://linear.app/unleash/issue/2-1509/discovery-stacked-sticky-elements

Adds a new `Sticky` element that will attempt to stack sticky elements
in the DOM in a smart way.
This needs a wrapping `StickyProvider` that will keep track of sticky
elements.

This PR adapts a few components to use this new element:
 - `DemoBanner`
 - `FeatureOverviewSidePanel`
 - `DraftBanner`
 - `MaintenanceBanner`
 - `MessageBanner`

Pre-existing `top` properties are taken into consideration for the top
offset, so we can have nice margins like in the feature overview side
panel.

### Before - Sticky elements overlap 😞

![image](https://github.com/Unleash/unleash/assets/14320932/dd6fa188-6774-4afb-86fd-0eefb9aba93e)

### After - Sticky elements stack 😄 

![image](https://github.com/Unleash/unleash/assets/14320932/c73a84ab-7133-448f-9df6-69bd4c5330c2)
2023-10-19 15:50:37 +01:00
Mateusz Kwasniewski
af50fc2fd3
feat: visualize dependencies managment in change requests (#4978) 2023-10-10 10:36:13 +02:00
Mateusz Kwasniewski
80eb6e12c6
refactor: custom render should provide container (#4938) 2023-10-06 09:19:49 +02:00
Gastón Fournier
bd8b54b5bd
fix: yarn lint:fix (#4917)
## About the changes
Running yarn lint:fix solves errors in frontend
2023-10-04 11:28:05 +02:00
andreas-unleash
c1f8929ddf
fix: separate project and project enterprise settings forms (#4911)
Separates ProjectForm and ProjectEnterpriseSettings forms

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
2023-10-04 10:42:02 +03:00
Nuno Góis
4167a60588
feat: biome lint frontend (#4903)
Follows up on https://github.com/Unleash/unleash/pull/4853 to add Biome
to the frontend as well.


![image](https://github.com/Unleash/unleash/assets/14320932/1906faf1-fc29-4172-a4d4-b2716d72cd65)

Added a few `biome-ignore` to speed up the process but we may want to
check and fix them in the future.
2023-10-02 13:25:46 +01:00
Mateusz Kwasniewski
40dfb927e9
feat: parent and child info in feature overview header (#4901) 2023-10-02 11:47:48 +02:00
Fredrik Strand Oseberg
d3e01d84d9
fix: account for array length (#4849)
Small fix to account for array length in conditional check
2023-09-27 15:12:01 +02:00
Fredrik Strand Oseberg
cefbf01934
feat: visualize feature variants on cr (#4809)
Adds a view over feature strategy variants on addStrategy or
editStrategy action
2023-09-22 16:17:41 +02:00
Mateusz Kwasniewski
a0fbad26bf
feat: persistent search queries (#4624) 2023-09-06 15:46:10 +02:00
Mateusz Kwasniewski
2b85eed5b5
feat: Search UI improvements (#4613) 2023-09-06 10:50:20 +02:00
Mateusz Kwasniewski
5ae86ef196
chore: Change request flags removed (#4601) 2023-09-04 10:57:13 +02:00
Nuno Góis
b4ef343d22
refactor: clean up some unused imports (#4597)
Should help cleaning up some of these:


![image](https://github.com/Unleash/unleash/assets/14320932/f0bcee80-1ec8-4935-b167-dc8e8b92cda2)
2023-09-01 15:32:15 +01:00
Jaanus Sellin
b2aa3ea049
feat: change request ui updates (#4574) 2023-08-27 20:35:27 +03:00
Mateusz Kwasniewski
cc62db46fb
feat: archive toggles in change request UI (#4563) 2023-08-25 13:38:57 +02:00
Mateusz Kwasniewski
f881103701
fix: diff component for ordering (#4552) 2023-08-23 12:17:59 +02:00
Mateusz Kwasniewski
0e162362e6
feat: Change request advanced search and filter (#4544) 2023-08-23 09:38:10 +02:00
Mateusz Kwasniewski
8a7f488147
feat: reject timeline state (#4517) 2023-08-16 15:39:39 +02:00
Mateusz Kwasniewski
b6830b805b
feat: review buttons makeover (#4513) 2023-08-16 13:55:18 +02:00
Mateusz Kwasniewski
67ef0507a1
feat: link to change request configuration (#4494) 2023-08-15 14:18:02 +02:00
Mateusz Kwasniewski
c58d325173
feat: reject change request dialog (#4491) 2023-08-15 12:49:40 +02:00
Mateusz Kwasniewski
3227e30f12
feat: Change request reject UI (#4489) 2023-08-15 09:08:26 +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
Mateusz Kwasniewski
c1fe43fe64
fix: diff no changes (#4480) 2023-08-11 12:31:23 +02:00
Jaanus Sellin
0e4485d0fc
feat: segment constraints in UI (#4472) 2023-08-10 20:12:17 +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
0a233ba519
feat: cr sidebar segments count (#4466) 2023-08-10 12:01:52 +02: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
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
c549280e31
fix: Performance improvements for demo and docs update (#4454) 2023-08-09 12:58:03 +02: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
18b5161ade
chore(#4209): minor front-end fixes (#4437)
This PR fixes links to segments from change requests and the bottom
border radius for segment change boxes.

Old border radius:

![image](https://github.com/Unleash/unleash/assets/17786332/e2485e8c-9dab-4fbc-8604-6abd48e13be1)


New border radius: 

![image](https://github.com/Unleash/unleash/assets/17786332/2e2f54b0-37c0-4cec-9902-14b43827beaf)
2023-08-07 13:39:24 +00:00
Jaanus Sellin
7a32eacecb
feat: segments in pending CR screen (#4420) 2023-08-04 15:34:03 +03:00
andreas-unleash
579b08be27
fix: UI improvements on CR reorder strategy (#4375)
- make the blocks that hold the constraints full width
- remove the margin-top and margin-bottom from the parent div + increase
the gap: 20px on this parent div
- remove the margin-bottom from the constraints containers
- add the strategies in a div and add a margin-bottom: 8px

![Screenshot 2023-07-31 at 15 05
51](https://github.com/Unleash/unleash/assets/104830839/68c32324-99c3-4fab-99f0-bde1bf2b43e7)

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-07-31 16:25:06 +03:00
andreas-unleash
988a3a57e8
feat: Change Request on Reorder UI (#4249)
<!-- 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! ❤️ -->
Change request UI for reordering strategies with variants
## 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. -->

<!-- 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? -->

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-07-25 14:12:35 +03:00
Jaanus Sellin
3da1cbba47
feat: feature creation limit crud together with frontend (#4221) 2023-07-13 14:02:35 +03:00
Tymoteusz Czech
ce900830cb
Fix: change request info (#3971)
<!-- 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
- fixed spacing in sidebar
- consolidated info into one banner

closes
[#1-969/change-requests-ui-inconsistency](https://linear.app/unleash/issue/1-969/change-requests-ui-inconsistency)
2023-07-04 09:09:05 +02:00
andreas-unleash
5cbbd6f798
chore: remove strategyImprovements flag (#4043)
<!-- 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! ❤️ -->
Remove strategy improvements flag 
## 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. -->

<!-- Does it close an issue? Multiple? -->
Closes #
[1-1048](https://linear.app/unleash/issue/1-1048/remove-strategyimprovements-flag)

<!-- (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? -->

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-06-28 11:38:21 +03:00
Jaanus Sellin
54654c6368
feat: change CR strategy title and name behaviour (#4004) 2023-06-19 13:33:12 +03:00
Mateusz Kwasniewski
ce6ff2578a
fix: can review CR with skip change request (#3998) 2023-06-16 13:36:23 +02:00
Jaanus Sellin
6e374be790
feat: strategy tooltip grouping and default (#3986) 2023-06-15 14:29:37 +03:00
Thomas Heartman
f7006642a6
fix: Only show names as changed when titles have changed. (#3843)
Related to [linear task
1-954](https://linear.app/unleash/issue/1-954/disabling-last-strategy-in-change-request-shows-strikethrough).

This PR changes the display logic for showing titles as changed: it
previously fell back to always being `true` if there was a custom title
set for a strategy. This PR makes it so that it only shows as changed if
the title has actually changed, either from one custom title to another,
or to and from the display name.

To accommodate the last bit, it also shows display names with a
strikethrough if the strategy had no title previously, but now it does. This is consistent with how it displays the strategy name if you delete a title from a strategy.


Here's a number of different examples: 


![image](https://github.com/Unleash/unleash/assets/17786332/034bcc01-8715-4052-afec-56caf7edea51)
2023-05-23 12:16:20 +00:00
andreas-unleash
8aadbc8ae9
Fix/cr should activate disabled lag free (#3826)
<!-- 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 change request option to activate disabled strategies UI
- Fixes Disable strategy bug (onSuggestDisable)

## 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. -->

<!-- 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? -->

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-05-23 10:16:09 +03:00
andreas-unleash
adfd79c261
Revert "feat: change requests UI for activate disabled strategies (#3… (#3817)
…787)"

This reverts commit 896b63616d.

<!-- 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. -->

<!-- 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? -->
2023-05-20 09:40:48 +02:00