From 4e0595fb0f8413832865975748898445bc4117c4 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 6 May 2022 10:35:17 +0200 Subject: [PATCH] Fix JSON error when comment has no reactions Signed-off-by: Joas Schilling --- lib/private/Comments/Manager.php | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/lib/private/Comments/Manager.php b/lib/private/Comments/Manager.php index 3275658d555..4a06ac62f1e 100644 --- a/lib/private/Comments/Manager.php +++ b/lib/private/Comments/Manager.php @@ -110,18 +110,24 @@ class Manager implements ICommentsManager { $data['children_count'] = (int)$data['children_count']; $data['reference_id'] = $data['reference_id'] ?? null; if ($this->supportReactions()) { - $list = json_decode($data['reactions'], true); - // Ordering does not work on the database with group concat and Oracle, - // So we simply sort on the output. - if (is_array($list)) { - uasort($list, static function ($a, $b) { - if ($a === $b) { - return 0; - } - return ($a > $b) ? -1 : 1; - }); + if ($data['reactions'] !== null) { + $list = json_decode($data['reactions'], true); + // Ordering does not work on the database with group concat and Oracle, + // So we simply sort on the output. + if (is_array($list)) { + uasort($list, static function ($a, $b) { + if ($a === $b) { + return 0; + } + return ($a > $b) ? -1 : 1; + }); + $data['reactions'] = $list; + } else { + $data['reactions'] = []; + } + } else { + $data['reactions'] = []; } - $data['reactions'] = $list; } return $data; } -- 2.39.5