metamask-mobile
metamask-mobile copied to clipboard
[Force upgrade] Define app config schema for GitHub pages endpoint
Description
-
builds off the work in this PR
-
define the schema for app config object that will host the minimum app version and potentially other things
-
I suggest we change the name of this file from
minAppConfig.jsontoAppConfig.jsonor something that is more generic -
other suggestions were to add a feature flag field
-
the current endpoint is https://metamask.github.io/metamask-mobile/minAppConfig.json
Acceptance Criteria
- we can fetch the hosted json object and see all the fields
Process (adapt per story)
- [ ] User research / data
- [ ] Ideation / Kickoff in cross-functional team
- [ ] Pattern research in mobile (crypto / non-crypto space)
- [ ] Proof of concept to check technical feasibility (if applicable)
- [ ] Design reviews with PM, Engineer(s)
- [ ] User testing
- [ ] Design - Dev handoff
- [x] Implementation
- [x] Code review
- [ ] Stakeholder review on latest build on iOS and Android
- [ ] QA - unit test, e2e tests, regression testing
We could also consider using a GraphQl object to get better type support. This might be overkill since we would not benefit from the individual field fetching.
This is my proposed schema
changed the file name to appConfig.json with the following schema
{
"security": {
"app_minimum_build": 700,
"apple_minimum_os": 6,
"android_minimum_api_level": 21
},
"featureFlags": []
}
@sethkfman what do you think?
What you do think about adding a version? @owencraston
{
"security": {
"app_minimum_build": 700,
"apple_minimum_os": 6,
"android_minimum_api_level": 21
},
"featureFlags": [],
"version": "x.x.x"
}
for versioning I suggest we put them into folders like this
// metamask-mobile/AppConfig/v1/AppConfig.json
{
"security":{
"minimumVersions": {
"appMinimumBuild": 700,
"appleMinimumOS": 6,
"androidMinimumAPIVersion": 21
}
}
}