Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FeatureFlag feature #153

Closed
lxgr-linux opened this issue Oct 6, 2023 · 4 comments · Fixed by #162
Closed

FeatureFlag feature #153

lxgr-linux opened this issue Oct 6, 2023 · 4 comments · Fixed by #162
Labels
enhancement New feature or request

Comments

@lxgr-linux
Copy link
Member

I'm playing with the idea of adding a FeatureFlag service that enables us to switch on features via a governance vote on the chain just in time, when infrastructure in frontend/gameclient is build.

Concrete usecase:
Council overhaul can be build and merged into master and deployed.
Can be tested on testnet while frontend/gameclient are developed to have the gameclient boys not wait on cardchain pull requests.

When council is finished and working in testnet, council can just be switched on via governance.
This would reduce riscs of big PRs breaking production and reduces bigger PRs laying around for months.

@lxgr-linux lxgr-linux added the enhancement New feature or request label Oct 6, 2023
@lxgr-linux
Copy link
Member Author

@patrickwieth, thoughts?

@lxgr-linux lxgr-linux mentioned this issue Oct 6, 2023
6 tasks
@patrickwieth
Copy link
Member

The idea is good, one remark:

As far as I understand it, the idea is to have an abstraction that allows to switch off a feature that is build under this abstraction or on if desired. Now for the concrete example this means we can switch off or on the council as necessary. However in reality we do not really want to switch it on/off but rather switch between 2 different methods, which are council or instant pass. If the abstraction just deactivates a feature, then I would expect it just isn't used anymore and not replaced by something that does another action instead (which is necessary here to make sense).

So for the concrete example maybe just a parameter that is called skipCouncil might be sufficient. However if we find more uses for that FeatureFlag service, then it might make sense?

@lxgr-linux
Copy link
Member Author

The idea is good, one remark:

As far as I understand it, the idea is to have an abstraction that allows to switch off a feature that is build under this abstraction or on if desired. Now for the concrete example this means we can switch off or on the council as necessary. However in reality we do not really want to switch it on/off but rather switch between 2 different methods, which are council or instant pass. If the abstraction just deactivates a feature, then I would expect it just isn't used anymore and not replaced by something that does another action instead (which is necessary here to make sense).

So for the concrete example maybe just a parameter that is called skipCouncil might be sufficient. However if we find more uses for that FeatureFlag service, then it might make sense?

That's exactly how it was meant. No council would mean instant pass.

@patrickwieth
Copy link
Member

Good. Idea good. Other ideas, emotional daaamage.

@lxgr-linux lxgr-linux linked a pull request Oct 15, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
2 participants