Repository navigation
[codex] Add Windows portable install location picker - #8
Merged
Merged
Conversation
Wangnov
marked this pull request as ready for review
June 7, 2026 16:22
…fixes folded in) Lets Windows users choose where the portable Codex build installs, persisted across uninstalls. The backend gains a validated `install_root` (migrated from old settings) used across plan/stage/status/adopt/perform/uninstall; the UI adds a native folder picker (invoked through a Rust command), a Settings location row, and a fresh-install location sheet. Rebased onto main after the i18n PR (#7) merged, so the previously duplicated install-location strings now come from #7 only. The unused npm @tauri-apps/plugin-dialog dependency is dropped — the picker goes through a Rust command and nothing imports the JS binding (the Rust tauri-plugin-dialog stays). Review fixes folded in: - validate_install_root_path no longer creates the target directory to probe it (it probes the nearest existing ancestor), so selecting/resetting a location no longer leaves folders on disk; the dir is created at install time. - the chosen install root is persisted only AFTER a successful install, and the Browse flow is one-shot, so a failed/cancelled attempt keeps the saved default. - a managed portable build is gracefully closed before MSIX sideload, instead of potentially being left running after the switch. - uninstall and status use is_managed_build (path + build) like the macOS path, not path-only is_managed — safer now that the install root is user-configurable and paths can be reused. Co-authored-by: Wangnov <w15365132161@gmail.com>
Wangnov
force-pushed
the
codex/issue-6-portable-install-root
branch
from
June 7, 2026 17:31
912dfcd to
4a07ab0
Compare
Wangnov
added a commit
that referenced
this pull request
Jun 7, 2026
Ships the i18n (11 languages + Arabic RTL, #7) and Windows portable install location picker (#8) work on top of the released v0.1.0. Bumps all version sources in lockstep — package.json, package-lock.json, tauri.conf.json, Cargo.toml, Cargo.lock — so the built app version matches the v0.1.1 tag that drives latest.json (mismatch would loop the updater).
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.
What changed
installRootsetting with migration from oldersettings.jsonfiles.win_pick_install_dirandwin_set_install_rootcommands.Closes #6
Validation
npm run checknpm run buildcargo checkcargo testcargo test --manifest-path crates\codex-win-engine\Cargo.tomlcargo clippycargo clippy --manifest-path crates\codex-win-engine\Cargo.toml --target x86_64-pc-windows-msvc --all-targets -- -D warningsnpm run tauri:buildNotes