feat(#117): agent-count toasts and persistent error toast dismiss
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -11,6 +11,7 @@ import styles from './AgentHealth.module.css';
|
||||
import { useAgents, useAgentEvents } from '../../api/queries/agents';
|
||||
import { useApplicationLogs } from '../../api/queries/logs';
|
||||
import { useApplicationConfig, useUpdateApplicationConfig } from '../../api/queries/commands';
|
||||
import type { ConfigUpdateResponse } from '../../api/queries/commands';
|
||||
import type { AgentInstance } from '../../api/types';
|
||||
|
||||
// ── Helpers ──────────────────────────────────────────────────────────────────
|
||||
@@ -142,13 +143,18 @@ export default function AgentHealth() {
|
||||
if (!appConfig) return;
|
||||
const updated = { ...appConfig, ...configDraft };
|
||||
updateConfig.mutate(updated, {
|
||||
onSuccess: (saved) => {
|
||||
onSuccess: (saved: ConfigUpdateResponse) => {
|
||||
setConfigEditing(false);
|
||||
setConfigDraft({});
|
||||
toast({ title: 'Config updated', description: `${appId} (v${saved.config.version})`, variant: 'success' });
|
||||
if (saved.pushResult.success) {
|
||||
toast({ title: 'Config updated', description: `${appId} (v${saved.config.version}) — pushed to ${saved.pushResult.total}/${saved.pushResult.total} agents`, variant: 'success' });
|
||||
} else {
|
||||
const failed = [...saved.pushResult.responses.filter(r => r.status !== 'SUCCESS').map(r => r.agentId), ...saved.pushResult.timedOut];
|
||||
toast({ title: 'Config updated — partial push failure', description: `${saved.pushResult.responded}/${saved.pushResult.total} responded. Failed: ${failed.join(', ')}`, variant: 'warning', duration: 86_400_000 });
|
||||
}
|
||||
},
|
||||
onError: () => {
|
||||
toast({ title: 'Config update failed', variant: 'error' });
|
||||
toast({ title: 'Config update failed', variant: 'error', duration: 86_400_000 });
|
||||
},
|
||||
});
|
||||
}, [appConfig, configDraft, updateConfig, toast, appId]);
|
||||
|
||||
Reference in New Issue
Block a user