* This PR adds a warning when you attempt to move a feature toggle if
you have existing pending drafts that reference the feature. You need to
resolve the drafts before the feature can be moved from one project to
another.
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
This PR introduces a soft landing page to the last viewed project or to
the project list (if there is more than 1 project)
Changes:
- Replaced clearing of `storage` with clearing `cache` in logout.ts ::
REVERTED
- Root redirects to `projects` instead of `features`
<!-- 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? -->
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Currently, our event log is keeping all the previous data and then
fetching and appending to our state list. This causes duplicates, since
we're keeping the existing list and might be getting the same data, but
with added events at the end.
This fix changes the logic to slice existing data at offset. Which
should make sure we only append the new data.
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
![image](https://user-images.githubusercontent.com/14320932/202286759-b9c30228-59cc-4c58-a7b0-3c6c3d0ecba6.png)
## About the changes
https://linear.app/unleash/issue/2-425/variants-crud-new-environment-cards-with-tables-inside-add-edit-and
Basically created parallel components for the **variants per
environments** feature, so both flows should work correctly depending on
the feature flag state. Some of the duplication means that cleanup
should be straightforward - Once we're happy with this feature it should
be enough to delete
`frontend/src/component/feature/FeatureView/FeatureVariants/FeatureVariantsList`
and do some little extra cleanup.
I noticed we had some legacy-looking code in variants, so this involved
*some* rewriting of the current variants logic. Hopefully this new code
looks nicer, more maintainable, and more importantly **doesn't break
anything**.
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#2254
### Important files
Everything inside the
`frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants`
folder.
This PR adds implements the frontend and migrations part of multiple
reviewers.
2 UI parts:
1. Configuration to add the count of required approvals
2. Handle multiple approvers in review page.
Fixes a small bug that caused the item to be draggable when clicking
outside of the handle, when using a handle. Basically resets the
draggable state when (re)entering the container.
<!-- 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! ❤️ -->
Integrates frontend with the change request settings backedn
## 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? -->
1. Added database table for change request approvals
2. Removed separate endpoint for applying. **Now all state changes will
go through same endpoint.**
* add clone environment modal base skeleton (WIP)
* refactor HelpIcon common component, fix group form
* add more fields to clone env modal, multi project selector
* implement initial payload signature
* reflect latest design decisions
* misc ui fixes
* update UI to the new designs, change back clone option to use flag
* set env limit to 15
* Update frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentCloneModal/EnvironmentCloneModal.tsx
Co-authored-by: Simon Hornby <liquidwicked64@gmail.com>
* Update frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentCloneModal/EnvironmentCloneModal.tsx
Co-authored-by: Simon Hornby <liquidwicked64@gmail.com>
* Update frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentCloneModal/EnvironmentCloneModal.tsx
Co-authored-by: Simon Hornby <liquidwicked64@gmail.com>
* Update frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentCloneModal/EnvironmentCloneModal.tsx
Co-authored-by: Simon Hornby <liquidwicked64@gmail.com>
* address PR comments
Co-authored-by: Simon Hornby <liquidwicked64@gmail.com>
* feat: add changes to draft
* Make domain type and schema match
* Deleting change from changeset
* Add ability to merge
* Revert "Add ability to merge"
This reverts commit 504e7e796e.
* gRevert "Deleting change from changeset"
This reverts commit 2effc20378.
* Revert "Make domain type and schema match"
This reverts commit 079f46c0db.
Co-authored-by: sjaanus <sellinjaanus@gmail.com>
* feat: new user dropdown and profile page
* fix: add popup boxShadow to dark-theme
* fix: update routes snap
* refactor: move some tab specific logic into tabs component
* add useProfile hook example
* fix profile tab header (no name)
* fix: hide user popup when clicking profile link
* - add PATs to profile;
- add route logic to profile;
- refactor TimeAgoCell title;
- misc fixes and refactoring;
* add profile info to profile tab
* simplify req paths
* add PAT flag to the front-end
* fix: some UI adjustments
* change user popup buttons to links
* fix profile on front-end, add role description
* update delete PAT text
* address some PR comments
* address PR comments
* some more UI fixes and refactoring
* move password request to API hook
* refactor: user creation screen cleanup
* feat: deprecation notice for google sso
* fix: docs openid typo
* invite link bar
* invite link page
* fix prettier docs
* regenerated openapi
* hooks for invite page api
* update openapi
* feat: invite link update
* feat: add public signup token soft-delete
* public signup frontend feature flag
* fix: new user api issues
* feat: allow for creating new user from invite link
* Feat/invite user public controller (#2106)
* added PublicInviteController for public urls
* added PublicInviteController for public urls
* added PublicInviteController for public urls
* added PublicInviteController for public urls
* fix test
* fix test
* update openapi
* refactor: password reset props
* fix: public invite schema and validation
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
* user invite frontend
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
* invite link delete confirmation dialog
* refactor: password reset action
* fix: new user invite loading state
* fix: run ts check with ci
* revert openapi changes
* fix: invite token api interface
* fix: openapi schema index
* fix: update test snapshots
* update frontend snapshot
* fix: prettier ci
* fix: updates after review
Co-authored-by: andreas-unleash <104830839+andreas-unleash@users.noreply.github.com>
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
* fix: remove group owner concept
* fix: adapt e2e tests accordingly
* refactor users select to match improvement
* refactor: add user -> edit users
* feat: add edit users to group card actions
* add a few more UI improvements
* fix: edit group users icon
* improve loading behaviour
* fix group users refresh on card view
* improvement: create group form validation
* fix edit group, some refactoring
* fix: e2e tests, minor bugs
* fix: infinite re-renders due to useHiddenColumns useEffect array dependency
* fix re-rendering on useHiddenColumns for some tables
* refactor: validations into functions / variables
* Grouping fix grid not showing user names
* Remove deprecated access endpoints
* Manual prettier
* Revert user role update
* Add a way to delete archived toggles from the front end
* Fix layout
* Add project to permissionbutton
* Prettier
* Minor fixes
* Run prettier
* feat: add user groups table
* add groups and group view
* fix top level await on mock data
* add UG flag
* create group files, refactor group cards
* add generic badge component
* adapt hooks to use endpoints
* implement basic create group
* fix: update snap
* fix: type id as string for now
* implement create group, use api, refactoring
* add stars to group owners
* refactor GroupForm.tsx to use styled components
* feat: remove group
* add edit group
* add group card actions
* feat: edit and remove group users
* add users to groups
* Initial commit
* refine project access table
* add project access group view
* Take users and groups from backend
* Add onsubmit
* new project access, assign and edit
* fix EditGroup, Group
* Finish assigning roles in project
* List assigned projects in group card
* Run prettier
* Add added column to project access table
Co-authored-by: Jaanus Sellin <jaanus@getunleash.ai>
Co-authored-by: sighphyre <liquidwicked64@gmail.com>
* refactor: fix table header sort button focus styles
* refactor: extract FeatureNameCell component
* refactor: port health reports to react-table
* refactor: hide columns on small screens
* refactor: sort features by name
* feat: persistent table query
* project overview sort query
* refactor: api methods as hook callbacks
* persitent columns in project overview
* enable new project overview
* fix: refactor feature state change in overview
* add type to sort
* update e2e tests
now takes 10% less time with use of cypress session
* prevent sort reset on features list
* fix feature toggle list loading
* fix: update column state saving
* update local storage hook test
* refactor: show save button before using the dropdown
* refactor: simplify FeatureSettingsProject toast message
* refactor: fix FeatureProjectSelect filter prop type
* refactor: hide change project page for non-enterprise
* refactor: derive move targets from projects list instead of from permissions
* refactor: align frontend project compat check with backend
* refactor: fix useProject object stability
* refactor: disable the save button for the current project
* refactor: require equal environments when moving toggles
* refactor: improve arraysHaveSameItems name
* feat: add last seen col to admin users list
* fix: header hover effect, duplicate title from TimeAgo
* fix: use YMD format, never logged
* fix: small tooltip change
* refactor: adapt to review suggestions
* refactor: fix splash page button background color
* refactor: regenerate OpenAPI client
* refactor: clean up strategy parameter types
* refactor: remove index signature from IConstraint
* refactor: fix never-seen status in features list
* feat: show archived toggles on a project level
* Update src/component/feature/FeatureToggleList/FeatureToggleListActions/FeatureToggleListActions.tsx
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
* refactor: adapt code to PR comments, clarity
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
* feat: add a script that generates an OpenAPI client
* feat: generate an OpenAPI client
* feat: use the generated OpenAPI client
* refactor: add an OpenAPI section to the readme
* refactor: fix missing interface prefixes
* refactor: regenerate OpenAPI client
* add user sort and filter hooks, adapt table to match design
* refactor: abstract away TableActions and TableCellSortable into components, small fixes and improvements
* feat: implement search
* feat: add search word highlighter to match design
* refactor: small UI/UX improvements
* fix: rounded corners for th on responsive breakpoints
* refactor: small UI/UX improvements
* Update src/hooks/useUsersSort.ts
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
* refactor: clearer arg name in users filter
* refactor: specify transition properties
* refactor: add theme v2 properties and cleanup styles
* refactor: create lightweight highlighter component
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
* fix: reject duplicate segment names
* fix: useSegmentValidation now takes into account initial value
* refactor: add segments e2e test
* refactor: add github action from segments e2e test
* refactor: use enterprise edition for all e2e tests
* refactor: use enterprise edition for all e2e tests
* fix: general select component typings
* custom multi-select for projects
* autocomplete element for token projects
* project multi-select with error handling
* projects in tokens list update
* multi-project tokens - select all button
* fix conflicting typescript changes
* improve multi-projects tokens form after review
* refactor multi-project select code structure
* test api token list projects column element
* simplify test renderer
* refactor: port useSort to TS
* refactor: port loadingFeatures to TS
* refactor: port admin index to TS
* refactor: port TagTypeList to TS
* refactor: merge route interfaces
* refactor: port common utils to TS
* refactor: fix snapshot date typo
* refactor: port Reporting utils to TS
* refactor: improve PermissionIconButton prop types
* fix: link color in project features
Co-authored-by: olav <mail@olav.io>
* fix: link in health page
Co-authored-by: olav <mail@olav.io>
* fix: keep sorting state in project toggles list
Co-authored-by: olav <mail@olav.io>
* fix: style link in the toggle list project
Co-authored-by: olav <mail@olav.io>
* refactor: update browser list
Co-authored-by: olav <mail@olav.io>
Co-authored-by: olav <mail@olav.io>