Repository navigation
Conversation
…from the installer Signed-off-by: Matheus de Jesus <matheus@codeatlas.com.br>
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.
Three Windows bugs behind "atlas update doesn't work and the CLI doesn't install", all reproduced on a Windows 11 machine.
1. alpha.24's app crashes at launch (release blocker)
failed to create webview: WebView2 error 0x8007139F, on every launch, even with a fresh WebView2 profile. The agent dock (#149,dock.rs) and the capture windows (shots/surface.rs) built their webviews withoutwebview_win::ARGS. WebView2 accepts one set of environment options per process, so the second set killed setup.ARGS.every_webview_builder_passes_the_shared_browser_argsscans every production webview builder. It fails on the shippeddock.rs(dock.rs:226) and passes with the fix.tauri build --no-bundle) installed over%LOCALAPPDATA%\Atlas, launched with the real profile: the app is up ("Atlas Dock" window), with no new panic in app.log. The same build without the fix panicked with the same error.2.
atlas updatecan't replace the appcannot move …\Atlas aside (is Atlas still running?), so the CLI was rolled back as well.desktop_windows::install_withrenamed the whole install folder, and Windows refuses that while any file in it is open. One always is: the bundledatlas.exerunning the update,atlas.exe hostd,atlas.exe mcpor the app itself.name.atlas-old-<pid>); Windows allows renaming a running image. Rollback renames back, success deletes them, and an in-use leftover is cleaned by the next run (recover).an_open_file_in_the_install_folder_does_not_block_the_updateholds a file open the way Windows holds a running exe. It asserts the folder really is unmovable, so the old code fails it.atlas mcprunning from the install folder,atlas desktop --sync(the exact step that failed) went 21 → 24, and so diddesktop --install. Both printed✓, and the hostd and mcp processes kept running.3. Installer-only users have no
atlascommandThe NSIS installer carries
atlas.exebut never put it on PATH. Newpackaging/windows/installer-hooks.nsh(NSIS_HOOK_POSTINSTALL) runs"$INSTDIR\atlas.exe" install(~/.atlas/bin, user PATH, bundled skills) only when~/.atlas/bin\atlas.exedoesn't exist yet. An existing, newer or linked CLI is never overwritten.Verification
clippy -D warningson atlas-cli and atlas-desktop; nextest on both (793 passed).Installer run (after the review)
A real NSIS installer built the CI way (
tauri build --bundles nsiswith theatlas.exeresource) was installed through the fixed path:atlas desktop --install --from <setup.exe>. Conditions: the installed app, its hostd and anatlas mcpall running, and no~/.atlas/bin/atlas.exe.NSIS_HOOK_POSTINSTALLcreated~/.atlas/bin/atlas.exe.The user's own CLI was restored afterwards. The command did not return to the shell, because the reopened app inherits the console's output handles. That is the known hang when a caller waits on a captured pipe (main has it too); a real terminal is unaffected.
Reopen attribution: Tauri's NSIS installer relaunches the app only with
/R(.onInstSuccess), andrun_installerpasses/S /D=only. So the relaunch observed above came fromdesktop_windows::openin this change.atlas updateitself was not run end to end with the fix. The step it failed at, theatlas desktop --syncit spawns, did run with the fix against the live install (21 → 24). A fullatlas updateneeds a published release that carries this change. The first one after merging is the real end-to-end check.