diff --git a/ui/desktop/frontend/src/components/agents/AgentFormDialog.tsx b/ui/desktop/frontend/src/components/agents/AgentFormDialog.tsx index 223b4d8db..f4760c725 100644 --- a/ui/desktop/frontend/src/components/agents/AgentFormDialog.tsx +++ b/ui/desktop/frontend/src/components/agents/AgentFormDialog.tsx @@ -25,6 +25,7 @@ export function AgentFormDialog({ open, onOpenChange, agent, onSubmit }: AgentFo const { register, handleSubmit, watch, setValue, reset, formState: { errors, isSubmitting } } = useForm({ resolver: zodResolver(agentFormSchema), mode: 'onChange', + defaultValues: { displayName: '', emoji: '🦊', agentKey: '', providerName: '', model: '', description: '', isDefault: false }, }) // UI-only state (not form data) diff --git a/ui/desktop/frontend/src/components/channels/ChannelFormDialog.tsx b/ui/desktop/frontend/src/components/channels/ChannelFormDialog.tsx index 03c65e1f8..26da967e8 100644 --- a/ui/desktop/frontend/src/components/channels/ChannelFormDialog.tsx +++ b/ui/desktop/frontend/src/components/channels/ChannelFormDialog.tsx @@ -25,6 +25,7 @@ export function ChannelFormDialog({ open, onOpenChange, agents, telegramExists, const { handleSubmit, watch, setValue, reset, formState: { errors, isSubmitting } } = useForm({ resolver: zodResolver(channelFormSchema), mode: 'onChange', + defaultValues: { displayName: '', channelType: '', agentId: '', enabled: true, credentials: {} }, }) const channelType = watch('channelType') diff --git a/ui/desktop/frontend/src/components/mcp/McpFormDialog.tsx b/ui/desktop/frontend/src/components/mcp/McpFormDialog.tsx index eb3b52533..3f35ea73f 100644 --- a/ui/desktop/frontend/src/components/mcp/McpFormDialog.tsx +++ b/ui/desktop/frontend/src/components/mcp/McpFormDialog.tsx @@ -26,6 +26,7 @@ export function McpFormDialog({ open, onOpenChange, server, onSubmit, onTest }: const { register, handleSubmit, watch, setValue, reset, formState: { errors, isSubmitting } } = useForm({ resolver: zodResolver(mcpFormSchema), mode: 'onChange', + defaultValues: { name: '', displayName: '', transport: 'stdio', command: '', args: '', url: '', headers: {}, env: {}, toolPrefix: '', timeoutSec: 30, enabled: true }, }) // Test connection state (UI-only, not form data) diff --git a/ui/desktop/frontend/src/components/providers/ProviderFormDialog.tsx b/ui/desktop/frontend/src/components/providers/ProviderFormDialog.tsx index 04b389fd7..f8043b630 100644 --- a/ui/desktop/frontend/src/components/providers/ProviderFormDialog.tsx +++ b/ui/desktop/frontend/src/components/providers/ProviderFormDialog.tsx @@ -23,6 +23,7 @@ export function ProviderFormDialog({ open, onOpenChange, provider, onSubmit }: P const { register, handleSubmit, watch, setValue, reset, formState: { errors, isSubmitting } } = useForm({ resolver: zodResolver(providerFormSchema), mode: 'onChange', + defaultValues: { providerType: '', displayName: '', apiBase: '', apiKey: '', enabled: true }, }) // Reset form when dialog opens diff --git a/ui/desktop/frontend/src/components/teams/TeamSettingsModal.tsx b/ui/desktop/frontend/src/components/teams/TeamSettingsModal.tsx index 048f14ca1..6d3bd0e4d 100644 --- a/ui/desktop/frontend/src/components/teams/TeamSettingsModal.tsx +++ b/ui/desktop/frontend/src/components/teams/TeamSettingsModal.tsx @@ -35,6 +35,7 @@ export function TeamSettingsModal({ teamId, onClose, onSaved }: TeamSettingsModa const { watch, setValue, reset, handleSubmit, formState: { isSubmitting } } = useForm({ resolver: zodResolver(teamSettingsSchema), mode: 'onChange', + defaultValues: { name: '', description: '', notify: { dispatched: true, progress: true, failed: true, completed: true, new_task: true }, notifyMode: 'direct' }, }) useEffect(() => {