Updated: Comment #0
Problem/Motivation
Many block plugins are provided by derivatives. Menus, views, feeds, custom blocks.
These are declarative, and each provider is responsible for the logic behind their discovery.
However, each provider is also responsible for removing the block when the source of the plugin was removed.
The two I've tested (feeds and views) are broken, and have no coverage, hence the critical bug.
Proposed resolution
Write test coverage for deleting the things that provide a block, after an instance is placed.
Remaining tasks
Identify derivatives
Create issues
Write tests
Fix resulting bugs
User interface changes
N/A
API changes
Ideally none
Comments
Comment #0.0
tim.plunkettAdded some issues
Comment #0.1
tim.plunkettAdd rows
Comment #0.2
tim.plunkettUpdated issue summary.
Comment #0.3
tim.plunkettUpdated issue summary.
Comment #1
tim.plunkettCustom blocks actively prevent you from deleting the block type while there are blocks:
Basic block is used by 1 custom block on your site. You can not remove this block type until you have removed all of the Basic block blocks.Comment #1.0
tim.plunkettUpdated issue summary.
Comment #1.1
tim.plunkettUpdated issue summary.
Comment #2
dawehnerJust writing it down:
All of them could actually be solved using #2031859: Invoke an event[s] when a plugin ID disappears
Comment #3
catchMoving this to a task, we already have a bug report open for the bug itself.
Comment #4
tim.plunkettComment #5
catchI think we should postpone this on #2031859: Invoke an event[s] when a plugin ID disappears since that's going to change how this all works. If it doesn't need to be postponed and someone works on a patch we can un-postpone though.
Comment #5.0
catchUpdated issue summary.
Comment #6
dawehnerDon't we deal with this now automatically by using config dependencies?
Comment #15
catchYes config dependencies fixed this, marking as outdated.