refreshEntry set entry.url to the descriptor's address unconditionally, so a slug change the job saw before any RecordSaved listener lost its 301 for good. An entry whose URL differs now goes through AddressChanged (via auto), which creates the 301 and moves the URL; an empty URL is filled.
27 KiB
27 KiB