diff --git a/src/Content/Widget/ContactBlock.php b/src/Content/Widget/ContactBlock.php index 85c722c8a0..9e74a16115 100644 --- a/src/Content/Widget/ContactBlock.php +++ b/src/Content/Widget/ContactBlock.php @@ -66,6 +66,7 @@ class ContactBlock 'pending' => false, 'hidden' => false, 'archive' => false, + 'failed' => false, 'network' => [Protocol::DFRN, Protocol::ACTIVITYPUB, Protocol::OSTATUS, Protocol::DIASPORA, Protocol::FEED], ]); diff --git a/src/Model/Contact/Group.php b/src/Model/Contact/Group.php index b2d165f6a7..5bf1dce507 100644 --- a/src/Model/Contact/Group.php +++ b/src/Model/Contact/Group.php @@ -82,6 +82,7 @@ class Group AND NOT `deleted` AND NOT `blocked` AND NOT `pending` + AND NOT `failed` AND `id` NOT IN ( SELECT DISTINCT(`contact-id`) FROM `group_member` diff --git a/src/Model/Profile.php b/src/Model/Profile.php index 4d44a56a04..e98f0048ee 100644 --- a/src/Model/Profile.php +++ b/src/Model/Profile.php @@ -406,6 +406,7 @@ class Profile 'pending' => false, 'hidden' => false, 'archive' => false, + 'failed' => false, 'network' => Protocol::FEDERATED, ]); } diff --git a/src/Module/Contact.php b/src/Module/Contact.php index cc4f4d9abe..85b3bb4239 100644 --- a/src/Module/Contact.php +++ b/src/Module/Contact.php @@ -652,15 +652,15 @@ class Contact extends BaseModule array_unshift($sql_values, 0); break; case 'archived': - $sql_extra = " AND `archive` AND NOT `blocked` AND NOT `pending`"; + $sql_extra = " AND (`archive` OR `failed`) AND NOT `blocked` AND NOT `pending`"; break; case 'pending': - $sql_extra = " AND `pending` AND NOT `archive` AND ((`rel` = ?) + $sql_extra = " AND `pending` AND NOT `archive` AND NOT `failed` AND ((`rel` = ?) OR EXISTS (SELECT `id` FROM `intro` WHERE `contact-id` = `contact`.`id` AND NOT `ignore`))"; $sql_values[] = Model\Contact::SHARING; break; default: - $sql_extra = " AND NOT `archive` AND NOT `blocked` AND NOT `pending`"; + $sql_extra = " AND NOT `archive` AND NOT `blocked` AND NOT `pending` AND NOT `failed`"; break; } diff --git a/src/Module/Contact/Contacts.php b/src/Module/Contact/Contacts.php index 355619c712..e328b978ce 100644 --- a/src/Module/Contact/Contacts.php +++ b/src/Module/Contact/Contacts.php @@ -41,6 +41,7 @@ class Contacts extends BaseModule 'blocked' => false, 'self' => false, 'hidden' => false, + 'failed' => false, ]; $noresult_label = DI::l10n()->t('No known contacts.'); diff --git a/src/Module/Group.php b/src/Module/Group.php index e22163ecc3..8da062a93e 100644 --- a/src/Module/Group.php +++ b/src/Module/Group.php @@ -319,7 +319,7 @@ class Group extends BaseModule $contacts = Model\Contact\Group::listUngrouped(local_user()); } else { $contacts_stmt = DBA::select('contact', [], - ['uid' => local_user(), 'pending' => false, 'blocked' => false, 'self' => false], + ['uid' => local_user(), 'pending' => false, 'blocked' => false, 'failed' => false, 'self' => false], ['order' => ['name']] ); $contacts = DBA::toArray($contacts_stmt); diff --git a/src/Module/Profile/Contacts.php b/src/Module/Profile/Contacts.php index 959552542f..654414f35c 100644 --- a/src/Module/Profile/Contacts.php +++ b/src/Module/Profile/Contacts.php @@ -69,6 +69,7 @@ class Contacts extends Module\BaseProfile 'pending' => false, 'hidden' => false, 'archive' => false, + 'failed' => false, 'self' => false, 'network' => [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, Protocol::FEED] ];