mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-08 07:01:40 +02:00
The Configure AMS Slot modal sends built-in / local / Orca-generic presets with a GF* tray_info_idx but an empty setting_id, and configure_ams_slot forwarded that empty value to ams_filament_setting. The firmware treats a filament-id-without-setting-id slot as half configured: it shows the new material briefly, then reverts to its previously stored profile. Back-fill setting_id from the resolved tray_info_idx via filament_id_to_setting_id when the client sent none (e.g. GFB99 -> GFSB99), mirroring the derivation the inventory/assignment path already does. Doing it server-side also protects API callers and future frontends. P* user presets and already-GFS* values are left unchanged, and an explicit setting_id still passes through untouched.