Skip to content

Windows support: blockers to compile (#2-#5)#14

Merged
MasonStation merged 5 commits intomainfrom
windows-support
Apr 21, 2026
Merged

Windows support: blockers to compile (#2-#5)#14
MasonStation merged 5 commits intomainfrom
windows-support

Conversation

@MasonStation
Copy link
Copy Markdown
Contributor

First slice of #1 (Windows support).

Summary

All changes are additive; Unix code paths are gated cfg(unix) and unchanged in behavior.

Test plan

  • CI green on ubuntu-latest
  • CI green on macos-latest
  • CI green on windows-latest — the whole point
  • Manual cargo test pass locally (blocked by Smart App Control on the dev machine; relying on CI)

Closes #2, #3, #4, #5

MasonStation and others added 5 commits April 21, 2026 16:21
Enables Windows Credential Manager backend. Without this the keyring
crate compiles on Windows with no backend available; all secret ops
fall through to the encrypted file vault. macOS and Linux behavior
unchanged.

Closes #2

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
'which' is not present on Windows. Using the which crate handles PATH
resolution cross-platform and respects Windows' ';' separator and
PATHEXT (.exe/.cmd/.bat).

Closes #3

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Windows has no 'kill' command. Gate existing Unix code with cfg(unix)
and add a cfg(windows) branch using taskkill /PID /F.

Unix behavior unchanged.

Closes #4

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
libc is Unix-only. std::io::IsTerminal (stable since 1.70) works on
all platforms with no external dependency.

This also fixes a latent bug: the previous check was gated with
cfg(unix), so on Windows the non-interactive-context guard was
silently skipped — AI agents could run 'phantom reveal' without
--yes. The new check runs on all platforms.

Drops the now-unused libc dep from phantom-cli.

Closes #5

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Catches Windows regressions in CI. Part of #11 — the issue closes
when all remaining Windows support items land.

Contributes to #1

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
@MasonStation MasonStation merged commit ec8dd74 into main Apr 21, 2026
4 checks passed
@MasonStation MasonStation deleted the windows-support branch April 21, 2026 20:35
This was referenced Apr 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

vault: add windows-native feature to keyring dependency

1 participant