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 {
const payload: ChannelConfig = { enabled }
for (const [key, value] of Object.entries(editConfig)) {
if (key.startsWith("_")) continue
if (key === "enabled") continue
if (key in SECRET_FIELD_MAP) {
const editKey = SECRET_FIELD_MAP[key]
const incoming = asString(editConfig[editKey])
payload[key] = incoming !== "" ? incoming : value
continue
for (const [k, v] of Object.entries(editConfig)) {
if (k === "enabled" || k.startsWith("_")) continue;
payload[k] = v;
}
payload[key] = value
for (const [secret, editKey] of Object.entries(SECRET_FIELD_MAP)) {
const incoming = asString(editConfig[editKey]);
if (incoming !== "") {
payload[secret] = incoming;
} else if (secret in editConfig) {
payload[secret] = editConfig[secret];
}
}
if (channel.name === "whatsapp_native") {