Fixed
-
Self-update was always mislabelled as an "external stop signal (SIGTERM)" on the next boot (#2). The marker that tells the freshly-booted process "this restart was my own self-update" was never actually written:
_do_selfupdateread the marker path off its localconfigvariable — the docker-inspect dict (needed for the recreate), not the appConfigobject — so the write raisedAttributeError, got swallowed by its best-efforttry/except, and the error only ever printed inside the old container that was about to be deleted.Affected both the manual
/selfupdateand the scheduled auto-self-update path, on every self-update since the marker was introduced in v1.26.2. Fixed by reading the path offself.config.selfupdate_marker_file(extracted into_write_selfupdate_marker). A self-update no longer prints the misleading "restarted after an external stop — Docksentry did not restart itself" line.Regression test added in
scripts/test_selfupdate_marker.py— the previous test only covered the boot-side read logic, never the write, which is why this slipped through.