-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Problem
In Group Income, we have GI_VERSION and CONTRACTS_VERSION, which are used for various things, such as to display them to users and to attempt to reload the app and update the service worker.
There are a few issues with this transitioning to chel serve:
- The first issue is naming:
GI_VERSIONis a reference to Group Income, which may not be relevant for other apps. This can be solved trivially by renaming it to something likeAPP_VERSION - The second issue is how
GI_VERSIONis set. Currently, this comes frompackage.json, which again may not be relevant for other apps. One way to address this is already part of feat: implement chel DX #64 (not merged at the time of writing), which addschelonia.jsonwith contract versions. The app version could, for example, be defined there. Aschelgets more general and we have app manifests, the app version could be part of the app manifest. Possibly the entire app manifest can be exposed to clients, since it shouldn't have any sensitive information. - The third issue, and one for which again feat: implement chel DX #64 is relevant, is that
CONTRACTS_VERSIONcurrently works on the assumption that there's a singleCONTRACTS_VERSION(i.e., all contracts have the same version, which is due to how contract pinning currently works). However, the goal is having contract versions be separate and possibly unique to each contract, in which case there would be multiple contract versions. This requires both modifying the way the backend works so that the different versions can be exposed and modifying Group Income such that versions are handled per contract instead of globally.
Solution
- Rename
GI_VERSIONto something more generic - Implement a way to expose the app version (aka
GI_VERSION) in a generic way that doesn't rely onpackage.json - Implement a way to expose per-contract versions and modify GI accordingly to support this
Metadata
Metadata
Assignees
Labels
No labels