Tymoteusz Czech
d2a4763eaa
fix: frontend variant weights distribution ( #4347 )
...
## About the changes
Unit-tested way of distributing weights between variants.
2023-07-26 16:08:11 +02:00
Mateusz Kwasniewski
56d5579b89
feat: Strategy variants stickiness ( #4250 )
2023-07-17 13:58:54 +02:00
Mateusz Kwasniewski
99d63cff33
feat: strategy variant UI spike ( #4246 )
2023-07-14 14:28:02 +02:00
Jaanus Sellin
bacb73667a
feat: add UI to variant metrics ( #3697 )
2023-05-08 10:15:26 +00:00
Nuno Góis
4d1a004b5d
feat: adds CR to variants per env UI ( #2989 )
...
https://linear.app/unleash/issue/2-585/add-cr-to-variants-per-environment-ui
Adds CR to the variants per environment UI. This is basically the point
where we have CRs integrated but can e.g. only update the weight once
per CR. Adapting the UI to better fit CR logic will come next.
![image](https://user-images.githubusercontent.com/14320932/214563512-664a432f-f2eb-49f7-9721-cbd6785a9320.png )
2023-01-25 14:10:35 +00:00
Gastón Fournier
70d8f9e58a
feat: add warning hints on potential misconfiguration ( #2948 )
...
## About the changes
Add warnings when we detect something might be wrong with the customer
configuration, in particular with regard to variants configuration
## Rationale
Moving from variants per feature to variants per environment will allow
users to have fine-grained permissions and more control over variants on
different environments: #2254
But because this requires an additional step of copying variants to
other environments, we identified the potential risk of users forgetting
to follow this step. To keep them informed about this, we're introducing
a warning sign after a toggle is enabled when we detect that:
1. The environment is enabled without variants
2. Other enabled environments have variants
This situation would be a problem if you rely on `getVariant` method
from the SDK, because without variants you'll receive the default
variant. Probably, not what you'd expect after enabling the toggle, but
there are situations where this might be correct. Because of the latter,
we thought that adding a warning and letting the user handle the
situation was the best solution.
## UI sketches
![image
(6)](https://user-images.githubusercontent.com/455064/213676353-112639f0-7781-42c0-8c9d-8c7eba316bae.png )
![Screenshot from 2023-01-19
08-55-10](https://user-images.githubusercontent.com/455064/213664639-7b11ff4b-048a-4a36-aa71-7df2f889adff.png )
Co-authored-by: Nuno Góis <github@nunogois.com>
2023-01-20 18:09:01 +01:00
Tymoteusz Czech
79e96fdb98
feat: favorite feature and project ( #2582 )
...
## About the changes
Add an ability to star a toggle from it's overiew.
Co-authored-by: sjaanus <sellinjaanus@gmail.com>
2022-12-02 09:16:03 +02:00
Tymoteusz Czech
ef6ec4a83b
Favorite features on project ( #2580 )
2022-12-01 13:10:42 +01:00
Nuno Góis
93bd9d869a
Variants per environment (frontend) ( #2453 )
...
![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.
2022-11-18 11:43:24 +00:00
Nuno Góis
1ddc46011c
Feature toggles: Filtering by tags ( #2396 )
...
https://linear.app/unleash/issue/UNL-140/experiment-with-filtering-feature-toggles-by-tags-on-the-ui
Going with a naïve approach for now, tags can be searchable the same way
we search for text. The tags column only shows up if at least one toggle
has tags set. There's a simple highlightable component that lets us know
a match was found and then shows all the tags on a tooltip:
<img width="1289" alt="image"
src="https://user-images.githubusercontent.com/14320932/201155093-b8605ff2-5bf7-45c5-b240-a33da254c278.png ">
2022-11-15 10:24:36 +00:00
olav
eb5e83cdb4
refactor: remove unused code ( #1036 )
...
* refactor: remove unused code
* refactor: remove more unused code
2022-05-27 13:28:58 +02:00
olav
24c11332b5
chore: update MUI to v5 ( #923 )
...
* refactor: update mui packages
* refactor: run mui codemods
* refactor: format files after codemods
* refactor: fix broken types
* refactor: clean up theme
* refactor: fix broken tests
* refactor: replace @mui/styles with tss-react
* refactor: move breakpoints into classes for tss
* refactor: fix crash on missing feature description
* refactor: remove void classNames
* refactor: adjust styles to new defaults
* refactor: remove broken rollout slider e2e test
* refactor: fix duplicate e2e testid
* refactor: update makeStyles after rebase
* refactor: add missing snapshot after rebase
* refactor: fix TableCellSortable focus styles
* refactor: use 1.4 as the default line-height
* refactor: hide webkit search field icons
* refactor: fix select box label
* refactor: make AutocompleteBox smaller
* refactor: make heading smaller
* refactor: fix toast close icon color
* refactor: update snapshots
* refactor: add missing test event awaits
* refactor: fix default button line-height
2022-05-02 15:52:41 +02:00
olav
a088866124
refactor: port some things to TS ( #843 )
...
* 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
2022-04-06 12:22:24 +02:00
olav
b9a3be7b3a
refactor: fix misc TS errors ( #754 )
...
* refactor: fix PermissionSwitch event types
* refactor: fix variant payload field name
* refactor: fix IPermissionSwitchProps extension
* refactor: add missing types in AddFeatureVariant
* refactor: remove duplicate type
* refactor: fix FeatureToggleListNewItem ref type
* refactor: fix CreatedAt date prop type
* refactor: add missing anchorEl ref types
* refactor: fix createdAt prop value
* refactor: fix IFeatureToggleListNewItemProps environments prop type
* refactor: add missing ISelectOption type
* refactor: fix ResponsiveButton prop types
2022-03-01 13:22:47 +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
33b5e4abac
feat: add new feature metrics page ( #716 )
...
* refactor: ensure that [hidden] overrides other display styles
* refactor: use numeric font weights
* refactor: remove unnecessary Jest mock
* refactor: add a fullWidth prop to GeneralSelect
* refactor: remove unnecessary label id prop
* refactor: the showActive prop is optional
* refactor: add hooks for managing query string state
* refactor: add a hour/minute timestamp formatter
* refactor: add labels to button icons
* feat: add new feature metrics page
* refactor: remove prev feature metrics page
* refactor: use new metric boxes on overview page
* refactor: lazy-load the new metrics page
* refactor: fix type error when formatting unknown error
* refactor: extract interfaces for props
* refactor: destructure all props
* refactor: expand arg names
* refactor: reorg component dirs and files
* refactor: improve chart element label
* refactor: hide chart dots until hover
* refactor: add section titles to environments/applications
* refactor: simplify FeatureMetricsHours types
* refactor: sort chart tooltip items
* refactor: add more chart labels
* refactor: always show a dot in single point charts
* refactor: improve chart tooltip styles
* refactor: adjut metric page spacing
* refactor: decrease legend box size
* refactor: move date fmt fn inline
* refactor: improve chart legend styles
* refactor: increase Cypress timeouts
* refactor: sort environment and application chips
* refactor: format files
* refactor: use stable lists of apps and envs
* refactor: fix FeatureMetrics dir name
* refactor: avoid ScrollToTop on query string change
* refactor: use ConditionallyRender instead of inline condition
* refactor: use makeStyles instead of styled API
2022-02-21 13:47:54 +01:00
olav
016633dae9
refactor: format files ( #719 )
...
* refactor: fix deprecated prettier config name
* refactor: add fmt scripts
* refactor: check fmt during CI
* refactor: format files
2022-02-18 09:51:10 +01:00
olav
46bf92124d
refactor: remove unused code ( #721 )
2022-02-18 08:26:26 +01:00
olav
ff8d983d7e
refactor: port FeatureToggleList to TS/SWR ( #663 )
...
* refactor: remove unused FeatureToggleListItemChip
* refactor: remove unused archive.module.scss
* refactor: remove unused ShowArchive route
* refactor: port FeatureToggleList to TS/SWR
* refactor: fix IUseFeaturesOutput interface prefix
* refactor: remove unnecessary pages files
* refactor: persist the features sort/filter state
* refactor: format files
* refactor: fix FeatureToggleListContainer file name
* refactor: fix arrow function syntax
* refactor: improve storage helper comments
2022-02-08 12:06:25 +01:00
Youssef Khedher
899a0f330e
feat: add impressionData switch to create feature form ( #639 )
...
* feat: add impressionData switch to create feature form
* fix: update text
* fix: styling
* fix: conflict
* fix: update link
* fix: remove unused styles
Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-02-03 12:39:43 +01:00
Ivar Conradi Østhus
edd6706ffe
fix: new create toggle page
2021-10-15 14:16:17 +02:00
Ivar Conradi Østhus
95221e7b6b
fix: adjust env switch a bit
2021-10-15 12:49:14 +02:00
Ivar Conradi Østhus
d42d412bc8
fix: make toggle list sortable inside a project ( #436 )
...
* fix: make toggle list sortable inside a project
* fix: minor cleanup
2021-10-15 11:20:14 +02:00
Christopher Kolstad
4230fc98ed
Feat/new metrics tab ( #432 )
...
* New metric tab if environment flag is active
* Prepare new metrics tab - need styling help!!
2021-10-15 10:05:10 +02:00
Christopher Kolstad
8a9dc32bad
Create hook for fetching featureMetrics ( #414 )
...
* Create hook for fetching featureMetrics
2021-10-13 10:20:34 +02:00
Ivar Conradi Østhus
6fc30d3a79
feat: add feature status ( #403 )
...
* feat: add feature status
* fix: use feature status in project feature list
* fix: text size
* fix: project view
* fix: padding
* fix: lint
* fix: snapshots
* fix: text size
* fix: snapshots
* fix: size
* fix: revert size
* fix: update snapshots
Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2021-10-08 15:18:43 +02: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
Fredrik Strand Oseberg
92f3f8af08
Feat/environment crud ( #335 )
...
* feat: add env
* fix: create environment form
* feat: create environment
* feat: add deletion protection
* fix: lift up state
* feat: add ability to update environment
* fix: remove env reset
* fix: remove link
* feat: add drag and drop sorting
* fix: remove unused imports
* feat: add methods to toggle env on/off
* feat: only make api call on drop
* fix: disabled text
* fix: add disabled indicator
* fix: add edit env payload
* fix: add E flag
* fix: cleanup
* fix: update snapshots
* fix: remove useFeature
* fix: change property to errorText
* fix: update tests
* fix: change menu
* fix: update snapshots
* feat: toggle view v2
* fix: handle error on sort order api call
* fix: remove unused import
* fix: useFeature
* fix: update tests
* fix: console logs
* fix: use try catch
* fix: update snapshots
2021-09-14 14:20:23 +02:00
Fredrik Strand Oseberg
85a7c55fdf
Feat/group by projects ( #308 )
...
This PR adds support for projects as a first class citizen, and toggling features on in different environments.
2021-07-07 11:04:36 +02:00