-
XML hot-reload — set
HELIX_HOT_RELOAD=1to watchui_xml/(including breakpoint subdirs) and rebuild the active panel, overlay, or modal in place when a file saves. Panels, overlays, modals, and the navigation stack all implement arebuild()hook; after-reload callbacks re-show the top modal and refresh observer bindings. The watcher warns when a reload would dangle an XML subject pointer so you see it immediately instead of as a later crash. -
Print Select: 3-column card grid on 480px breakpoints (previously 2-column) — more prints visible without scrolling on wider portraits.
-
Android update check — libhv is built without SSL on Android, so HTTPS to R2 and GitHub silently failed with "Connection failed (R2 + GitHub)". Update-check traffic now routes through Android's system TLS stack via a JNI bridge to
HttpURLConnection. The nightly auto-check and its in-app "New Version Available" notification now work, and the Install button opens the Play Store listing instead of attempting a tarball install. -
Action-prompt modal: remove button event callbacks before freeing
user_datato avoid a use-after-free on dismissal (#840). -
LVGL: guard against a garbage non-null font pointer in the
sw_labelrenderer that crashed under rare layout cascades (#842). -
AMS edit modal: async-delete spool list children to avoid the LVGL event-list corruption pattern (L081) (#845).
-
Wizard: stop the connection spinner animation before
lv_obj_cleanto prevent a use-after-free on step transitions (#843). -
AMS AD5X IFS: close the race where
_IFS_VARSwas enabled before the macro had been verified present on the printer. -
Discovery (AD5X): IFS runout sensors now appear in
filament_sensor_namesso the runout row shows on AD5X. -
Runout modal: removed stray XML
event_cbdeclarations that produced "callback not found" warnings in the log. -
Hot-reload: reset
error_codebetween filesystem queries and use the non-throwing iterator increment — stops the watcher from aborting on transientENOENT. -
About settings: Check-for-Updates row description is visible at every breakpoint, so the "Error" / version text doesn't get hidden on narrow layouts.
-
Update flow: skip the redundant confirmation modal when the user already confirmed "Install" on the in-app update notification.
-
AD5M / AD5X launcher: enable
MALLOC_CHECK_=3andMALLOC_PERTURB_for heap diagnostics on the printers most prone to memory-pressure crashes (#838).