fix: try restoring as much as possible when purge fails