diff --git a/CHANGELOG.md b/CHANGELOG.md index 76dd1461..ff3290a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +- Settings: consolidated Git settings and added opencode zen model selection for commit generation (thanks to @nelsonpires). +- Web Notifications: added configurable native web notifications for assistant completion (thanks to @vio1ator). +- Chat: sidebar sessions are now automatically sorted by last updated date (thanks to @vio1ator). +- UI: todo lists and status indicators now hide automatically when all tasks are completed (thanks to @vio1ator). +- Reliability: improved project state preservation on validation failures (thanks to @vio1ator) and refined server health monitoring. +- Stability: added graceful shutdown handling for the server process (thanks to @vio1ator). + ## [1.4.7] - 2026-01-10 - Skills: added ClawdHub integration as built-in market for skills. diff --git a/packages/ui/src/components/chat/message/parts/ToolPart.tsx b/packages/ui/src/components/chat/message/parts/ToolPart.tsx index fda1d5c7..ac94bd5d 100644 --- a/packages/ui/src/components/chat/message/parts/ToolPart.tsx +++ b/packages/ui/src/components/chat/message/parts/ToolPart.tsx @@ -23,7 +23,6 @@ import { formatEditOutput, detectLanguageFromOutput, formatInputForDisplay, - hasLspDiagnostics, } from '../toolRenderers'; type ToolStateWithMetadata = ToolStateUnion & { metadata?: Record; input?: Record; output?: string; error?: string; time?: { start: number; end?: number } }; @@ -756,7 +755,7 @@ const ToolExpandedContent: React.FC = ({ ); } - if ((part.tool === 'edit' || part.tool === 'multiedit') && ((!hasStringOutput && diffContent) || (outputString.trim().length === 0 || hasLspDiagnostics(outputString))) && diffContent) { + if ((part.tool === 'edit' || part.tool === 'multiedit') && diffContent) { return renderScrollableBlock( , { className: 'p-1' } diff --git a/packages/ui/src/components/sections/openchamber/NotificationSettings.tsx b/packages/ui/src/components/sections/openchamber/NotificationSettings.tsx index c74a01e2..2b47152b 100644 --- a/packages/ui/src/components/sections/openchamber/NotificationSettings.tsx +++ b/packages/ui/src/components/sections/openchamber/NotificationSettings.tsx @@ -1,11 +1,14 @@ import React from 'react'; import { useUIStore } from '@/stores/useUIStore'; import { isWebRuntime } from '@/lib/desktop'; +import { Switch } from '@/components/ui/switch'; import { toast } from 'sonner'; export const NotificationSettings: React.FC = () => { const nativeNotificationsEnabled = useUIStore(state => state.nativeNotificationsEnabled); const setNativeNotificationsEnabled = useUIStore(state => state.setNativeNotificationsEnabled); + const notificationMode = useUIStore(state => state.notificationMode); + const setNotificationMode = useUIStore(state => state.setNotificationMode); const [notificationPermission, setNotificationPermission] = React.useState('default'); @@ -59,17 +62,31 @@ export const NotificationSettings: React.FC = () => { Enable native notifications -