fix(ui): enforce save semantics for default and preset chunks
This commit is contained in:
@@ -132,7 +132,7 @@ const sendEspnowMessage = (obj) => {
|
||||
|
||||
// Send a select message for a preset to all device names in the current tab.
|
||||
// Uses the preset ID as the select key.
|
||||
const sendSelectForCurrentTabDevices = (presetId, sectionEl, saveToDevice = true) => {
|
||||
const sendSelectForCurrentTabDevices = (presetId, sectionEl) => {
|
||||
const section = sectionEl || document.querySelector('.presets-section[data-tab-id]');
|
||||
if (!section || !presetId) {
|
||||
return;
|
||||
@@ -155,9 +155,6 @@ const sendSelectForCurrentTabDevices = (presetId, sectionEl, saveToDevice = true
|
||||
v: '1',
|
||||
select,
|
||||
};
|
||||
if (saveToDevice) {
|
||||
message.save = true;
|
||||
}
|
||||
|
||||
sendEspnowMessage(message);
|
||||
};
|
||||
@@ -1325,9 +1322,8 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
|
||||
// Build ESPNow messages for a single preset.
|
||||
// Send order:
|
||||
// 1) preset payload (without save)
|
||||
// 2) optional select for device names
|
||||
// 3) optional save command
|
||||
// 1) preset payload (optionally with save)
|
||||
// 2) optional select for device names (never with save)
|
||||
// saveToDevice defaults to true.
|
||||
const sendPresetViaEspNow = async (presetId, preset, deviceNames, saveToDevice = true, setDefault = false) => {
|
||||
try {
|
||||
@@ -1394,11 +1390,13 @@ const sendDefaultPreset = (presetId, deviceNames) => {
|
||||
return;
|
||||
}
|
||||
// Default should only set startup preset, not trigger live selection.
|
||||
// Save is attached to default messages.
|
||||
// When device names are provided, scope the default update to those devices.
|
||||
const targets = Array.isArray(deviceNames)
|
||||
? deviceNames.map((n) => (n || '').trim()).filter((n) => n.length > 0)
|
||||
: [];
|
||||
const message = { v: '1', default: presetId };
|
||||
message.save = true;
|
||||
if (targets.length > 0) {
|
||||
message.targets = targets;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user