From e4276ff66e703c287407a3868a76b1e6a707c37d Mon Sep 17 00:00:00 2001 From: rouggy Date: Tue, 25 Aug 2026 19:43:16 +0200 Subject: [PATCH] fix(lists): the satellite list was never sent to be saved MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Save builds the lists payload field by field, and the new list was not among them — so every Save wrote an empty satellites array over whatever had just been typed. Normalised in the save as well as on the field's blur: the Save button is reachable without ever leaving the box, and a list whose survival depends on where the cursor went first is a list that saves sometimes. --- frontend/src/components/SettingsModal.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/src/components/SettingsModal.tsx b/frontend/src/components/SettingsModal.tsx index 3a864e9..507337c 100644 --- a/frontend/src/components/SettingsModal.tsx +++ b/frontend/src/components/SettingsModal.tsx @@ -2345,6 +2345,11 @@ export function SettingsModal({ onClose, onSaved, initialSection, onMainPaneChan rst_phone: splitList(rstText.phone), rst_cw: splitList(rstText.cw), rst_digital: splitList(rstText.digital), + // Normalised HERE and not only on the field's blur: Save is reachable + // without ever leaving the box, and a list that depends on where the + // cursor went before the click is a list that sometimes saves. + satellites: Array.from(new Set(((lists.satellites ?? []) as string[]) + .map((v) => v.trim().toUpperCase()).filter(Boolean))).sort(), } as any); if (activeProfile) {