Nuno Góis
7e9069e390
refactor: token permissions, drop admin-like permissions ( #4050 )
...
https://linear.app/unleash/issue/2-1155/refactor-permissions
- Our `rbac-middleware` now supports multiple OR permissions;
- Drops non-specific permissions (e.g. CRUD API token permissions
without specifying the token type);
- Makes our permission descriptions consistent;
- Drops our higher-level permissions that basically mean ADMIN (e.g.
ADMIN token permissions) in favor of `ADMIN` permission in order to
avoid privilege escalations;
This PR may help with
https://linear.app/unleash/issue/2-1144/discover-potential-privilege-escalations
as it may prevent privilege escalations altogether.
There's some UI permission logic around this, but in the future
https://linear.app/unleash/issue/2-1156/adapt-api-tokens-creation-ui-to-new-permissions
could take it a bit further by adapting the creation of tokens as well.
---------
Co-authored-by: Gastón Fournier <gaston@getunleash.io>
2023-06-22 08:35:54 +01:00
Tymoteusz Czech
10eb500360
Custom event tracking ( #2151 )
...
* add plausible custom event tracking
* refactor: better comments for analytics tracking
2022-10-10 14:06:44 +02:00
Fredrik Strand Oseberg
6818a82cd1
Feat/dark mode exp ( #1137 )
...
* feat: add dark mode theme
* fix: feature metrics
* fix: add color
* styling
* fix: add switch
* fix: form sidebar
* fix: remove console log
* fix: add properties
* fix: strategy container
* feat: feature flag
* fix: tests
* fix: build
* fix: logo
* fix: icon
* fix: update snapshots
* fix: CES operator
* fix: typography
* fix: input styling
* fix: remove initial load
* fix: change flag name
* fix: refactor to custom hook
* fix: remove unused import
* fix: dialog headers
* fix: use uiConfig flags instead of flags
2022-08-23 14:20:02 +02:00
olav
34f848ce8a
refactor: replace react-dnd with custom implementation ( #988 )
...
* refactor: replace react-dnd with custom implementation
* refactor: add TextCell, IconCell, and ActionCell
* refactor: port environments list to react-table
* refactor: change OfflineBolt to PowerSettingsNew
* refactor: simplify environment toast text
* refactor: improve IToast type type
* refactor: improve useSearchHighlightContext naming
* refactor: clarify enableDragAndDrop logic
2022-05-25 11:40:20 +02:00
Youssef Khedher
85950f104a
chore: update paths 🧼 ( #820 )
2022-03-28 09:49:59 +01:00
olav
baae88c7a5
feat: add new feature strategy create/edit pages ( #739 )
...
* refactor: add param helper hooks
* refactor: remove first add strategy link
* refactor: add more types to useStrategies
* refactor: port strategy utils to TS
* refactor: replace rollout strategy icon
* refactor: use a named export for useFeature
* refactor: add more types to useFeature
* refactor: adjust code box styles
* refactor: add missing PermissionButton variant prop
* refactor: add missing button icon label
* refactor: move common feature components
* refactor: fix StrategyConstraints error prop types
* refactor: fix GeneralStrategy prop types
* feat: add new feature strategy create/edit pages
* refactor: remove feature strategies page
* refactor: fix types in GeneralStrategy
* refactor: use ConstraintAccordion on the new pages
* refactor: use ConditionallyRender for remove button
* refactor: rename FeatureStrategyForm component
* refactor: use the Edit icon for feature strategies
* refactor: fix initial edit mode for new constraints
* refactor: add FeatureStrategyMenu to closed accordions
* refactor: allow editing multiple constraints
* refactor: show single-valued constraint value
* refactor: increase feature overview strategy width
* refactor: add remove button to feature overview strategies
* refactor: move createEmptyConstraint to own file
* refactor: disable submit button for invalid constraints
* refactor: fix nested paragraphs on the metrics page
* refactor: move create/edit feature strategy to modal
* refactor: always open new constraints in edit mode
* refactor: use a PermissionButton for the save button
* refactor: remvoe unsaved constraints on cancel
* refactor: clarify useConstraintsValidation logic
* refactor: remove unused strategy descriptions
* refactor: restore Rollout icon
* refactor: remove sidebar modal slide animation
* refactor: avoid constraint accordion toggle on edit/delete
* refactor: truncate long strategy names
* refactor: find the correct remove button
2022-03-09 14:59:24 +01:00
olav
3959e846e8
refactor: fix misc TS errors ( #729 )
...
* refactor: update test deps
* refactor: remove unused ts-expect-error annotations
* refactor: add missing arg and return types
* refactor: the loading prop is optional
* refactor: add missing arg and return types
* reafactor: fix value arg type
* refactor: fix missing array type
* refactor: the parameters field is an array
* refactor: use undefined instead of null in state
* refactor: add missing params type
* refactor: add missing children prop
* refactor: add missing array type
* refactor: add missing React imports
* refactor: use correct IProjectEnvironment type
* refactor: type errors as unknown
* refactor: the index prop is required
* refactor: fix date prop type
* refactor: fix tooltip placement prop type
* refactor: fix environments state type
* refactor: add missing arg types
* refactor: add guard for undefined field
* refactor: fix ChangePassword prop types
* refactor: fix MUI import paths
* refactor: add missing arg type
* refactor: fix showDialog prop type
* refactor: remove unused openUpdateDialog prop
* refactor: add missing non-null assertion
* refactor: remove unused types prop
* refactor: stricten API error handler types
* refactor: add missing undefined check
* refactor: add missing IProject id field
* refactor: fix ConditionallyRender condition prop types
* refactor: remove unused args
* refactor: add AddVariant prop types
* refactor: add types to UIContext
* refactor: fix event arg type
* refactor: add missing default impressionData field
* refactor: fix handleDeleteEnvironment prop args
* refactor: fix IFeatureMetrics field requirements
* refactor: add missing element types to ConditionallyRender
* refactor: remove unused ProjectAccess projectId prop
* refactor: add missing undefined check
* refactor: fix getCreateTogglePath arg type
* refactor: add missing IStrategyPayload import
* refactor: remove unused user arg
* refactor: add missing event arg type
* refactor: add missing style object types
* refactor: improve userApiErrors prop type
* refactor: the Dialogue onClose prop is optional
* refactor: fix the AddonEvents setEventValue prop type
2022-02-25 10:55:39 +01:00
olav
213e8950d3
refactor: port login auth to TS/SWR ( #680 )
...
* refactor: allow existing tsc errors
* refactor: add missing component key
* refactor: port login auth to TS/SWR
* refactor: replace incorrect CREATE_TAG_TYPE with UPDATE_TAG_TYPE
* refactor: fix AccessProvider permission mocks
* refactor: add types to AccessContext
* refactor: fix file extension
* refactor: remove default export
* refactor: remove unused IAddedUser interface
* refactor: comment on the permissions prop
* refactor: split auth hooks
* feat: auth tests
* fix: setup separate e2e tests
* fix: naming
* fix: lint
* fix: spec path
* fix: missing store
* feat: add more tests
Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-02-10 17:04:10 +01:00
Fredrik Oseberg
e6ae8db442
fix: pnps
2022-01-28 10:51:48 +01:00
Youssef Khedher
182d566895
feat/rbac roles ( #562 )
...
* feat: create screen
* fix: import accordion summary
* feat: add accordions
* fix: add codebox
* feat: select permissions
* fix: permission checker
* fix: update permission checker
* feat: wire up role list
* fix: change icon color in project roles list
* fix: add color to icon in project roles
* add confirm dialog on role deletion
* feat: add created screen
* fix: cleanup
* fix: update access permissions
* fix: update admin panel
* feat: add edit screen
* fix: use color from palette and show toast when fails
* fix: refactor
* feat: validation
* feat: implement checked all
* fix: experimental toast
* fix: error handling
* fix: toast
* feat: unique name validation
* fix: update toasts
* fix: remove toast
* fix: reset flag
* fix: remove unused vars
* fix: update tests
* feat: add error icon for toast
* fix: replace wrong import for setToastData
* feat: Patch keying on ui to handle uniqueness for permissions across multiple envs
* fix: hasAccess handles *
* fix: update permission switch
* fix: use flag for environments rbac
* fix: do not include check all keys in payload
* fix: filter roles
* fix: account for new permissions in variants list
* fix: use effect on length property
* fix: set polling interval on user
* 4.5.0-beta.0
* fix: set initial permissions correctly to avoid race condition
* fix: handle activeEnvironment when it is null
* fix: remove unused imports
* fix: unused imports
* fix: Include missing project in hasAccess for deleteinng a tag
* fix: Move add/delete tag to use update feature permissions
* fix: use rest parameter
* fix: remove sandbox from scripts
* 4.6.0-beta.1
* fix: remove loading deduping
* fix: disable editing on builtin roles
* fix: check all
* fix: feature overview environment
* fix: refetch user on project create
* fix: update snaphots
* fix: frontend permissions
* fix: delete create confirm
* fix: remove unused permission
* 4.6.0-beta.4
* fix: update permissions
* fix: permissions
* fix: set error to string
* 4.6.0-beta.5
* fix: add permissions for project view
* fix: add permissions to useEffect deps
* fix: update permission for move feature toggle
* fix: add permissions data to useEffect
* fix: move settings
* fix: key on confetti
* fix: refetch project permissions on environment create/delete
* fix: optional coalescing error object
* fix: remove logging error
* fix: reorder disable importance in permissionbutton
* fix: add project roles to menu
* fix: add disabled check to revive
* fix: update snapshots
* fix: change text to select all
* fix: change text to select
* 4.6.0-beta.6
Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
Co-authored-by: sighphyre <liquidwicked64@gmail.com>
2022-01-14 15:50:02 +01:00
Fredrik Strand Oseberg
27988e4b30
Feat/environment strategies ( #339 )
...
* feat: strategies list
* feat: dnd
* fix: resolve reference issues
* feat: configure strategy wip
* feat: rearrange list
* feat: add debounce and execution plan
* feat: add separator
* feat: update strategy
* fix: feature strategy accordion key
* fix: localize parameter update logic
* feat: ts conversion
* fix: perf issues
* feat: production guard
* fix: clean up environment list
* fix: implement markup hooks for environment list
* feat: wip constraints
* fix: handle nested data structure reference issue
* fix: clone deep on child props
* fix: remove constraints check
* fix: revert to strategies length
* fix: refactor useFeature
* feat: cache revalidation
* fix: set correct starting tab
* fix: reset params on adding new strategy
* fix: refactor to use useSWR instead of local cache
* fix: check dirty directly from new params
* fix: dialogue ts
* fix: Clean-up typescript warnings
* fix: some more typescript nits
* feat: strategy execution
* feat: strategy execution for environment
* fix: refactor execution separator
* fix: remove unused property
* fix: add header
* fix: 0 value for rollout
* fix: update snapshots
* fix: remove empty deps
* fix: use constant for env type
* fix: use default for useFeatureStrategy
* fix: update snapshot
* Update src/component/feature/FeatureView2/FeatureStrategies/FeatureStrategiesEnvironments/FeatureStrategiesEnvironmentList/useDeleteStrategyMarkup.tsx
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
* Update src/component/feature/FeatureView2/FeatureStrategies/FeatureStrategyExecution/FeatureStrategyExecution.tsx
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
* Update src/component/feature/strategy/EditStrategyModal/general-strategy.jsx
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
Co-authored-by: UnleashTeam <79193084+UnleashTeam@users.noreply.github.com>
2021-09-27 13:35:32 +02:00
Ivar Conradi Østhus
f669f96d49
wip: frontend should understand rbac permissions ( #269 )
...
* chore: update changelog
* 4.0.0-alpha.4
* wip: frontend should understand rbac permissions
* move all feature components to hasAccess
* fix: remove all change permissions
* fix all the tests
* fix all the tests x2
* fix snapshot for node 12
* fine tune perms a bit
* refactor: rewrite to ts
* refactor: use admin constant
* fix: import
Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2021-04-20 19:13:31 +02:00