1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
Commit Graph

6288 Commits

Author SHA1 Message Date
Nuno Góis
7f3a322809 fix: project access checkboxes (#1201) 2022-08-04 15:19:05 +01:00
andreas-unleash
478b94dab5 Merge remote-tracking branch 'origin/task/Add_strategy_information_to_playground_results' into task/Add_strategy_information_to_playground_results 2022-08-04 16:53:16 +03:00
andreas-unleash
8785c47ab4 improvement 2022-08-04 16:53:08 +03:00
Thomas Heartman
e55ad1a21e
feat(#1873/playground): Return detailed information on feature toggle evaluation (#1839)
* Feat: return reasons why a feature evaluated to true or false

Note: this is very rough and just straight ripped from the nodejs
client. It will need a lot of work, but is a good place to start

* Feat: add suggested shape for new payload

* Chore: minor cleanup

* Wip: make server compile again

* Remove unused schema ref

* Export new schemas

* Chore: fix some tests to use sub property

* Fix: fix some tests

* Refactor: rename some variables, uncomment some stuff

* Add segments type to bootstrap options

* Add segments capability to offline feature evaluator

* Fix function calls after turning params into an option abject

* Feat: test strategy order, etc

* Feat: add test to check that all strats are returned correctly

* Feat: allow you to include strategy ids in clients

* Wip: hook up segments in the offline client.

Note: compared to regular clients, they still fail

* Feat: add segments validation

* Fix: fix test case invariant.

* Chore: revert to returning only `boolean` from strategies.

This _should_ make it work with custom strategies too 🤞

* Feat: make more properties of the returned feature required

* Wip: add some comments and unfinished tests for edge cases

* Feat: add `isEnabledInCurrentEnvironment` prop

* Feat: consider more strategy failure cases

* Feat: test that isenabledinenvironment matches expectations

* Feat: add unknown strategies

* Fix: fix property access typo

* Feat: add unknown strategy for fallback purposes

* Feat: test edge case: all unknown strategies

* Feat: add custom strategy to arbitrary

* Feat: test that features can be true, even if not enabled in env

* Chore: add some comments

* Wip: fix sdk tests

* Remove comments, improve test logging

* Feat: add descriptions and examples to playground feature schema

* Switch `examples` for `example`

* Update schemas with descriptions and examples

* Fix: update snapshot

* Fix: openapi example

* Fix: merge issues

* Fix: fix issue where feature evaluation state was wrong

* Chore: update openapi spec

* Fix: fix broken offline client tests

* Refactor: move schemas into separate files

* Refactor: remove "reason" for incomplete evaluation.

The only instances where evaluation is incomplete is when we don't
know what the strategy is.

* Refactor: move unleash node client into test and dev dependencies

* Wip: further removal of stuff

* Chore: remove a bunch of code that we don't use

* Chore: remove comment

* Chore: remove unused code

* Fix: fix some prettier errors

* Type parameters in strategies to avoid `any`

* Fix: remove commented out code

* Feat: make `id` required on playground strategies

* Chore: remove redundant type

* Fix: remove redundant if and fix fallback evaluation

* Refactor: reduce nesting and remove duplication

* Fix: remove unused helper function

* Refactor: type `parameters` as `unknown`

* Chore: remove redundant comment

* Refactor: move constraint code into a separate file

* Refactor: rename `unleash` -> `feature-evaluator`

* Rename class `Unleash` -> `FeatureEvaluator`

* Refactor: remove this.ready and sync logic from feature evaluator

* Refactor: remove unused code, rename config type

* Refactor: remove event emission from the Unleash client

* Remove unlistened-for events in feature evaluator

* Refactor: make offline client synchronous; remove code

* Fix: update openapi snapshot after adding required strategy ids

* Feat: change `strategies` format.

This commit changes the format of a playground feature's `strategies`
properties from a list of strategies to an object with properties
`result` and `data`. It looks a bit like this:

```ts
type Strategies = {
  result: boolean | "unknown",
  data: Strategy[]
}
```

The reason is that this allows us to avoid the breaking change that
was previously suggested in the PR:

`feature.isEnabled` used to be a straight boolean. Then, when we found
out we couldn't necessarily evaluate all strategies (custom strats are
hard!) we changed it to `boolean | 'unevaluated'`. However, this is
confusing on a few levels as the playground results are no longer the
same as the SDK would be, nor are they strictly boolean anymore.

This change reverts the `isEnabled` functionality to what it was
before (so it's always a mirror of what the SDK would show).
The equivalent of `feature.isEnabled === 'unevaluated'` now becomes
`feature.isEnabled && strategy.result === 'unknown'`.

* Fix: Fold long string descriptions over multiple lines.

* Fix: update snapshot after adding line breaks to descriptions
2022-08-04 15:41:52 +02:00
andreas-unleash
41ead7d9d0 Merge branch 'main' into task/Add_strategy_information_to_playground_results 2022-08-04 16:27:14 +03:00
andreas-unleash
3ae57c4a18 Merge remote-tracking branch 'origin/task/Add_strategy_information_to_playground_results' into task/Add_strategy_information_to_playground_results 2022-08-04 16:25:54 +03:00
andreas-unleash
3c5c855fc5 custom strategies adjustments 2022-08-04 16:25:45 +03:00
Fredrik Oseberg
a71f564f8a 4.14.2 2022-08-04 15:13:29 +02:00
andreas-unleash
7696d7b0bc Merge branch 'main' into task/Add_strategy_information_to_playground_results 2022-08-04 15:50:16 +03:00
andreas-unleash
44f77c46c2 fmt 2022-08-04 15:49:41 +03:00
Tymoteusz Czech
b7de1fba52 Segment preview (#1194)
* segment preview

* fix: loading and font size inconsistencies

* update segment accordion styles
2022-08-04 14:44:18 +02:00
andreas-unleash
e3fcfb1318 improvements 2022-08-04 15:31:09 +03:00
andreas-unleash
22ab265db9 bug fix 2022-08-04 15:17:32 +03:00
andreas-unleash
4157de0230 Merge remote-tracking branch 'origin/task/Add_strategy_information_to_playground_results' into task/Add_strategy_information_to_playground_results 2022-08-04 15:17:27 +03:00
andreas-unleash
b32ab004c8 bug fix 2022-08-04 15:17:17 +03:00
andreas-unleash
97b0d76002 Merge branch 'main' into task/Add_strategy_information_to_playground_results 2022-08-04 15:03:21 +03:00
Nuno Góis
672a3f0b92 fix: group project access inconsistencies (#1178)
* fix: group project access inconsistencies

* fix relative path

* wip

* refactor: make project tabs work as routes

* refactor: finish refactoring project assign forms

* fix: update snaps

* fix: update snaps

* add some basic cypress e2e tests to groups

* add remaining cypress e2e tests for group CRUD

* add groups e2e to gh workflows

* refactor: simplify useMemo usage

* add GO_BACK navigate const

* fix: remove trailing slash on user creation request

Co-authored-by: olav <mail@olav.io>
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-08-04 12:57:25 +01:00
andreas-unleash
1b23124762 Merge branch 'main' into task/Add_strategy_information_to_playground_results 2022-08-04 14:53:05 +03:00
andreas-unleash
6e190834ff PR comments 2022-08-04 14:50:40 +03:00
andreas-unleash
c142975565 PR 2022-08-04 14:34:33 +03:00
olav
59c8822cf2 fix: validate feature strategy parameters (#1192)
* refactor: extract InputCaption component

* refactor: split up GeneralStrategy component

* refactor: fill inn more default feature strategy parameter values

* fix: validate feature strategy parameters

* refactor: fix duplicate keys in strategy icon list

* refactor: expand variable names

* refactor: remove unnecessary useMemo

* refactor: use captions instead of tooltips for boolean parameter descriptions

* refactor: improve strategy definition form spacing
2022-08-04 13:34:30 +02:00
andreas-unleash
f97213f188 PR 2022-08-04 14:30:21 +03:00
andreas-unleash
86d193619a Merge remote-tracking branch 'origin/task/Add_strategy_information_to_playground_results' into task/Add_strategy_information_to_playground_results 2022-08-04 14:27:45 +03:00
andreas-unleash
e36cb753de updated models to latest - refactoring 2022-08-04 14:27:30 +03:00
andreas-unleash
13a536904f Merge branch 'main' into task/Add_strategy_information_to_playground_results
# Conflicts:
#	src/component/common/StrategySeparator/StrategySeparator.tsx
2022-08-04 14:18:21 +03:00
andreas-unleash
2bd239f481 fmt and lint 2022-08-04 14:15:57 +03:00
Thomas Heartman
b406f67fb7 Docs(fix): fix formatting of docusaurus admonitions
They seem to have been broken by prettier
2022-08-04 11:11:10 +02:00
Tymoteusz Czech
0b93776db6 Update UI for strategies - segmentation and for mobile devices (#1189)
* fix: strategies rwd ui updates

* rwd updates to strategies

* add item numbers to strategies

* update strategy segmentation styles
2022-08-04 08:13:07 +00:00
olav
367d8a6a5a refactor: port event pages to TS (#1193) 2022-08-04 08:41:01 +02:00
renovate[bot]
cc9bef1d43 chore(deps): update dependency sass to v1.54.2 2022-08-04 05:38:40 +00:00
renovate[bot]
cd5e1a37d5
chore(deps): update storybook monorepo to v6.5.10 (#1885)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-04 04:58:18 +00:00
renovate[bot]
528d8c09f0 chore(deps): update dependency @testing-library/user-event to v14.4.1 2022-08-04 02:22:08 +00:00
renovate[bot]
789fc08152 chore(deps): update dependency sass to v1.54.1 2022-08-03 23:25:49 +00:00
sjaanus
d10c151dea Feat/groups refinement (#1190)
* Button for 0 groups

* Highlight name on exist

* Add hover to groups

* Change avatar size to 28px

* Add tooltip to project and fix error

* Fix tooltip

* Link to project, change to flex etc

* Reuse badges better

* Limit to max 50% width

* Refinements

* UI refinements

* Update

* Remove import

* Refinement fixes

* Refinement

* Refinement

* Refinement

* Star to star rounded
2022-08-03 18:57:48 +00:00
renovate[bot]
4486901a4b chore(deps): update dependency @codemirror/state to v6.1.1 2022-08-03 17:14:53 +00:00
andreas-unleash
0c475361a9 Merge branch 'main' into task/Add_strategy_information_to_playground_results 2022-08-03 17:52:12 +03:00
renovate[bot]
ebe7917d7b chore(deps): update dependency copy-to-clipboard to v3.3.2 2022-08-03 14:25:33 +00:00
andreas-unleash
2299eb9305 fmt and lint 2022-08-03 17:20:27 +03:00
andreas-unleash
f9d8c4a36a improvements 2022-08-03 17:18:03 +03:00
andreas-unleash
2858aae45e improvements 2022-08-03 16:46:12 +03:00
andreas-unleash
54def95727 improvements 2022-08-03 16:43:47 +03:00
andreas-unleash
d202818f42 Merge remote-tracking branch 'origin/task/Add_strategy_information_to_playground_results' into task/Add_strategy_information_to_playground_results 2022-08-03 16:35:06 +03:00
andreas-unleash
9da3448558 improvements 2022-08-03 16:34:56 +03:00
andreas-unleash
f62d8d4c35 Merge branch 'main' into task/Add_strategy_information_to_playground_results 2022-08-03 16:23:06 +03:00
andreas-unleash
787c5f317c improvements 2022-08-03 16:19:48 +03:00
andreas-unleash
76b33cdd11 bug fixes and linting 2022-08-03 14:54:13 +03:00
andreas-unleash
0d083231a3 parameter handling 2022-08-03 14:03:04 +03:00
Tymoteusz Czech
537bcdc1b7 fix: proper spacing and dividers between strategies (#1187)
* fix: proper spacing and dividers between strategies

* fix: improve strategy execution list logic

* update custom strategy execution styles

* interpret not defined custom strategy parameters
2022-08-03 09:23:57 +02:00
renovate[bot]
6bf0211140 chore(deps): update dependency vitest to v0.20.3 2022-08-03 05:30:36 +00:00
andreas-unleash
1a753a3bcb Merge branch 'main' into task/Add_strategy_information_to_playground_results 2022-08-03 07:13:42 +03:00