Jaanus Sellin
3acb3ad2c2
feat: upgrade from react v17 to v18 ( #7265 )
...
**Upgrade to React v18 for Unleash v6. Here's why I think it's a good
time to do it:**
- Command Bar project: We've begun work on the command bar project, and
there's a fantastic library we want to use. However, it requires React
v18 support.
- Straightforward Upgrade: I took a look at the upgrade guide
https://react.dev/blog/2022/03/08/react-18-upgrade-guide and it seems
fairly straightforward. In fact, I was able to get React v18 running
with minimal changes in just 10 minutes!
- Dropping IE Support: React v18 no longer supports Internet Explorer
(IE), which is no longer supported by Microsoft as of June 15, 2022.
Upgrading to v18 in v6 would be a good way to align with this change.
TS updates:
* FC children has to be explicit:
https://stackoverflow.com/questions/71788254/react-18-typescript-children-fc
* forcing version 18 types in resolutions:
https://sentry.io/answers/type-is-not-assignable-to-type-reactnode/
Test updates:
* fixing SWR issue that we have always had but it manifests more in new
React (https://github.com/vercel/swr/issues/2373 )
---------
Co-authored-by: kwasniew <kwasniewski.mateusz@gmail.com>
2024-06-11 13:59:52 +03:00
Christopher Kolstad
53354224fc
chore: Bump biome and configure husky ( #6589 )
...
Upgrades biome to 1.6.1, and updates husky pre-commit hook.
Most changes here are making type imports explicit.
2024-03-18 13:58:05 +01:00
Fredrik Strand Oseberg
f381718fd6
fix: icon imports ( #6499 )
...
Based on this article:
https://mui.com/material-ui/guides/minimizing-bundle-size/ importing
from `'@mui/icons-material'` instead of specifying the actual path to
the icon like `import Delete from '@mui/icons-material/Delete';` can be
up to six time slower. This change changes all named imports in Unleash
referencing the `@mui/icons-material` to default imports.
This reduced the amount of modules we had to process when building the
frontend from 15206 to 4746
Before:
<img width="1016" alt="Skjermbilde 2024-03-11 kl 14 19 58"
src="https://github.com/Unleash/unleash/assets/16081982/f137d24a-6557-4183-a40f-f62a33524520 ">
After:
<img width="1237" alt="Skjermbilde 2024-03-11 kl 14 20 32"
src="https://github.com/Unleash/unleash/assets/16081982/05a27d6a-2c3f-4409-9862-7188ab4b9c72 ">
Build time locally decreased by around 50%
Before:
<img width="1504" alt="Skjermbilde 2024-03-11 kl 14 31 45"
src="https://github.com/Unleash/unleash/assets/16081982/bc931559-b022-47ed-9f8f-c87401578518 ">
After:
<img width="1219" alt="Skjermbilde 2024-03-11 kl 14 27 00"
src="https://github.com/Unleash/unleash/assets/16081982/3c3a8d6b-576d-45c3-aa40-cc5f95d9df2b ">
2024-03-12 10:56:10 +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.
![image](https://github.com/Unleash/unleash/assets/14320932/1906faf1-fc29-4172-a4d4-b2716d72cd65 )
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
Nuno Góis
73b4ae18c1
feat: responsive strategy icons ( #4121 )
...
https://linear.app/unleash/issue/2-1167/multiple-strategies-breaking-the-environment-card
https://linear.app/unleash/issue/2-1179/buttons-have-an-extra-space-if-the-icon-its-not-visible
This fixes the broken UI when we have too many strategies.
Before:
<img width="1500" alt="image"
src="https://github.com/Unleash/unleash/assets/14320932/ddf2f636-965c-4527-b879-dba5c16d9630 ">
After:
<img width="1303" alt="image"
src="https://github.com/Unleash/unleash/assets/14320932/852c20c9-c5f4-4aa5-b8c0-e5bc5286c572 ">
We also added the new strategy type to the tooltips:
<img width="519" alt="image"
src="https://github.com/Unleash/unleash/assets/14320932/117ee00f-f2a7-4ecb-8596-44486a2870a2 ">
<img width="422" alt="image"
src="https://github.com/Unleash/unleash/assets/14320932/4281a48c-4b6e-4100-86e2-29dfe9ce4cec ">
This also fixes an extra margin we caught on our `PermissionButton` when
it had no endIcon set.
Co-authored by: @daveleek
---------
Co-authored-by: David Leek <david@getunleash.io>
2023-06-29 18:01:27 +01:00
Tymoteusz Czech
02ca60511f
Splitted strategy button ( #4025 )
...
## About the changes
![image](https://github.com/Unleash/unleash/assets/2625371/afaaaedf-4539-4a0b-a0fb-916d858ac6d3 )
https://linear.app/unleash/issue/1-1038/strategy-creation-split-into-two-buttons
2023-06-21 15:26:07 +02:00
Mateusz Kwasniewski
a54d53a117
added contraints checking in change request permissions ( #2690 )
2022-12-14 13:00:51 +01:00
Mateusz Kwasniewski
cb0398ca63
loosen permissions for change requests ( #2682 )
2022-12-14 10:00:14 +01:00
Fredrik Strand Oseberg
b9db7952fb
feat: add permission buttons for change requests ( #2392 )
...
* Adds permission buttons for change requests
2022-11-11 11:04:59 +01:00
olav
69171a75a7
refactor: improve button label markup ( #1091 )
...
* refactor: improve button label markup
* refactor: remove misused tooltip roles
* refactor: simplify FeatureStrategyIcon labelling
* refactor: simplify labels for disabled buttons
* refactor: add missing switch input labels
2022-06-17 11:27:54 +02:00
olav
9902494f58
refactor: improve tooltip styles after MUI update ( #966 )
...
* refactor: add missing event arg type
* refactor: fix project card popup position
* refactor: add tooltip arrows
* refactor: update snapshot
* refactor: add missing tooltips
* refactor: use a custom Autocomplete size in AutocompleteBox
2022-05-09 15:17:20 +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
Tymoteusz Czech
23a874d051
Refactor: convert jsx files to typescript ( #881 )
...
* refactor: convert remaining js files to typescript
* refactor: conditionally render remove index
* refactor: dialog component to tsx
* refactor: migrate some files from jsx to tsx
* refactor: convert dropdown element to tsx
* refactor: feature toggle list to tsx
* refactor: update context name in use overrides
* refactor: variant overrides to tsx
refactor: remove unused strategy constraint file
* fix: tsx imports
* fix: update refectored components after rebase
* refactor: rename report list files to tsx
* fix: project health list types
* refactor: addon form - add types
* refactor: copy feature component types
* fix: projects toggle style after tsx refactor
* refactor: update ts types from openapi
* fix: ts refactor changes after review
* fix: header title prop
* fix: update after PR comments
* add test to useoverrides hook
* fix conditionally render time ago
* fix: toggle list empty tooltip
* fix: remove unused variable
* remove unused variable
* fix: remove faulty snapshot
2022-05-02 12:52:33 +02:00
olav
2e5e25bfe5
refactor: improve icon labels and tooltips ( #884 )
2022-04-21 08:26:49 +02: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
ab4efe0837
refactor: remove unused tooltip prop ( #769 )
...
* refactor: remove unused tooltip prop
* refactor: fix PermissionButton base props
* refactor: sync yarn.lock
* refactor: fix unused ts-expect-error
2022-03-09 10:13:50 +01:00
olav
b3bf86ca84
refactor: expect existing TS errors ( #767 )
...
* refactor: expect existing TS errors
* refactor: fail build on new TS errors
2022-03-03 10:01:04 +01:00
Youssef
b58cccc7d0
fix: merge conflicts
2022-02-25 15:28:38 +01:00
Youssef Khedher
a3f439ea17
Merge branch 'main' into fix/ui-consistency
2022-02-25 13:54:11 +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
Youssef
5371e15333
refactor: change resourceCreateButton and SaveChangesButton name
2022-02-24 09:23:07 +01:00
Youssef
b0ba4f3a9d
fix: remove tooltips
2022-02-23 13:45:37 +01:00
Youssef Khedher
be3a26529a
feat: update dialog to accept permissions ( #627 )
...
* feat: update dialog to accept permissions
* refactor: make dialog component accept permission button
* fix: remove unused dependencies
* fix: update button permissions
Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-01-26 10:58:35 +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
57928d50c6
Fix/environment list sorting ( #447 )
...
* fix: wait for api call before refetching
* fix: set active environment from feature instead of cache
* fix: remove console logs
* fix: add permission icon button to project card
* fix: remove project button
* fix: empty tooltip if it is not passed
* fix: add refresh interval
* fix: permission buttons
* fix: project permission buttons
* fix: remove unused imports
* fix: add projectId
2021-10-20 12:05:44 +02:00
Fredrik Strand Oseberg
37b818fce4
Feat/feature toggle view tags ( #399 )
...
* feat: new tags
* feat: archive
* wip: variants
* add support for deletion, variable/fixed weight toggle and weight editing
* Add confirmation dialogue for deleting variants
* feat: settings
* fix: recalculate on project name change
* feat: feature environment metrics
* feat: environment
* Add toggle for stale
* fix: refetch on create strategy
* fix: lint
* fix: update snapshots
* fix: add link to icon button
* fix: revert test user
* fix: increase size!
* fix: use permission attr for ResponsiveButton
* fix: dev dependency
* fix: theme
* fix: stale style
* Update src/component/feature/FeatureView2/FeatureSettings/FeatureSettingsMetadata/FeatureTypeSelect/FeatureTypeSelect.tsx
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
* Update src/component/feature/FeatureView2/FeatureVariants/FeatureVariantsList/FeatureVariantsList.tsx
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
* Update src/component/feature/FeatureView2/FeatureVariants/FeatureVariantsList/FeatureVariantsListItem/useDeleteVariantMarkup.tsx
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
Co-authored-by: Christopher Kolstad <git@chriswk.no>
2021-10-08 11:23:29 +02:00