<ul><li>WidgetTemplateWebsiteJoinController.php: Fixed $this->isMultisite (undefined property) to $this->gc->isMultisite() — caused PHP warning that corrupted encrypted JSON response</li><li>WidgetTemplateWebsiteJoinController.php: Added ob_start()/ob_end_clean() around all response paths — prevents PHP warnings from contaminating CryptoJS-encrypted output</li><li>WidgetTemplateWebsiteJoinController.php: Fixed $_POST[_token] null coalesce — prevents Undefined index notice on missing token</li><li>HomePageManager/page/update_widgets.php: Added Array.isArray() null guards before $.each(data,...) in getAvailableWidgets and getUsedWidget — prevents TypeError: Cannot read properties of null (reading length) crash when AJAX returns empty/invalid response</li></ul>