Page MenuHomePhabricator

Fatal Error on Install: Interface "BeforeDisplayOrangeAlert" not found
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

  • Install MediaWiki v 1.42 & core extensions
  • Install & Activate Flow/StructuredDiscussions
  • Go to any wiki page

What happens?:

Fatal error.

Fatal error: Uncaught Error: Interface "BeforeDisplayOrangeAlert" not found in /var/www/conf/extensions/Flow/includes/Hooks.php:110 Stack trace: 

#0 /var/www/mediawiki/includes/AutoLoader.php(223): require() 
#1 [internal function]: AutoLoader::autoload('Flow\\Hooks') 
#2 /var/www/mediawiki/includes/registration/ExtensionRegistry.php(555): is_callable('Flow\\Hooks::reg...') 
#3 /var/www/mediawiki/includes/registration/ExtensionRegistry.php(320): ExtensionRegistry->exportExtractedData(Array) 
#4 /var/www/mediawiki/includes/Setup.php(288): ExtensionRegistry->loadFromQueue() 
#5 /var/www/mediawiki/includes/WebStart.php(85): require_once('/var/www/mediaw...') 
#6 /var/www/mediawiki/index.php(50): require('/var/www/mediaw...') 
#7 {main} thrown in /var/www/conf/extensions/Flow/includes/Hooks.php on line 110

What should have happened instead?:

No fatal error!

Software version (on Special:Version page; skip for WMF-hosted wikis like Wikipedia):

1.42

Other information (browser name/version, screenshots, etc.):

I see that this extension is no longer developed, but some other (core) extensions reference it -- before I installed Flow, when I went to Talk pages, I was getting an error saying:

MWUnknownContentModelException: The content model 'flow-board' is not registered on this wiki

that error message referenced this page, which brought me to SD/Flow.

(I don't know what extension is causing this reference to flow-board, but I have only installed core extensions that are offered in the initial MW installation process.)

I tried to fix the Flow error myself; I think it's a namespacing issue? But I was unable to determine the correct way to identify BeforeDisplayOrangeAlert.

Going on the notes provided on the MediaWiki.org Flow page, this is probably not going to get fixed, which is fine -- I can figure out which extension is invoking Flow and causing my initial issue, and maybe put a report in on that one. But it seems like Flow is uninstallably broken, so I thought I should let someone know.

Event Timeline

The issue here appears to be that Flow depends on Echo, which isn't installed on your wiki.

This is documented at https://www.mediawiki.org/wiki/Extension:StructuredDiscussions#Dependencies

Install & Activate Flow/StructuredDiscussions

I'd advise against this.

Install MediaWiki v 1.42 & core extensions

Does "core extensions" mean those extensions bundled with the tarball, or which source did you use to install MediaWiki?

Flow codebase defines ./includes/Hooks.php: use MediaWiki\Extension\Notifications\Hooks\BeforeDisplayOrangeAlertHook;.
Echo (Notifications) codebase defines ./includes/Hooks/BeforeDisplayOrangeAlertHook.php: interface BeforeDisplayOrangeAlertHook.
So I'm curious if Echo is listed on the Special:Version wiki page in your installation.

Aklapper renamed this task from Fatal Error on Install to Fatal Error on Install: Interface "BeforeDisplayOrangeAlert" not found.Sep 8 2024, 5:11 PM

Change #1072913 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Flow@master] Use HookHandlers for Echo's BeforeDisplayOrangeAlertHook

https://gerrit.wikimedia.org/r/1072913

Change #1072913 abandoned by Umherirrender:

[mediawiki/extensions/Flow@master] Use HookHandlers for Echo's BeforeDisplayOrangeAlertHook

Reason:

T332022

https://gerrit.wikimedia.org/r/1072913

Change #1195388 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Flow@master] Move some Echo hook handler to new class to make Echo optional

https://gerrit.wikimedia.org/r/1195388

Krinkle changed the task status from Invalid to Resolved.Oct 11 2025, 10:43 PM
Krinkle assigned this task to Umherirrender.
Krinkle added a project: Regression.

Change #1195388 merged by jenkins-bot:

[mediawiki/extensions/Flow@master] Move some Echo hook handler to new class to make Echo optional

https://gerrit.wikimedia.org/r/1195388

Change #1195401 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Flow@REL1_44] Move some Echo hook handler to new class to make Echo optional

https://gerrit.wikimedia.org/r/1195401

Change #1195401 merged by jenkins-bot:

[mediawiki/extensions/Flow@REL1_44] Move some Echo hook handler to new class to make Echo optional

https://gerrit.wikimedia.org/r/1195401

Change #1195403 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Flow@REL1_43] Move some Echo hook handler to new class to make Echo optional

https://gerrit.wikimedia.org/r/1195403

Change #1195403 merged by jenkins-bot:

[mediawiki/extensions/Flow@REL1_43] Move some Echo hook handler to new class to make Echo optional

https://gerrit.wikimedia.org/r/1195403