refac
This commit is contained in:
@@ -19,6 +19,9 @@
|
|||||||
$: directTerminals = ($settings?.terminalServers ?? []).filter((s) => s.url);
|
$: directTerminals = ($settings?.terminalServers ?? []).filter((s) => s.url);
|
||||||
|
|
||||||
const refreshTerminalServersStore = async (servers: typeof directTerminals) => {
|
const refreshTerminalServersStore = async (servers: typeof directTerminals) => {
|
||||||
|
// Preserve system terminals (those with an `id`) — only refresh direct ones
|
||||||
|
const existingSystemTerminals = ($terminalServers ?? []).filter((t) => t.id);
|
||||||
|
|
||||||
const activeTerminals = servers.filter((s) => s.enabled);
|
const activeTerminals = servers.filter((s) => s.enabled);
|
||||||
if (activeTerminals.length > 0) {
|
if (activeTerminals.length > 0) {
|
||||||
let data = await getToolServersData(
|
let data = await getToolServersData(
|
||||||
@@ -31,9 +34,9 @@
|
|||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
data = data.filter((d) => d && !d.error);
|
data = data.filter((d) => d && !d.error);
|
||||||
terminalServers.set(data);
|
terminalServers.set([...data, ...existingSystemTerminals]);
|
||||||
} else {
|
} else {
|
||||||
terminalServers.set([]);
|
terminalServers.set(existingSystemTerminals);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,8 @@
|
|||||||
});
|
});
|
||||||
toolServers.set(toolServersData);
|
toolServers.set(toolServersData);
|
||||||
|
|
||||||
// Refresh terminal servers store
|
// Refresh terminal servers store (preserve system terminals)
|
||||||
|
const existingSystemTerminals = ($terminalServers ?? []).filter((t) => t.id);
|
||||||
const activeTerminals = terminalServerConfigs.filter((s) => s.enabled);
|
const activeTerminals = terminalServerConfigs.filter((s) => s.enabled);
|
||||||
if (activeTerminals.length > 0) {
|
if (activeTerminals.length > 0) {
|
||||||
let terminalServersData = await getToolServersData(
|
let terminalServersData = await getToolServersData(
|
||||||
@@ -58,9 +59,9 @@
|
|||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
terminalServersData = terminalServersData.filter((data) => data && !data.error);
|
terminalServersData = terminalServersData.filter((data) => data && !data.error);
|
||||||
terminalServers.set(terminalServersData);
|
terminalServers.set([...terminalServersData, ...existingSystemTerminals]);
|
||||||
} else {
|
} else {
|
||||||
terminalServers.set([]);
|
terminalServers.set(existingSystemTerminals);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user