mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-03-10 22:21:22 -07:00
Fix privacy screen for legacy tier users (#14522)
This commit is contained in:
committed by
GitHub
parent
5f60281d25
commit
ae8694b303
@@ -7,11 +7,7 @@
|
||||
import { describe, it, expect, beforeEach, vi } from 'vitest';
|
||||
import { act } from 'react';
|
||||
import { render } from '../../test-utils/render.js';
|
||||
import type {
|
||||
Config,
|
||||
CodeAssistServer,
|
||||
LoadCodeAssistResponse,
|
||||
} from '@google/gemini-cli-core';
|
||||
import type { Config, CodeAssistServer } from '@google/gemini-cli-core';
|
||||
import { UserTierId, getCodeAssistServer } from '@google/gemini-cli-core';
|
||||
import { usePrivacySettings } from './usePrivacySettings.js';
|
||||
import { waitFor } from '../../test-utils/async.js';
|
||||
@@ -65,10 +61,7 @@ describe('usePrivacySettings', () => {
|
||||
// Mock paid tier response
|
||||
vi.mocked(getCodeAssistServer).mockReturnValue({
|
||||
projectId: 'test-project-id',
|
||||
loadCodeAssist: () =>
|
||||
({
|
||||
currentTier: { id: UserTierId.STANDARD },
|
||||
}) as unknown as LoadCodeAssistResponse,
|
||||
userTier: UserTierId.STANDARD,
|
||||
} as unknown as CodeAssistServer);
|
||||
|
||||
const { result } = renderPrivacySettingsHook();
|
||||
@@ -84,10 +77,7 @@ describe('usePrivacySettings', () => {
|
||||
|
||||
it('should throw error when CodeAssistServer has no projectId', async () => {
|
||||
vi.mocked(getCodeAssistServer).mockReturnValue({
|
||||
loadCodeAssist: () =>
|
||||
({
|
||||
currentTier: { id: UserTierId.FREE },
|
||||
}) as unknown as LoadCodeAssistResponse,
|
||||
userTier: UserTierId.FREE,
|
||||
} as unknown as CodeAssistServer);
|
||||
|
||||
const { result } = renderPrivacySettingsHook();
|
||||
@@ -110,10 +100,7 @@ describe('usePrivacySettings', () => {
|
||||
setCodeAssistGlobalUserSetting: vi.fn().mockResolvedValue({
|
||||
freeTierDataCollectionOptin: false,
|
||||
}),
|
||||
loadCodeAssist: () =>
|
||||
({
|
||||
currentTier: { id: UserTierId.FREE },
|
||||
}) as unknown as LoadCodeAssistResponse,
|
||||
userTier: UserTierId.FREE,
|
||||
} as unknown as CodeAssistServer;
|
||||
vi.mocked(getCodeAssistServer).mockReturnValue(mockCodeAssistServer);
|
||||
|
||||
|
||||
@@ -31,7 +31,10 @@ export const usePrivacySettings = (config: Config) => {
|
||||
});
|
||||
try {
|
||||
const server = getCodeAssistServerOrFail(config);
|
||||
const tier = await getTier(server);
|
||||
const tier = server.userTier;
|
||||
if (tier === undefined) {
|
||||
throw new Error('Could not determine user tier.');
|
||||
}
|
||||
if (tier !== UserTierId.FREE) {
|
||||
// We don't need to fetch opt-out info since non-free tier
|
||||
// data gathering is already worked out some other way.
|
||||
@@ -94,22 +97,6 @@ function getCodeAssistServerOrFail(config: Config): CodeAssistServer {
|
||||
return server;
|
||||
}
|
||||
|
||||
async function getTier(server: CodeAssistServer): Promise<UserTierId> {
|
||||
const loadRes = await server.loadCodeAssist({
|
||||
cloudaicompanionProject: server.projectId,
|
||||
metadata: {
|
||||
ideType: 'IDE_UNSPECIFIED',
|
||||
platform: 'PLATFORM_UNSPECIFIED',
|
||||
pluginType: 'GEMINI',
|
||||
duetProject: server.projectId,
|
||||
},
|
||||
});
|
||||
if (!loadRes.currentTier) {
|
||||
throw new Error('User does not have a current tier');
|
||||
}
|
||||
return loadRes.currentTier.id;
|
||||
}
|
||||
|
||||
async function getRemoteDataCollectionOptIn(
|
||||
server: CodeAssistServer,
|
||||
): Promise<boolean> {
|
||||
|
||||
Reference in New Issue
Block a user