diff --git a/src/Content/Text/HTML.php b/src/Content/Text/HTML.php index 276094a8f9..adfc60eae1 100644 --- a/src/Content/Text/HTML.php +++ b/src/Content/Text/HTML.php @@ -180,7 +180,9 @@ class HTML $xpath = new DomXPath($doc); $list = $xpath->query("//pre"); foreach ($list as $node) { - $node->nodeValue = str_replace("\n", "\r", $node->nodeValue); + // Ensure to escape unescaped & - they will otherwise raise a warning + $safe_value = preg_replace('/&(?!\w+;)/', '&', $node->nodeValue); + $node->nodeValue = str_replace("\n", "\r", $safe_value); } $message = $doc->saveHTML(); diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index d2f5b3b2d5..1a631496b9 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -329,6 +329,11 @@ class Processor return; } + if (empty($object['id'])) { + Logger::log('Activity ' . $url . ' has got not id, aborting. ' . json_encode($object)); + return; + } + $activity = []; $activity['@context'] = $object['@context']; unset($object['@context']);