fix: Homebrew 6.0+ compatibility, startup Keychain prompts, and WebView timezone offset parsing - #152
Merged
msitarzewski merged 2 commits intoJul 17, 2026
Conversation
…ew timezone offset parsing
Contributor
Author
|
Deleting the branch as merged already! |
msitarzewski
added a commit
that referenced
this pull request
Jul 20, 2026
…linuxbrew-path fix: native Keychain-prompt parity + Linuxbrew PATH (follow-up to #152)
This was referenced Jul 20, 2026
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.
This pull request resolves three distinct classes of bugs affecting both the Svelte/Tauri desktop app and the Swift native SwiftUI wrapper:
1. Homebrew 6.0+ Built-in
brew vulnsCompatibilitybrew-vulnswas always installed as a standalone formula (homebrew/brew-vulns/brew-vulns). In Homebrew 6.0+, thevulnssubcommand has been integrated natively into core Homebrew, and the standalone tap/formula has been deprecated and deleted. As a result, detection probes (brew --prefix brew-vulns) failed, and clicking "Install" attempted to fetch a deleted formula, failing indefinitely.check_brew_vulns_installed) and Swift (isBrewVulnsInstalled) backends to checkbrew help vulnsas a fallback when the legacy prefix check fails.brew updateinstead ofbrew install homebrew/brew-vulns/brew-vulnssince the subcommand is natively bundled with current Homebrew.validate_formula_namein both Rust and Swift to accept 2-segment tap-qualified formula names (e.g.,user/formulalikeanomalyco/opencode), which are fully valid.2. Intrusive Startup macOS Keychain Prompts
github.loadStatus()was called eagerly. If a user had not configured credentials or was not authenticated, macOS would trigger an intrusive Keychain access prompt on launch.brew-browser:github:signed-inflag inlocalStoragewhen a user successfully authenticates. Eager startup check calls togithub.loadStatus()are now gated on this flag, preventing Keychain checks on startup for unauthenticated users.3. Last Scan "59 Minutes / 1 Hour Ago" WebView Parsing Bug
"2026-07-16T16:50:00.123456789Z"returned by the Rust backend) has a timezone parsing bug where it fails or ignores theZsuffix and parses the time in the host system's local timezone. This resulted in the relative scan time showing as exactly"59 minutes ago"or"1 hour ago"immediately after a successful scan.parseIsoDateutility helper in Svelte (vulnerabilities.svelte.ts) to truncate timestamps to standard millisecond-precision before parsing them into JavaScriptDateobjects.4. Process Environment Fix for SwiftUI Subprocesses
VulnsServicespawned its subprocesses (like check and scan commands) without inheriting the correct Homebrew environment (specifically missing$HOME), causingbrewto fail to execute correctly under launchd GUI app bundle contexts.process.environment = BrewService.brewEnvironment()inVulnsService.runto align environment variables consistently with the rest of the native app.