From: Matthew Flaschen Date: Wed, 19 Aug 2015 02:57:39 +0000 (-0400) Subject: RC: Handle getLine returning null, which breaks Redis engine (at least HHVM) X-Git-Tag: 1.31.0-rc.0~10351^2 X-Git-Url: http://git.cyclocoop.org/%24image?a=commitdiff_plain;h=047fc253d04f5a3ad81de917edf94fb3524513ac;p=lhc%2Fweb%2Fwiklou.git RC: Handle getLine returning null, which breaks Redis engine (at least HHVM) Bug: T109544 Change-Id: I02dcfc7a10a74571232a898f1ef348f8dbc48b45 --- diff --git a/includes/changes/RecentChange.php b/includes/changes/RecentChange.php index 77bf5df09d..54ca2ab23a 100644 --- a/includes/changes/RecentChange.php +++ b/includes/changes/RecentChange.php @@ -382,6 +382,13 @@ class RecentChange { /** @var $formatter RCFeedFormatter */ $formatter = is_object( $feed['formatter'] ) ? $feed['formatter'] : new $feed['formatter'](); $line = $formatter->getLine( $feed, $this, $actionComment ); + if ( !$line ) { + // T109544 + // If a feed formatter returns null, this will otherwise cause an + // error in at least RedisPubSubFeedEngine. + // Not sure where/how this should best be handled. + continue; + } $engine->send( $feed, $line ); } diff --git a/includes/rcfeed/RCFeedFormatter.php b/includes/rcfeed/RCFeedFormatter.php index 2f156598d3..f7e62ee6cf 100644 --- a/includes/rcfeed/RCFeedFormatter.php +++ b/includes/rcfeed/RCFeedFormatter.php @@ -32,7 +32,8 @@ interface RCFeedFormatter { * @param RecentChange $rc The RecentChange object showing what sort * of event has taken place. * @param string|null $actionComment - * @return string The text to send. + * @return string|null The text to send. If the formatter returns null, + * the line will not be sent. */ public function getLine( array $feed, RecentChange $rc, $actionComment ); }