Fix: preserve secret fields when saving channel config

This commit is contained in:
ksoonks 2026-03-28 12:05:33 +01:00
parent 62d40a02d4
commit 07b060c411

View file

@ -91,18 +91,18 @@ function buildSavePayload(
): ChannelConfig { ): ChannelConfig {
const payload: ChannelConfig = { enabled } const payload: ChannelConfig = { enabled }
for (const [key, value] of Object.entries(editConfig)) { for (const [k, v] of Object.entries(editConfig)) {
if (key.startsWith("_")) continue if (k === "enabled" || k.startsWith("_")) continue;
if (key === "enabled") continue payload[k] = v;
}
if (key in SECRET_FIELD_MAP) { for (const [secret, editKey] of Object.entries(SECRET_FIELD_MAP)) {
const editKey = SECRET_FIELD_MAP[key] const incoming = asString(editConfig[editKey]);
const incoming = asString(editConfig[editKey]) if (incoming !== "") {
payload[key] = incoming !== "" ? incoming : value payload[secret] = incoming;
continue } else if (secret in editConfig) {
payload[secret] = editConfig[secret];
} }
payload[key] = value
} }
if (channel.name === "whatsapp_native") { if (channel.name === "whatsapp_native") {