From 040b6a9dc6ff323821ac56748c47ff975abb8a30 Mon Sep 17 00:00:00 2001 From: Bohdan Triapitsyn Date: Fri, 15 May 2026 21:38:57 +0300 Subject: [PATCH] feat: add OpenCode update notification setting Adds a setting to show or hide OpenCode update notifications Dismisses the active update toast when notifications are disabled Adds localized settings labels --- .../openchamber/OpenCodeCliSettings.tsx | 15 +++++++++++++++ .../components/update/OpenCodeUpdateToast.tsx | 18 ++++++++++++++++-- .../ui/src/lib/i18n/messages/en.settings.ts | 2 ++ .../ui/src/lib/i18n/messages/es.settings.ts | 2 ++ .../ui/src/lib/i18n/messages/ko.settings.ts | 2 ++ .../ui/src/lib/i18n/messages/pl.settings.ts | 2 ++ .../ui/src/lib/i18n/messages/pt-BR.settings.ts | 2 ++ .../ui/src/lib/i18n/messages/uk.settings.ts | 2 ++ .../ui/src/lib/i18n/messages/zh-CN.settings.ts | 2 ++ packages/ui/src/stores/useUIStore.ts | 7 +++++++ 10 files changed, 52 insertions(+), 2 deletions(-) diff --git a/packages/ui/src/components/sections/openchamber/OpenCodeCliSettings.tsx b/packages/ui/src/components/sections/openchamber/OpenCodeCliSettings.tsx index b889774e..e78090d3 100644 --- a/packages/ui/src/components/sections/openchamber/OpenCodeCliSettings.tsx +++ b/packages/ui/src/components/sections/openchamber/OpenCodeCliSettings.tsx @@ -1,11 +1,13 @@ import * as React from 'react'; import { Button } from '@/components/ui/button'; +import { Checkbox } from '@/components/ui/checkbox'; import { Input } from '@/components/ui/input'; import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'; import { Icon } from "@/components/icon/Icon"; import { isDesktopShell, isTauriShell } from '@/lib/desktop'; import { updateDesktopSettings } from '@/lib/persistence'; import { reloadOpenCodeConfiguration } from '@/stores/useAgentsStore'; +import { useUIStore } from '@/stores/useUIStore'; import { useI18n } from '@/lib/i18n'; export const OpenCodeCliSettings: React.FC = () => { @@ -13,6 +15,8 @@ export const OpenCodeCliSettings: React.FC = () => { const [value, setValue] = React.useState(''); const [isLoading, setIsLoading] = React.useState(true); const [isSaving, setIsSaving] = React.useState(false); + const showOpenCodeUpdateNotifications = useUIStore((state) => state.showOpenCodeUpdateNotifications); + const setShowOpenCodeUpdateNotifications = useUIStore((state) => state.setShowOpenCodeUpdateNotifications); React.useEffect(() => { let cancelled = false; @@ -148,6 +152,17 @@ export const OpenCodeCliSettings: React.FC = () => { + +