Paulo Miranda
fd34f35e0e
feat: add reset password to user manager ( #5580 )
...
## About the changes
This PR adds a reset password functionality to user table (only available to admins). This makes it possible to reset passwords without configuring the email service.



---------
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
Co-authored-by: Thomas Heartman <thomasheartman+github@gmail.com>
2023-12-18 13:54:04 +01:00
andreas-unleash
4376697250
feat: show Changes scheduled in feature variants even when CR are dis… ( #5613 )
...
show Changes scheduled in feature variants even when CR are disabled
Modifies existing hook to call the new `change-requests/scheduled`
endpoint that returns the relevant scheduled change requests even when
change requests are disabled
Rename the ChangeRequestIdentityData to ScheduledChangeRequestViewModel
for consistency (finalised schemas will replace the BE and FE types in a
follow up PR)
Closes #
[1-1746](https://linear.app/unleash/issue/1-1746/show-change-scheduled-badge-in-feature-environment-variants-even-if )
<img width="1486" alt="Screenshot 2023-12-12 at 14 24 44"
src="https://github.com/Unleash/unleash/assets/104830839/7c4e92ef-81d8-423e-8b78-9015ede59952 ">
---------
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-12 15:34:32 +02:00
Mateusz Kwasniewski
e88beff2b2
feat: do not cache old search and filter results ( #5600 )
2023-12-12 08:47:57 +01:00
andreas-unleash
e02c252636
fix: show Changes scheduled badge for strategies even if change reque… ( #5599 )
...
show Changes scheduled badge for strategies even if change requests are
disabled
Closes #
[1-1745](https://linear.app/unleash/issue/1-1745/show-changes-scheduled-badge-in-strategy-item-even-if-change-requests )
---------
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-12-12 09:30:57 +02:00
Jaanus Sellin
9bae14a2cc
feat: add tags filter ( #5584 )
2023-12-11 14:10:03 +02:00
Thomas Heartman
879e4c98e5
feat: show potential schedule conflicts when you archive flags ( #5575 )
...
Show change requests that would be impacted by an archive operation

2023-12-11 10:45:45 +01:00
Thomas Heartman
cd731cef03
refactor: update the API url for getting scheduled change requests with a strategy ( #5573 )
...
Relates to enterprise PR 889; update the API url
2023-12-08 12:29:54 +01:00
Thomas Heartman
a228f54344
feat: show scheduled CRs using strategies when removing it ( #5560 )
...
Show a warning about how deleting a strategy might mess up scheduled
change requests.
If there are change requests, list them. If there are no conflicts, show
nothing. If we don't know (because of no successful response from the
API), say that it might cause issues.

2023-12-06 15:39:17 +01:00
Jaanus Sellin
a299885e22
feat: update project overview endpoint ( #5518 )
...
1. Created new hook for endpoint
2. Start removing useProject hook, when features not needed.
2023-12-01 20:00:35 +02:00
Tymoteusz Czech
755c22f3b9
feat: features list pagination ( #5496 )
...
New paginated table - tested on /features-new behind a flag
2023-12-01 14:53:05 +00:00
Tymoteusz Czech
f690fe86da
feat: new search for feature toggle list table ( #5454 )
...
Filtering of feature toggles list with backend
2023-11-29 10:42:35 +01:00
Tymoteusz Czech
e476de5faa
feat: update feature search ( #5473 )
2023-11-29 08:45:30 +01:00
Thomas Heartman
b021e7cf85
feat: show strategies used by segments ( #5407 )
...
This PR displays change request usage of segments when such usage is
returned from the API. It expects at least #5406 to have been merged
before it can be merged.

2023-11-27 10:34:34 +00:00
Tymoteusz Czech
dbd897e3bd
Feat/new paginated table ( #5371 )
...
## About the changes
2023-11-24 17:50:58 +01:00
Gastón Fournier
4801b64824
feat(banners): enable customer banners ( #5348 )
...
## About the changes
This feature allows our Enterprise customers to configure banners to be
displayed on their Unleash instance for all their users to see and
interact with. Previously known as "internal message banners".
2023-11-17 13:56:09 +00:00
Jaanus Sellin
4e1040c849
feat: connect sort table to backend ( #5338 )
...
Now FE sorting is done in backend.
2023-11-15 16:01:02 +02:00
Fredrik Strand Oseberg
db77962a72
fix/usefeaturesearch cache ( #5340 )
...
Fixes a bug where the closure over the useFeatureSearch hook would not
account for projectId and return the wrong total/initial load
2023-11-15 11:09:13 +01:00
Tymoteusz Czech
fd3a7f12cb
chore: remove featureSwitchRefactor flag ( #5329 )
...
Cleanup. This change has been rolled out to significant number of
customers already, and we have another parallel version behind a flag.
2023-11-14 13:03:23 +01:00
Fredrik Strand Oseberg
834ae1d8a4
Feat/pagination loading ( #5325 )
...
This PR makes changes to how the project overview skeleton screen works.
Important changes:
- Add skeleton screens to missing elements, creating a more
comprehensive loading screen
- Split the page into different loading sections, so that we can load
the table when we fetch the next page without affecting the rest of the
page.
https://www.loom.com/share/e5d30dc897ac488ea80cfae11ffab646
Next steps:
* Hide bar if total is less than 25
* Add FE testing
2023-11-13 14:08:48 +01:00
Nuno Góis
4d1f76e61b
fix: take into account project segments permission ( #5304 )
...
https://linear.app/unleash/issue/SR-164/ticket-1106-user-with-createedit-project-segment-is-not-able-to-edit-a
Fixes a bug where the `UPDATE_PROJECT_SEGMENT` permission is not
respected, both on the UI and on the API. The original intention was
stated
[here](https://github.com/Unleash/unleash/pull/3346#discussion_r1140434517 ).
This was easy to fix on the UI, since we were simply missing the extra
permission on the button permission checks.
Unfortunately the API can be tricky. Our auth middleware tries to grab
the `project` information from either the params or body object, but our
`DELETE` method does not contain this information. There is no body and
the endpoint looks like `/admin/segments/:id`, only including the
segment id.
This means that, in the rbac middleware when we check the permissions,
we need to figure out if we're in such a scenario and fetch the project
information from the DB, which feels a bit hacky, but it's something
we're seemingly already doing for features, so at least it's somewhat
consistent.
Ideally what we could do is leave this API alone and create a separate
one for project segments, with endpoints where we would have project as
a param, like so:
`http://localhost:4242/api/admin/projects/:projectId/segments/1 `.
This PR opts to go with the quick and hacky solution for now since this
is an issue we want to fix quickly, but this is something that we should
be aware of. I'm also unsure if we want to create a new API for project
segments. If we decide that we want a different solution I don't mind
either adapting this PR or creating a follow up.
2023-11-09 09:37:47 +00: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
Jaanus Sellin
24f9fa3058
feat: connect search and filter with server api ( #5297 )
2023-11-08 14:19:40 +02:00
Jaanus Sellin
4bacd3e055
feat: introduce offset based search instead of cursor ( #5274 )
2023-11-08 11:12:42 +02: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
Fredrik Strand Oseberg
92e2b1890c
Refactor/project overview api calls ( #5279 )
...
This PR reduces the overhead of making API calls on pages with heavy
renders. We forego loading states and default error handling in favor of
more speed by avoiding triggering multiple re-renders from the API call.
2023-11-07 09:19:55 +01:00
Mateusz Kwasniewski
fe61947435
feat: serach and filter input to query param parser ( #5255 )
2023-11-03 10:10:46 +01:00
Mateusz Kwasniewski
bc66fb649f
feat: infinite scroll API trigger ( #5242 )
2023-11-01 15:56:06 +01:00
Mateusz Kwasniewski
d074254b61
feat: connect project overview table to search api ( #5237 )
2023-11-01 12:05:42 +01:00
Fredrik Strand Oseberg
3ee250ee7d
feat: add feature search service ( #5149 )
2023-10-25 15:18:52 +02:00
Nuno Góis
6ffca07d51
feat: use new on/off endpoints in banners toggles ( #5144 )
...
https://linear.app/unleash/issue/2-1556/adapt-toggles-in-banners-table-to-use-the-new-on-and-off-endpoints
Uses the new on/off endpoints in the banners table toggles.
Also includes a missing rename for the `useMessageBannersApi` hook, to
`useBannersApi`.
2023-10-25 12:27:47 +01:00
Nuno Góis
3ca22c7c5c
feat: banner modal ( #5132 )
...
https://linear.app/unleash/issue/2-1548/ui-create-banner-newedit-modal
Adds a new banner modal (and form) that allows admins to create and edit
banners.
Also adds a new `FormSwitch` common component that may be helpful in
different situations where we need a switch on a form.
<img width="1263" alt="image"
src="https://github.com/Unleash/unleash/assets/14320932/1b89db9b-9003-413c-8829-c37d245e2487 ">
2023-10-24 16:26:44 +01:00
Nuno Góis
957546e305
refactor: rename message banners to banners ( #5098 )
...
https://linear.app/unleash/issue/2-1531/rename-message-banners-to-banners
This renames "message banners" to "banners".
I also added support for external banners coming from a `banner` flag
instead of only `messageBanner` flag, so we can eventually migrate to
the new one in the future if we want.
2023-10-19 13:18:25 +01:00
Nuno Góis
5456d1d985
feat: add message banner API hooks ( #5078 )
...
https://linear.app/unleash/issue/2-1510/create-message-banner-hooks-that-connect-to-the-new-api-endpoints
Adds new message banner API hooks that will allow us to do CRUD
operations for message banners in the UI.
2023-10-18 18:56:09 +01:00
Mateusz Kwasniewski
e9e110f702
feat: show dependencies only when using pro/enterprise or at least on… ( #5052 )
2023-10-16 20:56:06 +02:00
Nuno Góis
6c21ed5f74
feat: make maintenance-related 503s more intuitive ( #5018 )
...
This makes maintenance-related 503s more intuitive on our UI by
mentioning that maintenance banner is currently enabled.

2023-10-16 09:27:29 +01:00
Mateusz Kwasniewski
19bc519e1b
feat: Verify archive dependent features UI ( #5024 )
2023-10-13 14:31:37 +02:00
Mateusz Kwasniewski
b4c8f92a26
feat: do not allow to manage dependencies directly with cr enabled ( #4971 )
2023-10-10 09:25:03 +02:00
Mateusz Kwasniewski
ab739eb6c3
feat: Change request dependency UI ( #4966 )
2023-10-09 14:06:00 +02:00
andreas-unleash
b07c032d56
fix: update potentially-stale status dynamically ( #4905 )
...
Fixes 2 bugs:
- project-health-service keeping the feature types as an instance
variable and only updating it once was preventing real calculation to
happen if the lifetime value changed for a feature toggle type
- the ui was reading from a predefined map for the lifetime values so
they would never reflect the BE change
Closes #
[SR-66](https://linear.app/unleash/issue/SR-66/slack-question-around-potentially-stale-and-its-uses )
<img width="1680" alt="Screenshot 2023-10-02 at 14 37 17"
src="https://github.com/Unleash/unleash/assets/104830839/7bee8d4a-9054-4214-a1a2-11ad8169c3d5 ">
<img width="1660" alt="Screenshot 2023-10-02 at 14 37 06"
src="https://github.com/Unleash/unleash/assets/104830839/23bf55c7-a380-4423-a732-205ad81d5c3c ">
---------
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2023-10-04 12:47:16 +03: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
280e21f073
refactor: bubble promise instead of return await ( #4906 )
...
Tiny refactor that bubbles promises instead of using `return await`.
Should be more consistent with the rest of the changes in
https://github.com/Unleash/unleash/pull/4903
2023-10-02 13:59:53 +01: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.

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
751bc465d6
feat: generate orval types with dependent features ( #4902 )
2023-10-02 12:35:20 +02:00
Mateusz Kwasniewski
fbc571dffc
feat: events for dependencies ( #4864 )
2023-09-29 14:02:15 +02:00
Nuno Góis
3cf8761364
fix: permissions in the role payload ( #4861 )
...
Fixes the role payload to include only the needed properties from
permissions. Fixes `400` (oneOf schema validation error) in project role
creation.
2023-09-28 15:55:46 +01:00
Mateusz Kwasniewski
72cca4f450
feat: display dependencies and parents in project details ( #4859 )
2023-09-28 13:37:52 +02:00
Mateusz Kwasniewski
6f4f6f049b
feat: inject project id to dependencies hooks ( #4839 )
2023-09-27 10:09:38 +02:00
Mateusz Kwasniewski
889377a246
feat: show available parent dependency options ( #4837 )
2023-09-27 08:10:15 +02:00
Mateusz Kwasniewski
45aca5b09e
feat: Connect add dependency api ( #4831 )
2023-09-26 11:18:42 +02:00
Nuno Góis
b9946ee35c
docs: Unleash Slack App integration ( #4801 )
...
https://linear.app/unleash/issue/2-1235/docs-slack-app-integration-documentation
This adds a new reference doc for the new Unleash Slack App integration
and marks the previous Slack integration as deprecated.
As a side-effect this PR also fixes an issue where we wouldn't be able
to delete tags with special characters.
---------
Co-authored-by: David Leek <david@getunleash.io>
Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2023-09-22 23:19:17 +01:00