Fix server agent ID & token refresh when adding multiple agents (closes #165)
This commit is contained in:
@@ -59,6 +59,25 @@ export const AddServerAgentDialog: React.FC<AddServerAgentDialogProps> = ({
|
|||||||
`agent_${Math.random().toString(36).substring(2, 15)}${Math.random().toString(36).substring(2, 15)}`
|
`agent_${Math.random().toString(36).substring(2, 15)}${Math.random().toString(36).substring(2, 15)}`
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Refresh credentials and reset form whenever the dialog opens
|
||||||
|
React.useEffect(() => {
|
||||||
|
if (open) {
|
||||||
|
const newCredentials = generateNewCredentials();
|
||||||
|
setServerToken(newCredentials.serverToken);
|
||||||
|
setServerId(newCredentials.serverId);
|
||||||
|
setActiveTab("configure");
|
||||||
|
setFormData({
|
||||||
|
serverName: "",
|
||||||
|
description: "",
|
||||||
|
osType: "",
|
||||||
|
checkInterval: "60",
|
||||||
|
retryAttempt: "3",
|
||||||
|
dockerEnabled: false,
|
||||||
|
notificationEnabled: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, [open]);
|
||||||
|
|
||||||
const handleSubmit = async (e: React.FormEvent) => {
|
const handleSubmit = async (e: React.FormEvent) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
if (isSubmitting) return;
|
if (isSubmitting) return;
|
||||||
@@ -81,10 +100,6 @@ export const AddServerAgentDialog: React.FC<AddServerAgentDialogProps> = ({
|
|||||||
title: t('serverAgentCreated'),
|
title: t('serverAgentCreated'),
|
||||||
description: t('serverAgentCreatedDesc').replace('{name}', formData.serverName),
|
description: t('serverAgentCreatedDesc').replace('{name}', formData.serverName),
|
||||||
});
|
});
|
||||||
|
|
||||||
const newCredentials = generateNewCredentials();
|
|
||||||
setServerToken(newCredentials.serverToken);
|
|
||||||
setServerId(newCredentials.serverId);
|
|
||||||
setActiveTab("one-click");
|
setActiveTab("one-click");
|
||||||
onAgentAdded();
|
onAgentAdded();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -99,21 +114,6 @@ export const AddServerAgentDialog: React.FC<AddServerAgentDialogProps> = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleDialogClose = () => {
|
const handleDialogClose = () => {
|
||||||
setActiveTab("configure");
|
|
||||||
setFormData({
|
|
||||||
serverName: "",
|
|
||||||
description: "",
|
|
||||||
osType: "",
|
|
||||||
checkInterval: "60",
|
|
||||||
retryAttempt: "3",
|
|
||||||
dockerEnabled: false,
|
|
||||||
notificationEnabled: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
const newCredentials = generateNewCredentials();
|
|
||||||
setServerToken(newCredentials.serverToken);
|
|
||||||
setServerId(newCredentials.serverId);
|
|
||||||
|
|
||||||
onOpenChange(false);
|
onOpenChange(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -126,7 +126,7 @@ export const AddServerAgentDialog: React.FC<AddServerAgentDialogProps> = ({
|
|||||||
{t('addServerMonitoringAgent')}
|
{t('addServerMonitoringAgent')}
|
||||||
</DialogTitle>
|
</DialogTitle>
|
||||||
<DialogDescription>
|
<DialogDescription>
|
||||||
{t('configureAgentDesc')}
|
{t('configureAgentDesc')}
|
||||||
</DialogDescription>
|
</DialogDescription>
|
||||||
</DialogHeader>
|
</DialogHeader>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user