Issue #3260465: Fix RouteNotFoundException WSOD caused by race condition

Fix four interrelated defects that caused intermittent White Screen of Death:

  1. Fix duplicate link template key: both list and render routes used 'vmd-preview-list', causing the list path to be overwritten. Now uses separate keys 'vmd-preview-list' and 'vmd-preview-render'.

  2. Remove race condition: route creation no longer depends on getViewModes() returning data at route-build time. Routes are now created whenever entity types have link templates, eliminating the window where cached entity types have templates but routes don't exist.

  3. Add route existence guard in ViewModeDisplayLocalTask deriver: verify routes exist via RouteProviderInterface before creating local task derivatives, preventing WSOD during partial cache rebuilds.

  4. Add try/catch guard in entityOperation to prevent RouteNotFoundException from crashing admin listing pages.

Merge request reports

Loading