aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/node-page.js
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-10-16 11:11:25 +0200
committerChristophe Besson <cbesson@gmail.com>2026-10-16 11:11:25 +0200
commit1557ba53d8a7110869484ac5f9ccf03c5cfea322 (patch)
treeb3178a6efe0effda68160b5ee2aaa83165877650 /packages/meshbay-hub/src/meshbay_hub/static/node-page.js
parent625b2fea074e1c23b992b5759126595b6850af32 (diff)
parent595d316f18576356182d81923b28b861bbaec2cc (diff)
downloadmeshbay-1557ba53d8a7110869484ac5f9ccf03c5cfea322.tar.gz
Merge branch 'main' of meshbay.org:meshbay
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/node-page.js')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/node-page.js12
1 files changed, 10 insertions, 2 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/node-page.js b/packages/meshbay-hub/src/meshbay_hub/static/node-page.js
index bc22cbd..674779b 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/node-page.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/node-page.js
@@ -501,7 +501,15 @@ export function NodePage({ groups, token, username }) {
setSavingSettings(true);
setActionMsg('');
try {
- await nodeOp('setNodeSettings', { settings: editSettings });
+ // What was changed, and nothing else. Sending the whole form stored every
+ // setting the operator had not touched as a choice, in the roster and in
+ // node.toml, so no later default ever reached that node again: one
+ // saved stream cap kept connection_processes at 1 for good.
+ const changed = Object.fromEntries(Object.entries(editSettings).filter(
+ ([k, v]) => JSON.stringify(v) !== JSON.stringify((nodeSettings || {})[k])));
+ if (Object.keys(changed).length) {
+ await nodeOp('setNodeSettings', { settings: changed });
+ }
setNodeSettings({ ...editSettings });
setActionMsg(t('node.settings_saved'));
} catch (err) {
@@ -509,7 +517,7 @@ export function NodePage({ groups, token, username }) {
} finally {
setSavingSettings(false);
}
- }, [editSettings]);
+ }, [editSettings, nodeSettings]);
const saveStun = useCallback(async () => {
if (!editStun) return;