open-feature / spec

OpenFeature specification
https://openfeature.dev
Apache License 2.0
595 stars 35 forks source link

First class client-side support in OpenFeature spec #167

Closed toddbaert closed 11 months ago

toddbaert commented 1 year ago

This is a high level issue where I'll try to collect various settled and ongoing discussions pertaining to improvements to OpenFeature for use in client applications.

Required functionality

Below are some features that may need to be specified for effective client usage, many of which are also valuable on the server. I've checked discussions which are mostly settled, and left unchecked topics which I believe are still in contention. I will strike out (like ~this~) features that we don't believe should be implemented.

Open questions

Below are some open questions that will inform, and be informed by the required functionality above.

justinabrahms commented 1 year ago

These are notes on mobile use-cases: https://github.com/open-feature/ofep/issues/34

toddbaert commented 1 year ago

We had a few takeaways from our Jan20 client-side meeting:

Key Takeaways:

  • Investigate “partial context updates”

I think this might be achieved reasonably as described here

  • Investigate whether completely removing the “client” abstraction from the spec in single context mode is possible/optimal
  • Investigate need for a new “reason” (or other solution) to indicate if evaluated flags are “stale” or “non-authoritative” before providers have updated their cache

I think this is something we'll want. I've added a STALE reasons to the spec PR in question.

  • Create a refined document/summary that we could provide to vendors and get feedback/buy-in on

I will work with @moredip on this.