Two related fixes for LAN printing with newer Bambu networking plugins:
1. FileTransferUtils: guard against missing ft_tunnel_* symbols
The eMMC tunnel constructor calls ft_tunnel_create / ft_tunnel_set_status_cb
without checking if the plugin exported them. Older plugins (e.g.
01.10.01.01) don't have these symbols, so the calls dereference null and
crash when sending a print. Now throw a clear exception so callers can
fall back gracefully.
2. PrintJob: disable eMMC print path by default
Plugin 02.03.00.62's eMMC tunnel code hangs indefinitely at the upload
phase (30%) on Bambu H2D, blocked inside the plugin waiting on a future
that never resolves. Cancel doesn't work because the plugin doesn't
check cancel_fn during the wait. The plain FTP path works reliably.
Default to try_emmc_print=false; opt-in via AppConfig setting
"disable_emmc_print" = "0". Also wrap the eMMC tunnel creation in
try/catch so a missing-plugin exception cleanly falls back to FTP
instead of killing the worker thread.
Co-authored-by: hyiger <hyiger@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>