Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Firstly, nomenclature:
Changes:
get-ffmpeg
ICP channel.splash-setup-progress
channel.Right now, there are 2 types of interrupts: critical error and warning. Critical error will always close the program after being interacted with, while warning will do nothing. More types may be added in the future. Other options for interaction can also be specified.
Note that interrupts are a declarative format. The one requesting an interrupt is not the one actually performing the interrupt. This allows interrupts to work with both GUI and CLI. To switch from GUI dialogs to CLI prompts, we simply have to change the interrupt listener.
/python-info
JSON API call. This returns the python info of the current backend server. This python info is now used for borrowed backends.main/backend/setup.ts
.BackendProcess
interface, which makes it easy to abstract over how the backend was created./python-info
JSON API call. This returns the python info of the current backend server. This python info is now used for borrowed backends. This means that the correct python executable will be used for borrowed backend, which allows you to install/update deps from them with chainner's deps manager.--no-backend
. It will simply connect to the borrowed backend and that's it.Overall, I'm really happy with how this turned out. The new unified
BackendProcess
API made it easy to extract out the whole setup process into its own file, which mademain/main.ts
a lot simpler. The new progress API is also really simple and easy to use. The whole architecture aroundmain/main.ts
and the setup process feels a lot cleaner now.