Shouldn't this line
if ($url->isExternal() || !$original_link->getUrlObject()->isRouted()) {
be this instead?
if ($url->isExternal() || !$url->isRouted()) {
$original_link would not be set on line 83 if I am reading this correctly
@mfb No, I have not tested this on a barebones install of drupal core. And my use case may not match a typical use of the module. Here is the scenario I am using that causes the issue.
Module installed, enabled and configured on the development, staging, and production environments. During local development we do not want the module installed to prevent errors around missing files. So we use config split so that the module is disabled locally after syncing configuration. So it may be a combination of config-split and disabling the module through configuration import. Or it could be any number of other contributed or custom modules that are causing the issues for me.
If you are not able to reproduce the issues that I am facing it is likely that the differences between my setup and a barebones Drupal install are causing the issues and that this is not a problem that needs to be resolved by the module.
@mfb Running cron does not appear to clean these up for me no. I neglected to add the use statement to the patch I uploaded.
Patch for removing field definitions
saltwaterskin β created an issue.