From 1564c297bbd30337aef82d0e9d1013c8e61612da Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sat, 30 Dec 2023 00:27:57 +0100 Subject: [PATCH 1/2] Cache blocklist (#13779) --- src/Content/Conversation.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Content/Conversation.php b/src/Content/Conversation.php index 1f321b75e8..deecc6c224 100644 --- a/src/Content/Conversation.php +++ b/src/Content/Conversation.php @@ -96,6 +96,8 @@ class Conversation private $session; /** @var Repository\UserGServer */ private $userGServer; + /** @var Array */ + private $blockList; public function __construct(Repository\UserGServer $userGServer, LoggerInterface $logger, Profiler $profiler, Activity $activity, L10n $l10n, Item $item, Arguments $args, BaseURL $baseURL, IManageConfigValues $config, IManagePersonalConfigValues $pConfig, App\Page $page, App\Mode $mode, App $app, IHandleUserSessions $session) { @@ -700,21 +702,25 @@ class Conversation return []; } + if (!empty($this->blockList)) { + return $this->blockList; + } + $str_blocked = str_replace(["\n", "\r"], ",", $this->pConfig->get($this->session->getLocalUserId(), 'system', 'blocked') ?? ''); if (empty($str_blocked)) { return []; } - $blocklist = []; + $this->blockList = []; foreach (explode(',', $str_blocked) as $entry) { $cid = Contact::getIdForURL(trim($entry), 0, false); if (!empty($cid)) { - $blocklist[] = $cid; + $this->blockList[] = $cid; } } - return $blocklist; + return $this->blockList; } /** From ad1389b20a9f252eea7c13637701d4b008834e78 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sat, 30 Dec 2023 00:43:14 +0100 Subject: [PATCH 2/2] Transmitting events to Diaspora does work again (#13777) --- src/Protocol/Diaspora.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Protocol/Diaspora.php b/src/Protocol/Diaspora.php index 59918287ab..a9ba52dcd0 100644 --- a/src/Protocol/Diaspora.php +++ b/src/Protocol/Diaspora.php @@ -3259,7 +3259,9 @@ class Diaspora /// @todo - establish "all day" events in Friendica $eventdata['all_day'] = 'false'; - $eventdata['timezone'] = 'UTC'; + // @todo Should be user timezone - but only if the event is supposed to be displayed + // in that specific timezone and not the user's timezone. + // $eventdata['timezone'] = 'UTC'; if ($event['start']) { $eventdata['start'] = DateTimeFormat::utc($event['start'], $mask); @@ -3403,8 +3405,7 @@ class Diaspora if ($item['event-id'] > 0) { $event = self::buildEvent($item['event-id']); if (count($event)) { - // Deactivated, since Diaspora seems to have problems with the processing. - // $message['event'] = $event; + $message['event'] = $event; if ( !empty($event['location']['address']) &&