v1.4.2
What's Changed
Security
- Fix shell injection in SSH_ASKPASS script — passwords with special characters (e.g. quotes) are now properly escaped using single-quote wrapping
Bug Fixes
- Replace ReloadSkin() with systemctl restart — pull sync no longer overwrites just-pulled settings by triggering Kodi's in-memory write-back
- Track and report SCP copy failures — sync methods now return failure when any file transfer fails, instead of always reporting success
- Fix Avahi empty-list fallback — when Avahi returns no devices, the IP scan fallback now runs correctly instead of being skipped
- Stop remote Kodi before pull — prevents reading inconsistent files while the source device's Kodi writes to disk
Code Quality
- Extract
_run_ssh/_run_scphelpers to eliminate repeated SSH option boilerplate across ~10 call sites - Collapse duplicate device verification branches in network scanning
- Fix bare
except:clauses →except Exception: - Fix socket leak in
get_local_ip(try/finally) - Move
shutilto top-level import - Remove dead code:
get_paired_devices_string,sync_to_all_devices,KODI_USERDATAconstant, unusedself.progress - Remove unused
do_backupparameter fromsync_skin_to_device
Full Changelog: v1.4.1...v1.4.2