feat(tui,mobile): add Extra Dependencies installer + fix SDK script i…#42
Open
awrobel-gd wants to merge 1 commit into
Open
feat(tui,mobile): add Extra Dependencies installer + fix SDK script i…#42awrobel-gd wants to merge 1 commit into
awrobel-gd wants to merge 1 commit into
Conversation
…dempotency Settings → Extra Dependencies: a section listing on-demand provisioning scripts (currently the mobile SDKs) with their versions and a one-click Install button that streams progress/logs. Installing runs the in-image script via `docker exec` into the backend container, so the script stays the single source of truth for what gets installed. - tui/extra_deps.py: data model (ExtraDependencyScript catalog); adding another installer is a single entry (Open/Closed). - local_env.exec_in_backend(): streamed `docker exec <backend> ...` helper, reusing the existing subprocess streamer. - SettingsScreen: new section, Install handler, output log; refuses early when containers are down. Also fix init-mobile-sdk.sh idempotency: the Android/Flutter "already done?" checks keyed on the FIRST artifact each block creates (sdkmanager binary / flutter checkout), both of which exist before licenses + the heavy package install run. A failure mid-install left the component looking done, so a re-run skipped it instead of finishing it. Switch to a completion-marker written only after all steps succeed; `set -e` guarantees a partial run leaves no marker and is retried in full, while the heavy downloads stay internally guarded so a retry reuses what's present. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
cc85a42 to
81f57df
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
…dempotency
Settings → Extra Dependencies: a section listing on-demand provisioning scripts (currently the mobile SDKs) with their versions and a one-click Install button that streams progress/logs. Installing runs the in-image script via
docker execinto the backend container, so the script stays the single source of truth for what gets installed.docker exec <backend> ...helper, reusing the existing subprocess streamer.Also fix init-mobile-sdk.sh idempotency: the Android/Flutter "already done?" checks keyed on the FIRST artifact each block creates (sdkmanager binary / flutter checkout), both of which exist before licenses + the heavy package install run. A failure mid-install left the component looking done, so a re-run skipped it instead of finishing it. Switch to a completion-marker written only after all steps succeed;
set -eguarantees a partial run leaves no marker and is retried in full, while the heavy downloads stay internally guarded so a retry reuses what's present.