Reported by Berdir:
/**
* Implements hook_entity_build_defaults_alter().
*/
function comment_entity_build_defaults_alter(array &$build, EntityInterface $entity, $view_mode = 'full', $langcode = NULL) {
// Get the corresponding display settings.
$display = EntityViewDisplay::collectRenderDisplay($entity, $view_mode);
// Add the comment page number to the cache key if render caching is enabled.
if (isset($build['#cache']) && isset($build['#cache']['keys']) && \Drupal::request()->query->has('page')) {
foreach ($entity->getFieldDefinitions() as $field_name => $definition) {
if ($definition->getType() === 'comment'&& ($display_options = $display->getComponent($field_name))) {
$pager_id = $display_options['settings']['pager_id'];
$page = pager_find_page($pager_id);
$build['#cache']['keys'][] = $field_name . '-pager-' . $page;
}
}
}
return $build;
}