1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-28 00:06:53 +01:00
Commit Graph

6572 Commits

Author SHA1 Message Date
andreas-unleash
90685cef22 improvements 2022-08-08 13:53:28 +03:00
andreas-unleash
3b2947e9af Merge remote-tracking branch 'origin/task/Add_strategy_information_to_playground_results' into task/Add_strategy_information_to_playground_results
# Conflicts:
#	src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/PlaygroundResultFeatureStrategyList/PlaygroundResultStrategyList/PlaygroundResultFeatureStrategyItem/PlaygroundResultFeatureStrategyItem.tsx
2022-08-08 13:46:38 +03:00
andreas-unleash
f057bbfd61 style fix 2022-08-08 13:46:11 +03:00
andreas-unleash
b6fb26deba Merge pull request #1206 from Unleash/fix/playground-results-styles
Fix: playground results styles
2022-08-08 13:41:08 +03:00
sjaanus
7c00b760f8 New project page header (#1207)
* Added new layout

* Fixes
2022-08-08 09:59:36 +00:00
Tymoteusz Czech
b32b751f2c update custom strategy params from feature branch 2022-08-08 11:41:35 +02:00
Tymoteusz Czech
6bf05d89e7 fix react key warning 2022-08-08 11:36:33 +02:00
Tymoteusz Czech
1620d72c8f rename files related to playground 2022-08-08 11:23:37 +02:00
Tymoteusz Czech
d013475538 fix formatting - prettier 2022-08-08 11:23:37 +02:00
Tymoteusz Czech
e432ae45e0 update strategy border for playground 2022-08-08 11:20:47 +02:00
Tymoteusz Czech
85858cf11f refactor strategy item component for reuse
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-08-08 11:20:46 +02:00
andreas-unleash
e75f03b8f2 fmt fix 2022-08-08 12:16:53 +03:00
andreas-unleash
ceb7d2e3cc Parameters Bug fix 2022-08-08 11:38:36 +03:00
Gastón Fournier
d4b9ca443c
feat: change log level for OpenAPI to debug (#1895) 2022-08-08 08:27:53 +00:00
andreas-unleash
ff33308d8e Parameters Bug fix 2022-08-08 10:42:45 +03:00
sjaanus
c978ed6c6b Update messages in the dialogs for groups (#1208)
* Update messages

* Refinement
2022-08-08 06:08:21 +00:00
sjaanus
c37cbb1819
Add seen to groups (#1894) 2022-08-08 06:02:40 +00:00
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