fix(mac-compat): bypass keyring auth check hang and link macOS Library/Keychains to isolated home
This commit is contained in:
@@ -838,6 +838,14 @@ provision_isolation() {
|
|||||||
for f in antigravity-oauth-token installation_id settings.json; do
|
for f in antigravity-oauth-token installation_id settings.json; do
|
||||||
if [ -e "$HOME/.gemini/antigravity-cli/$f" ]; then ln -sfn "$HOME/.gemini/antigravity-cli/$f" "$root/.gemini/antigravity-cli/$f"; seeded="${seeded:+$seeded,}.gemini/antigravity-cli/$f"; fi
|
if [ -e "$HOME/.gemini/antigravity-cli/$f" ]; then ln -sfn "$HOME/.gemini/antigravity-cli/$f" "$root/.gemini/antigravity-cli/$f"; seeded="${seeded:+$seeded,}.gemini/antigravity-cli/$f"; fi
|
||||||
done
|
done
|
||||||
|
# On macOS, seed ~/Library/Keychains to allow isolated agy to query Keychain Access credentials
|
||||||
|
if [ "$(uname)" = "Darwin" ]; then
|
||||||
|
mkdir -p "$root/Library"
|
||||||
|
if [ -d "$HOME/Library/Keychains" ]; then
|
||||||
|
ln -sfn "$HOME/Library/Keychains" "$root/Library/Keychains"
|
||||||
|
seeded="${seeded:+$seeded,}Library/Keychains"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
hermes)
|
hermes)
|
||||||
mkdir -p "$root/.hermes"
|
mkdir -p "$root/.hermes"
|
||||||
|
|||||||
@@ -89,7 +89,10 @@ if [ "$AGENT" = "claude" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
elif [ "$AGENT" = "agy" ]; then
|
elif [ "$AGENT" = "agy" ]; then
|
||||||
if ! agy models >/dev/null 2>&1; then
|
# Fast, non-blocking check: if token or credentials exist on disk, assume authenticated to prevent keyring hang
|
||||||
|
if [ -f "$HOME/.gemini/oauth_creds.json" ] || [ -f "$HOME/.gemini/antigravity-cli/antigravity-oauth-token" ]; then
|
||||||
|
true
|
||||||
|
elif ! agy models >/dev/null 2>&1; then
|
||||||
echo "ERROR: agy is not authenticated. Please log in first." >&2
|
echo "ERROR: agy is not authenticated. Please log in first." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user