Closed Fohlen closed 7 years ago
very cool! Improvments could be to update not only the bin folder, but we could leave that for future updates.
Does it handle if there is a zip missing on github?
Very nice, what needs to be done now:
The interface should be in @inexor-game/flex Something like https://www.npmjs.com/package/request-progress could be used in the future. To answer your question: no, it is not. It should probably throw an error there, shouldn't it?
No, it should warn and go with the old state.
They release fetcher won't override existing files. I'll add validation check (checksum) for the future, to make sure everything wen't fine.
Imo the checks are basically needed from the beginning, otherwise errors are uncatched at the beginning. I know I sometimes ignore that rule as well :D but features can be "out of this scope" for PRs. But testing and functionality checks and error handling imo is necessary even for the initial thing.
I'm saying that since we had some headache recently to debug on remotes the media repositories and I'd say this was probably because of missing checks. sure, you cant prepare for every error ofc but if an error could be common we should check for it right away.
Small correction: the user interface should be in @inexor-game/ui-flex and is one of the user interfaces provided by Inexor Flex (others are: HUD, Menu, App).
For further information check out #402
@aschaeffer please add this somewhere else than this PR :laughing:
I don't think the code for fetching / updating releases should be in the code repository. It would be cleaner if the code repository contains C/C++ code only. The only necessary thing would be the package.json
. Fetching / updating releases should be located within Inexor Flex, where we can provide the commands for the Inexor Shell and a user interface for managing updates.
the package.json got recycled in #405 the rest is for flex
This PR add's a rudimentary release fetcher that does the following:
which should usually unpack Inexor Core from Flex's perspective, so that it can be ran.