Comments (4)
Hi @avirogalsky, the general idea is that Unleash comes with a set of defined context fields. In addition the user may define their own, which can be attached as the properties map. These will also be available in the strategy implementation.
I am not sure if I understand what you are trying to achive by changing the implementation in to an interface?
from unleash-client-go.
Hi @ivarconr, 2 reasons:
- If it would be replaced by interface then custom strategies implementation may be much more flexible, like moving a function as part of context.
- I want to create an addon library for custom strategies by just implementing some interface, but now the Strategy interface depends on Context struct. So the addon library must be dependent on unleash-client-go and will to be updated each time we will want to update unleash-client-go library.
from unleash-client-go.
@avirogalsky I can see how using an interface instead of a struct would give you more flexibility here, but I don't think we could make this change in the v3
branch because it would break compatibility for existing custom strategies that use the struct. We have a branch called wip/v4
where we have been putting some changes that would break API compatibility, but it has not been updated in some time. If you decide to create a PR, I would recommend targeting that branch.
I think we would like to release the v4 client in conjunction with the v4 server to avoid confusion, but I'm not sure what the current status is for the v4 server. Perhaps @ivarconr has some comments on that.
from unleash-client-go.
Thanks @jrbarron, indeed breaking API in v3
is a bad idea.
I will get back to it once the v4 will be more relevant.
from unleash-client-go.
Related Issues (20)
- Is there a way to get all the feature flags for a project, not just one at a time? HOT 2
- Proposal: be more strict about WithListener HOT 4
- Implement Global Segments
- (Feature Request) Enable passing api.Feature instead of a string to an alternative of IsEnabled HOT 12
- Update link to GoDoc HOT 2
- openfeature HOT 2
- infinitely blocked in metrics.count with gitlab HOT 3
- Back-off strategy for calling Unleash HOT 2
- Missing v3.9.0 Release Notes HOT 1
- Return variant and feature enabled from a single method HOT 5
- WithVariantFallback and WithVariantFallbackFunc are called when feature isn't found HOT 3
- Avoid fetching feature again in GetVariant HOT 4
- Add Type to api.Feature HOT 1
- Expose admin API HOT 1
- fix: GetVariant does not accept custom context HOT 1
- Publicly expose the default Strategies for faster and more advanced Strategies. HOT 2
- Unleash context in readme direct to 404 HOT 1
- Why is not options passed when calling GetVariant? HOT 1
- Missing testdata results in failed build HOT 3
- Not able to set Environment in Client HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unleash-client-go.