diff --git a/includes/CommentFormatter.php b/includes/CommentFormatter.php index 264a2a559..488551b8f 100644 --- a/includes/CommentFormatter.php +++ b/includes/CommentFormatter.php @@ -410,8 +410,8 @@ class CommentFormatter { ->addTrackingCategory( $pout, 'discussiontools-comments-before-first-heading-category', $title ); } - if ( count( $threadItems ) > 0 ) { - $pout->setExtensionData( 'DiscussionTools-isNotEmptyTalkPage', true ); + if ( count( $threadItems ) === 0 ) { + $pout->setExtensionData( 'DiscussionTools-isEmptyTalkPage', true ); } $threadsJSON = array_map( static function ( ContentThreadItem $item ) { @@ -926,7 +926,7 @@ class CommentFormatter { * HookUtils::shouldDisplayEmptyState which assures we have a talk page. */ public static function isEmptyTalkPage( ParserOutput $pout ): bool { - return $pout->getExtensionData( 'DiscussionTools-isNotEmptyTalkPage' ) !== true; + return $pout->getExtensionData( 'DiscussionTools-isEmptyTalkPage' ) === true; } /** diff --git a/includes/Hooks/ParserHooks.php b/includes/Hooks/ParserHooks.php index b119420a9..64c4c6bdb 100644 --- a/includes/Hooks/ParserHooks.php +++ b/includes/Hooks/ParserHooks.php @@ -72,7 +72,7 @@ class ParserHooks implements if ( $isPreview ) { $html = CommentFormatter::removeInteractiveTools( $html ); // Suppress the empty state - $pout->setExtensionData( 'DiscussionTools-isNotEmptyTalkPage', true ); + $pout->setExtensionData( 'DiscussionTools-isEmptyTalkPage', null ); } $pout->addModuleStyles( [ 'ext.discussionTools.init.styles' ] ); diff --git a/tests/phpunit/CommentFormatterTest.php b/tests/phpunit/CommentFormatterTest.php index 446d9fe59..1bedd7c21 100644 --- a/tests/phpunit/CommentFormatterTest.php +++ b/tests/phpunit/CommentFormatterTest.php @@ -95,8 +95,8 @@ class CommentFormatterTest extends IntegrationTestCase { "hasLedeContent\n" : '' ) . ( $pout->getExtensionData( 'DiscussionTools-hasCommentsInLedeContent' ) ? "hasCommentsInLedeContent\n" : '' ) . - ( $pout->getExtensionData( 'DiscussionTools-isNotEmptyTalkPage' ) ? - '' : "isEmptyTalkPage\n" ) . + ( $pout->getExtensionData( 'DiscussionTools-isEmptyTalkPage' ) ? + "isEmptyTalkPage\n" : '' ) . FormatJson::encode( $pout->getJsConfigVars(), "\t", FormatJson::ALL_OK ) . "\n";