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

6305 Commits

Author SHA1 Message Date
renovate[bot]
daad75ef9a
chore(deps): update dependency @types/nodemailer to v6.4.5 (#1892)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-05 17:39:04 +00:00
sjaanus
c99470ec4e Feat/groups refinements (#1197)
* Improvements

* Double icon for group

* Hide columns

* Refinements

* Refinements

* Reduce padding

* Add projectId

* Fixes

* Make useHiddenColumns component
2022-08-05 13:10:53 +00:00
Gastón Fournier
678e3f9c93
feat: add new standard errors (#1890)
* feat: add new standard errors for 404 and 409

Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2022-08-05 12:10:25 +00:00
renovate[bot]
2f011f3cc3
chore(deps): pin dependency unleash-client to 3.15.0 (#1887)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-05 13:57:41 +02:00
andreas-unleash
c7507c6887 PR comments 2022-08-05 12:20:35 +03:00
andreas-unleash
578c173e1d Merge remote-tracking branch 'origin/task/Add_strategy_information_to_playground_results' into task/Add_strategy_information_to_playground_results 2022-08-05 12:17:02 +03:00
andreas-unleash
33288caae4 PR comments 2022-08-05 12:16:51 +03:00
Thomas Heartman
98a6cd05c6
Feat(#1873): return 'unknown' for application hostname strategies (#1889)
The hostname strategy will not work correctly with the playground because it depends on external state. In its constructor, it tries to query the environment or use the os.hostname function to determine what its current hostname is. This means that no matter what the user does in the playground, they can’t affect the results of this strategy. It’s also unlikely that it will be true. And if it is, it probably won’t be true for their clients.

In theory, we could accept a hostname property on the Unleash context and use the provided hostname in the address. However, I’m afraid that it’ll make users think that they can impact the hostname strategy by setting the property on their context, when that doesn’t do anything outside of the playground. It would also make the playground evaluate things differently from a regular SDK and I’m not sure that that’s something we want.

Instead, this change to the API makes the feature evaluate to 'unknown' or `false` (depending on constraints).
2022-08-05 11:09:55 +02:00
Tymoteusz Czech
b063cfa180 Merge branch 'main' into task/Add_strategy_information_to_playground_results 2022-08-05 10:23:08 +02:00
Tymoteusz Czech
6eb3922741 Improve drag and drop on strategies (#1203)
* initial drag and drop improvements

* prevent oscillation when dragging strategies by handle
2022-08-05 07:54:15 +00:00
renovate[bot]
1278216247
chore(deps): update dependency @types/mime to v3.0.1 (#1891)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-05 01:36:54 +00:00
renovate[bot]
601765ef9d
fix(deps): update dependency unleash-frontend to v4.14.3 (#1888)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-04 17:54:31 +00:00
renovate[bot]
04f8b139b0 chore(deps): update dependency chart.js to v3.9.1 2022-08-04 17:01:38 +00:00
Fredrik Strand Oseberg
dca3db4adc Merge branch 'main' into task/Add_strategy_information_to_playground_results 2022-08-04 16:53:13 +02:00
Fredrik Oseberg
d2f86578eb 4.14.3 2022-08-04 16:45:34 +02:00
Fredrik Oseberg
3a22d99090 4.14.3-beta.0 2022-08-04 16:26:06 +02:00
Fredrik Strand Oseberg
6614b98322 chore: remove unused codemirror deps (#1202) 2022-08-04 16:24:13 +02:00
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