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

2533 Commits

Author SHA1 Message Date
Jaanus Sellin
eb5d7a3788
feat: sdk reporting flag and e2e test (#6216)
1. Add flag
2. Add e2e test with more complete example
3. Some bug fixes
2024-02-13 14:13:21 +02:00
Nuno Góis
9511e64027
refactor: project actions (#6203)
https://linear.app/unleash/issue/2-1938/refactor-project-actions

Refactors project actions to not include the project in the payload.

Includes other misc scouting.
2024-02-12 17:10:33 +00:00
Tymoteusz Czech
c224d7dc4c
Feat: chart 'no-data' placeholder (#6172) 2024-02-12 16:10:46 +01:00
Tymoteusz Czech
3e7c2bb30e
Dashboard chart fill (#6167) 2024-02-12 15:30:17 +01:00
Mateusz Kwasniewski
b48d25a226
feat: default stickiness explanation (#6201) 2024-02-12 13:16:51 +01:00
andreas-unleash
3e4f31b588
Chore: add zendesk btn to error dialog (#6187)
Adds the option for a 3rd button in the Dialogue component
Adds a button to open our zendesk support page

Closes #
[1-2024](https://linear.app/unleash/issue/1-2024/review-the-ui-error-dialog)
<img width="1677" alt="Screenshot 2024-02-09 at 11 18 20"
src="https://github.com/Unleash/unleash/assets/104830839/bf69c9c2-456f-4b83-b80e-d72f0d678331">

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2024-02-12 10:26:45 +02:00
Gastón Fournier
6d26c79fa7
chore: Move actions inside projects (#6191)
## About the changes
Action should be relative to a project (in general).
2024-02-12 09:26:05 +01:00
Gastón Fournier
924ea39ea2
feat: project actions UI form (#6115)
## About the changes
Add, delete, and update actions is already working. The UI still needs
some love, but it's functional

![image](https://github.com/Unleash/unleash/assets/455064/f990bc8c-902b-4e00-8a1a-3761c32780a3)

---------

Co-authored-by: Nuno Góis <github@nunogois.com>
2024-02-09 12:13:44 +00:00
Fredrik Strand Oseberg
260ef70309
Feat/UI error observability (#6169)
This PR adds an endpoint to Unleash that accepts an error message and
option error stack and logs it as an error. This allows us to leverage
errors in logs observability to catch UI errors consistently.

Considered a test, but this endpoint only accepts and logs input, so I'm
not sure how useful it would be.
2024-02-09 13:07:44 +01:00
Nuno Góis
4c1dfbefa7
chore: clean up customRootRolesKillSwitch (#6173)
https://linear.app/unleash/issue/2-1308/remove-customrootroleskillswitch-flag

Cleans up the `customRootRolesKillSwitch` flag.
2024-02-09 08:41:40 +00:00
Nuno Góis
13df715bfd
fix: prevent infinite rerenders in useIncomingWebhooks (#6176)
React can sometimes be non-intuitive and behave erratically due to the
way it detects changes in hook dependencies.

This prevents infinite re-renders from `useIncomingWebhooks` by using a
static `DEFAULT_DATA` constant, so that its reference is always the
same, so no changes are detected when there are none.

Unrelated scouting, but this PR also removes an unneeded dependency in
the memoized columns in `ProjectActionsTable`.
2024-02-09 08:17:15 +00: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
Nuno Góis
cc2ccb1134
fix: network tab active state (#6154)
https://linear.app/unleash/issue/UNL-335/network-active-tab-state

Fixes the tab active state in Network by using the new `TabLink`
component.


![image](https://github.com/Unleash/unleash/assets/14320932/d8d4cc1e-9554-4b20-9991-b66e49663ae5)
2024-02-07 15:03:44 +00:00
Mateusz Kwasniewski
11bfcd605a
fix: overflowing description (#6150) 2024-02-07 12:51:10 +01:00
Mateusz Kwasniewski
3d1e0a6312
chore: upgrade to msw 2.x with new response declaration (#6148) 2024-02-07 11:33:55 +01:00
Christopher Kolstad
ea38877b0c
feat: List and delete inactive users
Adds a new Inactive Users list component to admin/users for easier cleanup of users that are counted as inactive: No sign of activity (logins or api token usage) in the last 180 days.

---------

Co-authored-by: David Leek <david@getunleash.io>
2024-02-05 14:07:38 +01:00
Mateusz Kwasniewski
2d7464f517
feat: make edge explicit in UI (#6132) 2024-02-05 13:34:22 +01:00
Fredrik Strand Oseberg
6a70ba0cd0
fix: add new steps to demo guide (#6112)
This PR adds the necessary steps for the demo guidance to work properly
with the new form
2024-02-05 11:36:15 +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
Jaanus Sellin
0cf8396ec2
feat: add posted feedback table (#6113)
The page can only be navigated if you know direct url `/feedback`


![image](https://github.com/Unleash/unleash/assets/964450/6018a6c0-9fee-4fb2-9b68-2d3e87674441)
2024-02-02 15:39:29 +02:00
Mateusz Kwasniewski
1834f9f8bc
fix: show all selected application names (#6110) 2024-02-02 11:35:00 +01:00
Mateusz Kwasniewski
28fc36a1de
fix: exclude columns with commas (#6102) 2024-02-01 14:10:57 +01:00
Mateusz Kwasniewski
4e3ab7186c
feat: time to production chart (#6100) 2024-02-01 12:22:27 +01: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
Fredrik Strand Oseberg
de0bebd7ad
fix: set correct lables for project charts (#6099) 2024-02-01 10:31:11 +01:00
Jaanus Sellin
bb02ffd8c4
feat: A/B test search feedback variants (#6085)
Search was not getting any feedback. We introduced 3 different variants
to compare conversion rate.


![image](https://github.com/Unleash/unleash/assets/964450/9c4fbcd6-c6d9-4570-9a08-9321087f609a)

![image](https://github.com/Unleash/unleash/assets/964450/6d643d48-1dcb-4a67-9951-7f0c6865f31d)

![image](https://github.com/Unleash/unleash/assets/964450/423dbd54-5dd1-409c-9cd5-295edb9453d9)
2024-01-31 14:32:23 +02:00
Fredrik Strand Oseberg
79e86e1aca
feat: project health widget (#6092)
Adds the project health widget to the edb:

<img width="1243" alt="Skjermbilde 2024-01-31 kl 12 16 23"
src="https://github.com/Unleash/unleash/assets/16081982/7df1e4dc-3245-4c30-bb9e-f21e90697392">
2024-01-31 13:19:28 +01:00
Jaanus Sellin
0f901bbe12
fix: fix skeleton not appearing on feature toggle list (#6093)
The `FeatureToggleListTable` is nested directly within `PageContent`.
`PageContent` was cause for removing the skeleton from the table.
However, this is unnecessary because the table has its own loader that
manages the skeletons. Therefore, `PageContent` does not require a
loader.
2024-01-31 13:26:39 +02:00
Thomas Heartman
5417662f5a
chore: add metrics for conflict creation detection (#6022)
This PR adds a 'change-request-conflict-created' event whenever someone
save a strategy update for a strategy that's used in either pending or
scheduled change requests.

Data for pending change requests will only be sent if change requests
are enabled. Data for scheduled change requests will be sent regardless.

Getting this data is somewhat involved, so I've extracted as much of the
logic into a separate file as possible.

The event re-uses the existing `change_request` metric and sends the
following data for each change request that we discover conflicts on:

```ts 
{
  state: ChangeRequestState,
  changeRequest: string, // <unleash identifier>#<change request id>
  action: 'edit-strategy',
  eventType: 'conflict-created'
}
```

There's only one action for this for now, but we could expand this event
to things such as strategy deletion, feature archival, in the future.
That said, I'd be happy to take it out.

## Discussion points

### Has the strategy actually been updated?

This does not check whether a strategy has actually changed before
emitting the event, only that you save your strategy changes.

This assumes that most people will simply close the modal by
clicking/tapping outside it or using the escape key instead of pressing
save.

However, it will likely lead to some false positives. If we think that
is an issue, I would suggest adding a check that something in the
strategy has actually changed in a follow-up PR.
2024-01-31 18:56:56 +09:00
Tymoteusz Czech
d77e5391ed
refactor: FlagsChart and FlagsProjectChart components (#6087)
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2024-01-31 09:50:50 +00:00
Tymoteusz Czech
e6ccd83739
refactor: LineChart component (#6072)
Initial version of a reusable trend chart, with a tooltip and vertical highlight
2024-01-31 10:07:29 +01:00
Fredrik Strand Oseberg
aae1d0576f
feat: add project flags component (#6070)
This PR adds project flags line chart component
2024-01-31 08:48:10 +01:00
Jaanus Sellin
c6a2303026
chore: remove featureSearchFrontend flag (#6066) 2024-01-31 09:22:26 +02:00
Tymoteusz Czech
c9ac4916e8
feat: executive dashboard responsive grid (#6069)
- unified "Widget" component
- column order dependent on screen width
2024-01-30 17:02:13 +01:00
Ivar Conradi Østhus
38df2e1831
fix: add instanceName to license display (#6065)
## About the changes
- Shows the instanceName from the license
- add new feature flag `enableLicenseChecker` used to enforce a valid
license.
2024-01-30 11:05:27 +01:00
Fredrik Strand Oseberg
7d6d4064a8
feat: connect dashboard static widgets to data (#6062)
This PR connects the static widgets to actual data
2024-01-30 10:07:16 +01: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
Tymoteusz Czech
46fb40ca08
fix: dashboard layout (#6063)
Align widgets properly on main screen. Responsive view in next PRs
2024-01-30 09:00:06 +01:00
Mateusz Kwasniewski
8a7e65eaa6
refactor: cleanup fix for persistent set (#6060) 2024-01-29 12:33:01 +01:00
Nuno Góis
c1046079dd
chore: actions modal form (#6057)
https://linear.app/unleash/issue/2-1882/ui-add-actions-modal-and-form

Adds actions modal and form, allowing users to create and edit actions.

The main thing that is missing is adding the remaining fields, which
will be included in a later PR.
2024-01-29 11:15:29 +00:00
Mateusz Kwasniewski
ce219f1b74
fix: hidden envs (#6050) 2024-01-26 17:03:10 +01:00
Tymoteusz Czech
61c6583e24
Feat/dashboard chart tooltip (#6038)
Initial version of new chart tooltip
2024-01-26 14:33:11 +01:00
Fredrik Strand Oseberg
4a025a4b4b
feat: flag widget (#6047)
This PR adds the flag widget:

<img width="333" alt="Skjermbilde 2024-01-26 kl 14 16 19"
src="https://github.com/Unleash/unleash/assets/16081982/57b8c312-fcd5-4a3f-85f7-76514c671912">
2024-01-26 14:22:16 +01:00
Nuno Góis
6ee4d2724e
fix: actions table UI improvements (#6042)
Includes some small fixes and improvements to the actions table UI:
 - Fix webhook icon not properly loading
 - Make actions execution param names bold in the tooltip
 - Make filters param names bold in the tooltip
2024-01-26 09:52:19 +00:00
Nuno Góis
32484460ef
chore: project actions table (#6039)
https://linear.app/unleash/issue/2-1877/ui-add-actions-table

Implements the new project actions table.


![image](https://github.com/Unleash/unleash/assets/14320932/2ce96669-4b8f-46cd-9a87-8b14f0682694)


![image](https://github.com/Unleash/unleash/assets/14320932/d73327f2-1e1a-4d57-8ef8-1f4518c4b5d9)


![image](https://github.com/Unleash/unleash/assets/14320932/27b9ffab-4fff-4fdf-808f-b778987fa198)
2024-01-26 08:20:30 +00:00
Tymoteusz Czech
00b3cbaa8b
Dashboard API hook (#5990)
Data fetching for dashboard

https://linear.app/unleash/issue/1-1969/dashboard-users-chart-api-hook
2024-01-26 09:03:12 +01:00
Fredrik Strand Oseberg
9ac1c88bd4
feat: new user widget (#6037)
Preliminary code for executive dashboard user widget
2024-01-25 14:43:59 +01:00
Jaanus Sellin
b0ecfd4d34
feat: add plausible change-requests-conflicts (#6024) 2024-01-24 21:46:08 +02:00
Christopher Kolstad
17d826ddf4
task: Add banner encouraging edge upgrade (#6018)
Only triggers if there is any rows in client instances that have

    sdk_version: unleash-edge with version < 17.0.0

The function that checks this memoizes the check for 10 minutes to avoid
scanning the client instances table too often.
2024-01-24 14:22:48 +00:00