From ce174cad917ccfc38fbc385baf401ffb33de3d7e Mon Sep 17 00:00:00 2001
From: Michael <heluecht@pirati.ca>
Date: Thu, 30 Dec 2021 22:40:52 +0000
Subject: [PATCH] More often update Diaspora contacts

---
 src/Model/Contact.php  | 9 +++++++++
 src/Model/FContact.php | 4 ++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/Model/Contact.php b/src/Model/Contact.php
index 8c946502b1..96ffc53468 100644
--- a/src/Model/Contact.php
+++ b/src/Model/Contact.php
@@ -1241,6 +1241,10 @@ class Contact
 			Logger::info('Contact will be updated', ['url' => $url, 'uid' => $uid, 'update' => $update, 'cid' => $contact_id]);
 		}
 
+		if ($data['network'] == Protocol::DIASPORA) {
+			FContact::updateFromProbeArray($data);
+		}
+
 		self::updateFromProbeArray($contact_id, $data);
 
 		// Don't return a number for a deleted account
@@ -2076,6 +2080,11 @@ class Contact
 		}
 
 		$ret = Probe::uri($contact['url'], $network, $contact['uid']);
+
+		if ($ret['network'] == Protocol::DIASPORA) {
+			FContact::updateFromProbeArray($ret);
+		}
+
 		return self::updateFromProbeArray($id, $ret);
 	}
 
diff --git a/src/Model/FContact.php b/src/Model/FContact.php
index 09ee3fb3d5..f78da626cb 100644
--- a/src/Model/FContact.php
+++ b/src/Model/FContact.php
@@ -75,7 +75,7 @@ class FContact
 			// Note that Friendica contacts will return a "Diaspora person"
 			// if Diaspora connectivity is enabled on their server
 			if ($data['network'] ?? '' === Protocol::DIASPORA) {
-				self::updateFContact($data);
+				self::updateFromProbeArray($data);
 
 				$person = self::getByURL($handle, false);
 			}
@@ -90,7 +90,7 @@ class FContact
 	 * @param array $arr The fcontact data
 	 * @throws \Exception
 	 */
-	private static function updateFContact($arr)
+	public static function updateFromProbeArray($arr)
 	{
 		$uriid = ItemURI::insert(['uri' => $arr['url'], 'guid' => $arr['guid']]);