Settings → Integrations offered install cards for the Claude Code and Cursor provider plugins. They are gone: the section, its plugin catalog, its own i18n module and tests, the settings search entries, the page keywords, and the two sprite icons only it used. The page now holds the built-in GitHub and Linear cards, so it is hidden in VS Code where neither applies; its title and description live in the settings dictionaries. Docs follow: the Integrations page in every locale now documents GitHub (pointing at its own page) and Linear in full, the GitHub page names Settings → Integrations as the place to connect and covers linking an issue or PR to a message, and the Providers pages no longer promise Claude or Cursor subscriptions. Claude-Session: https://claude.ai/code/session_01HB9wdLQoZX2vfyDjwv6Rso
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import { describe, expect, test } from 'bun:test';
|
|
import type { I18nKey } from '@/lib/i18n/store';
|
|
import { buildSettingsSearchResults } from './search';
|
|
|
|
const t = (key: I18nKey): string => key;
|
|
|
|
const runtimeCtx = {
|
|
isVSCode: false,
|
|
isWeb: true,
|
|
isDesktop: false,
|
|
isMobile: false,
|
|
isDesktopLocalOrigin: false,
|
|
isMac: false,
|
|
isWindows: false,
|
|
isLinux: false,
|
|
isWindowsArm64: false,
|
|
};
|
|
|
|
describe('settings search', () => {
|
|
test('finds Linear connect on the integrations page', () => {
|
|
const results = buildSettingsSearchResults({
|
|
query: 'linear',
|
|
runtimeCtx,
|
|
t,
|
|
getPageTitle: (page) => page,
|
|
});
|
|
|
|
expect(results.some((result) => result.id === 'integrations.linear')).toBe(true);
|
|
expect(results.some((result) => result.id === 'integrations.linear.add-workspace')).toBe(true);
|
|
expect(results.some((result) => result.id === 'integrations.linear.mapping')).toBe(true);
|
|
});
|
|
|
|
test('hides Linear connect in VS Code', () => {
|
|
const results = buildSettingsSearchResults({
|
|
query: 'linear',
|
|
runtimeCtx: { ...runtimeCtx, isVSCode: true },
|
|
t,
|
|
getPageTitle: (page) => page,
|
|
});
|
|
|
|
expect(results.some((result) => result.id === 'integrations.linear')).toBe(false);
|
|
expect(results.some((result) => result.id === 'integrations.linear.add-workspace')).toBe(false);
|
|
expect(results.some((result) => result.id === 'integrations.linear.mapping')).toBe(false);
|
|
});
|
|
});
|