recovery: update resources, restore source props