]> git.mxchange.org Git - friendica.git/commitdiff
Fix performance issues due to relay contact requests
authorMichael Vogel <icarus@dabo.de>
Mon, 2 Sep 2019 13:11:07 +0000 (15:11 +0200)
committerMichael Vogel <icarus@dabo.de>
Mon, 2 Sep 2019 13:11:07 +0000 (15:11 +0200)
src/Model/Contact.php
src/Protocol/Diaspora.php

index 4bdaa9c7136c2b4a60ebf10f69837e6ae145bcba..ffdee6aa0ecd1cbf77b35870fa04ea7ee7c1d3fe 100644 (file)
@@ -906,7 +906,7 @@ class Contact extends BaseObject
                // Always unarchive the relay contact entry
                if (!empty($contact['batch']) && !empty($contact['term-date']) && ($contact['term-date'] > DBA::NULL_DATETIME)) {
                        $fields = ['term-date' => DBA::NULL_DATETIME, 'archive' => false];
-                       $condition = ['batch' => $contact['batch'], 'contact-type' => self::TYPE_RELAY, 'uid' => 0];
+                       $condition = ['uid' => 0, 'network' => Protocol::FEDERATED, 'batch' => $contact['batch'], 'contact-type' => self::TYPE_RELAY];
                        DBA::update('contact', $fields, $condition);
                }
 
@@ -1620,7 +1620,8 @@ class Contact extends BaseObject
 
                // Check status of Diaspora endpoints
                if (!empty($contact['batch'])) {
-                       return DBA::exists('contact', ['archive' => true, 'batch' => $contact['batch'], 'contact-type' => self::TYPE_RELAY, 'uid' => 0]);
+                       $condition = ['archive' => true, 'uid' => 0, 'network' => Protocol::FEDERATED, 'batch' => $contact['batch'], 'contact-type' => self::TYPE_RELAY];
+                       return DBA::exists('contact', $condition);
                 }
 
                return false;
index a0bb0d9fa3a7796a3efdac08067a66aa60b4509b..2ff271ee0da0a2a40cf6b7fd29dfb99d967fd3ad 100644 (file)
@@ -62,7 +62,8 @@ class Diaspora
                        $relay_contact = $contact;
                } elseif (empty($contact['baseurl'])) {
                        if (!empty($contact['batch'])) {
-                               $relay_contact = DBA::selectFirst('contact', [], ['batch' => $contact['batch'], 'contact-type' => Contact::TYPE_RELAY, 'uid' => 0]);
+                               $condition = ['uid' => 0, 'network' => Protocol::FEDERATED, 'batch' => $contact['batch'], 'contact-type' => Contact::TYPE_RELAY];
+                               $relay_contact = DBA::selectFirst('contact', [], $condition);
                        } else {
                                return;
                        }