From 7f1c04b145e9dbd560addd4028eaa0030fa6de44 Mon Sep 17 00:00:00 2001 From: Brennan Benson <79079362+brennanb2025@users.noreply.github.com> Date: Tue, 21 Jul 2026 12:35:59 -0700 Subject: [PATCH] feat(settings): link Linear capabilities pane to Integrations settings The Agent capabilities -> Linear pane installs the orca-linear skill but gave no path to where the connection itself lives. Add a link to the Integrations settings pane, where connected Linear workspaces and API keys are managed. --- .../settings/LinearAgentSkillPane.tsx | 39 ++++++++++++++++++- src/renderer/src/i18n/locales/en.json | 4 +- src/renderer/src/i18n/locales/es.json | 4 +- src/renderer/src/i18n/locales/ja.json | 4 +- src/renderer/src/i18n/locales/ko.json | 4 +- src/renderer/src/i18n/locales/zh.json | 4 +- 6 files changed, 53 insertions(+), 6 deletions(-) diff --git a/src/renderer/src/components/settings/LinearAgentSkillPane.tsx b/src/renderer/src/components/settings/LinearAgentSkillPane.tsx index ad477a9ed8d..0ededd55801 100644 --- a/src/renderer/src/components/settings/LinearAgentSkillPane.tsx +++ b/src/renderer/src/components/settings/LinearAgentSkillPane.tsx @@ -1,7 +1,16 @@ import { useMemo } from 'react' -import { ArrowRightCircle, BookOpen, Link2, ListTodo, MessageSquarePlus } from 'lucide-react' +import { + ArrowRightCircle, + BookOpen, + Blocks, + Link2, + ListTodo, + MessageSquarePlus +} from 'lucide-react' import type { LucideIcon } from 'lucide-react' import { LinearIcon } from '@/components/icons/LinearIcon' +import { Button } from '@/components/ui/button' +import { useAppStore } from '@/store' import { LINEAR_AGENT_SKILL_NAMES, ORCA_LINEAR_SKILL_INSTALL_COMMAND, @@ -48,6 +57,14 @@ function resolveLinearExampleIcon(example: SkillUsageExample): LucideIcon { // connection that makes it useful. export function LinearAgentSkillPane(): React.JSX.Element { const activeSkillRuntime = useActiveProjectSkillRuntime() + const openSettingsPage = useAppStore((state) => state.openSettingsPage) + const openSettingsTarget = useAppStore((state) => state.openSettingsTarget) + + const openIntegrationSettings = (): void => { + openSettingsPage() + openSettingsTarget({ pane: 'integrations', repoId: null }) + } + const { installed: linearSkillInstalled, loading: linearSkillLoading, @@ -94,6 +111,26 @@ export function LinearAgentSkillPane(): React.JSX.Element { keywords={getLinearAgentSkillPaneSearchEntries()[0].keywords} className="space-y-5 py-2" > +
+ {translate( + 'auto.components.settings.LinearAgentSkillPane.manageConnectionHint', + 'Review connected Linear workspaces and API keys in' + )}{' '} + +
+