fix: pin Windows install modes and correct the Windows 11 instructions - #32
Merged
Conversation
Part A corrects the Windows 11 install and build instructions and pins the installer behavior they promise in tauri.conf.json, rather than inheriting it from Tauri defaults that a minor bump could change. Part B designs the first secret storage in Toril, ahead of the AI layer (ROADMAP Movement IV) that will consume it. Records why system environment variables and SOPS were both rejected in favor of the OS keychain, and locks the central invariant: no getter command, so an API key never crosses into the webview. Both new dependencies checked against crates.io per CLAUDE.md §2 — keyring 4.1.5 and zeroize 1.9.0, neither deprecated nor yanked. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…t store Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…tructions tauri.conf.json had no `bundle.windows` key at all, yet CLAUDE.md §9 asserted `webviewInstallMode` was configured. Behavior was correct only by inheritance from Tauri's defaults, so the README's "installs per-user, no administrator prompt" promise had nothing pinning it — a minor bump flipping installMode to `both` would make the docs false with no gate going red. Set both keys explicitly and record why in §9. README: the Windows section omitted three Win11 realities — mark-of-the-web unblocking, Smart App Control (24H2+) blocking outright with no "Run anyway" unlike SmartScreen, and that registering file associations is not the same as becoming the default handler now that Win11 dropped the one-click prompt. "Building from source" opened with `pnpm install` while never mentioning Rust, Node, or pnpm, and named MSVC without the "Desktop development with C++" workload that the link step actually requires. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Why
Reviewing the Windows 11 install instructions for accuracy turned up one real defect and three omissions.
CLAUDE.md§9 documented a setting that does not exist. It assertsbundle.windows.webviewInstallMode = "downloadBootstrapper"is configured.tauri.conf.jsonhad nobundle.windowskey at all. Behavior was still correct, becausedownloadBootstrapperandinstallMode: "currentUser"are Tauri's defaults — but that means every Windows claim in the README was true by inheritance, not by configuration.That is a claim with no failure signal. A Tauri minor bump that flipped
installModetobothwould turn "installs per-user, so there is no administrator prompt" into a false statement, with nothing in the repo going red. Four lines of config converts an assumption into a contract and makes §9 true as written.What changed
tauri.conf.json— added an explicitbundle.windowsblock settingwebviewInstallModeandnsis.installMode. Both match Tauri's current defaults; that is the point.README.md— install section. Rewritten as numbered steps, adding four Windows 11 realities it did not cover:.exes may need Properties → Unblock..md/.markdown/.html/.htm, but Windows 11 dropped the one-click "always use this app" prompt, so registering is not the same as becoming the default.README.md— build section. It opened withpnpm installwhile never mentioning Rust, Node, or pnpm, and named MSVC without the Desktop development with C++ workload that the Rust link step actually requires (the default Build Tools download omits it).Verified
All six download links and filenames were checked against the live
v1.0.0-beta.1release — they match exactly and return HTTP 200. The per-user install,%LOCALAPPDATA%\Torilpath, Desktop shortcut, Apps & features entry, uninstaller location, and SmartScreen wording were all already accurate and are unchanged.pnpm typecheck/pnpm test(210) /pnpm buildgreen;cargo fmt --all --checkclean;tauri.conf.jsonparses.Not verified here
Bundling sits outside every headless gate, so the config change needs on-device confirmation: build an installer, confirm no UAC prompt and installation into
%LOCALAPPDATA%\Toril. The Smart App Control text needs a real 24H2 machine with it enabled.Also included: the design spec and implementation plan for the follow-up secret-store work.
🤖 Generated with Claude Code