diff --git a/mod/_well_known.php b/mod/_well_known.php index 782dc7a1b1..407fc756a9 100644 --- a/mod/_well_known.php +++ b/mod/_well_known.php @@ -73,8 +73,8 @@ function wk_social_relay() 'subscribe' => $subscribe, 'scope' => $scope, 'tags' => $taglist, - 'protocols' => ['diaspora' => System::baseUrl() . '/receive/public', - 'dfrn' => System::baseUrl() . '/dfrn_notify'] + 'protocols' => ['diaspora' => ['receive' => System::baseUrl() . '/receive/public'], + 'dfrn' => ['receive' => System::baseUrl() . '/dfrn_notify']] ]; header('Content-type: application/json; charset=utf-8'); diff --git a/src/Protocol/PortableContact.php b/src/Protocol/PortableContact.php index 672956ffb9..d737f4d5af 100644 --- a/src/Protocol/PortableContact.php +++ b/src/Protocol/PortableContact.php @@ -1436,11 +1436,19 @@ class PortableContact if (isset($data->protocols)) { if (isset($data->protocols->diaspora)) { $fields['network'] = NETWORK_DIASPORA; - $fields['batch'] = $data->protocols->diaspora; + if (isset($data->protocols->diaspora->receive)) { + $fields['batch'] = $data->protocols->diaspora->receive; + } elseif (is_string($data->protocols->diaspora)) { + $fields['batch'] = $data->protocols->diaspora; + } } if (isset($data->protocols->dfrn)) { $fields['network'] = NETWORK_DFRN; - $fields['batch'] = $data->protocols->dfrn; + if (isset($data->protocols->dfrn->receive)) { + $fields['batch'] = $data->protocols->dfrn->receive; + } elseif (is_string($data->protocols->dfrn)) { + $fields['batch'] = $data->protocols->dfrn; + } } } Diaspora::setRelayContact($server_url, $fields);