fix: remove automatic antigravity plugin installation
Remove the automatic installation of opencode-antigravity-auth plugin when users have Gemini configured. This change addresses several issues: 1. Antigravity plugin is causing Google account bans for users 2. Users are unaware the plugin was auto-installed 3. Google has built-in OAuth for Gemini that doesn't require third-party plugins Users who need the antigravity plugin can manually add it to their plugin configuration if desired. Fixes issues with unexpected plugin installation and account safety.
This commit is contained in:
parent
6909e5fb4c
commit
7027b55c56
@ -43,7 +43,7 @@ const testConfig: InstallConfig = {
|
||||
|
||||
describe("addAuthPlugins", () => {
|
||||
describe("Test 1: JSONC with commented plugin line", () => {
|
||||
it("preserves comment, updates actual plugin array", async () => {
|
||||
it("preserves comment, does NOT add antigravity plugin", async () => {
|
||||
const content = `{
|
||||
// "plugin": ["old-plugin"]
|
||||
"plugin": ["existing-plugin"],
|
||||
@ -59,17 +59,18 @@ describe("addAuthPlugins", () => {
|
||||
const newContent = readFileSync(result.configPath, "utf-8")
|
||||
expect(newContent).toContain('// "plugin": ["old-plugin"]')
|
||||
expect(newContent).toContain('existing-plugin')
|
||||
expect(newContent).toContain('opencode-antigravity-auth')
|
||||
// antigravity plugin should NOT be auto-added anymore
|
||||
expect(newContent).not.toContain('opencode-antigravity-auth')
|
||||
|
||||
const parsed = parseJsonc<Record<string, unknown>>(newContent)
|
||||
const plugins = parsed.plugin as string[]
|
||||
expect(plugins).toContain('existing-plugin')
|
||||
expect(plugins.some((p) => p.startsWith('opencode-antigravity-auth'))).toBe(true)
|
||||
expect(plugins.some((p) => p.startsWith('opencode-antigravity-auth'))).toBe(false)
|
||||
})
|
||||
})
|
||||
|
||||
describe("Test 2: Plugin array already contains antigravity", () => {
|
||||
it("does not add duplicate", async () => {
|
||||
it("preserves existing antigravity, does not add another", async () => {
|
||||
const content = `{
|
||||
"plugin": ["existing-plugin", "opencode-antigravity-auth"],
|
||||
"provider": {}
|
||||
@ -87,6 +88,7 @@ describe("addAuthPlugins", () => {
|
||||
|
||||
const antigravityCount = plugins.filter((p) => p.startsWith('opencode-antigravity-auth')).length
|
||||
expect(antigravityCount).toBe(1)
|
||||
expect(plugins).toContain('existing-plugin')
|
||||
})
|
||||
})
|
||||
|
||||
@ -156,7 +158,7 @@ describe("addAuthPlugins", () => {
|
||||
})
|
||||
|
||||
describe("Test 6: No existing plugin array", () => {
|
||||
it("creates plugin array when none exists", async () => {
|
||||
it("creates empty plugin array when none exists, does NOT add antigravity", async () => {
|
||||
const content = `{
|
||||
"provider": {}
|
||||
}`
|
||||
@ -172,7 +174,9 @@ describe("addAuthPlugins", () => {
|
||||
const parsed = parseJsonc<Record<string, unknown>>(newContent)
|
||||
expect(parsed).toHaveProperty('plugin')
|
||||
const plugins = parsed.plugin as string[]
|
||||
expect(plugins.some((p) => p.startsWith('opencode-antigravity-auth'))).toBe(true)
|
||||
// antigravity plugin should NOT be auto-added anymore
|
||||
expect(plugins.some((p) => p.startsWith('opencode-antigravity-auth'))).toBe(false)
|
||||
expect(plugins.length).toBe(0)
|
||||
})
|
||||
})
|
||||
|
||||
@ -199,7 +203,7 @@ describe("addAuthPlugins", () => {
|
||||
})
|
||||
|
||||
describe("Test 8: Multiple plugins in array", () => {
|
||||
it("appends to existing plugins", async () => {
|
||||
it("preserves existing plugins, does NOT add antigravity", async () => {
|
||||
const content = `{
|
||||
"plugin": ["plugin-1", "plugin-2", "plugin-3"],
|
||||
"provider": {}
|
||||
@ -218,7 +222,9 @@ describe("addAuthPlugins", () => {
|
||||
expect(plugins).toContain('plugin-1')
|
||||
expect(plugins).toContain('plugin-2')
|
||||
expect(plugins).toContain('plugin-3')
|
||||
expect(plugins.some((p) => p.startsWith('opencode-antigravity-auth'))).toBe(true)
|
||||
// antigravity plugin should NOT be auto-added anymore
|
||||
expect(plugins.some((p) => p.startsWith('opencode-antigravity-auth'))).toBe(false)
|
||||
expect(plugins.length).toBe(3)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@ -50,13 +50,8 @@ export async function addAuthPlugins(config: InstallConfig): Promise<ConfigMerge
|
||||
const rawPlugins = existingConfig?.plugin
|
||||
const plugins: string[] = Array.isArray(rawPlugins) ? rawPlugins : []
|
||||
|
||||
if (config.hasGemini) {
|
||||
const version = await fetchLatestVersion("opencode-antigravity-auth")
|
||||
const pluginEntry = version ? `opencode-antigravity-auth@${version}` : "opencode-antigravity-auth"
|
||||
if (!plugins.some((p) => p.startsWith("opencode-antigravity-auth"))) {
|
||||
plugins.push(pluginEntry)
|
||||
}
|
||||
}
|
||||
// Note: opencode-antigravity-auth plugin auto-installation has been removed
|
||||
// Users can manually add auth plugins if needed
|
||||
|
||||
const newConfig = { ...(existingConfig ?? {}), plugin: plugins }
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user