Merge pull request #13723 from annando/threads2
Allow longer avatar URLs / the system outbox is now handled
This commit is contained in:
commit
08eaedede1
|
@ -385,18 +385,18 @@ class APContact
|
||||||
}
|
}
|
||||||
|
|
||||||
// When the photo is too large, try to shorten it by removing parts
|
// When the photo is too large, try to shorten it by removing parts
|
||||||
if (strlen($apcontact['photo'] ?? '') > 255) {
|
if (strlen($apcontact['photo'] ?? '') > 383) {
|
||||||
$parts = parse_url($apcontact['photo']);
|
$parts = parse_url($apcontact['photo']);
|
||||||
unset($parts['fragment']);
|
unset($parts['fragment']);
|
||||||
$apcontact['photo'] = (string)Uri::fromParts((array)$parts);
|
$apcontact['photo'] = (string)Uri::fromParts((array)$parts);
|
||||||
|
|
||||||
if (strlen($apcontact['photo']) > 255) {
|
if (strlen($apcontact['photo']) > 383) {
|
||||||
unset($parts['query']);
|
unset($parts['query']);
|
||||||
$apcontact['photo'] = (string)Uri::fromParts((array)$parts);
|
$apcontact['photo'] = (string)Uri::fromParts((array)$parts);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen($apcontact['photo']) > 255) {
|
if (strlen($apcontact['photo']) > 383) {
|
||||||
$apcontact['photo'] = substr($apcontact['photo'], 0, 255);
|
$apcontact['photo'] = substr($apcontact['photo'], 0, 383);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -82,6 +82,7 @@ class GServer
|
||||||
const DETECT_STATUS_PHP = 17; // Nextcloud
|
const DETECT_STATUS_PHP = 17; // Nextcloud
|
||||||
const DETECT_V1_CONFIG = 18;
|
const DETECT_V1_CONFIG = 18;
|
||||||
const DETECT_SYSTEM_ACTOR = 20; // Mistpark, Osada, Roadhouse, Zap
|
const DETECT_SYSTEM_ACTOR = 20; // Mistpark, Osada, Roadhouse, Zap
|
||||||
|
const DETECT_THREADS = 21;
|
||||||
|
|
||||||
// Standardized endpoints
|
// Standardized endpoints
|
||||||
const DETECT_STATISTICS_JSON = 100;
|
const DETECT_STATISTICS_JSON = 100;
|
||||||
|
@ -671,6 +672,12 @@ class GServer
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (in_array($url, ['https://www.threads.net', 'https://threads.net'])) {
|
||||||
|
$serverdata['detection-method'] = self::DETECT_THREADS;
|
||||||
|
$serverdata['network'] = Protocol::ACTIVITYPUB;
|
||||||
|
$serverdata['platform'] = 'threads';
|
||||||
|
}
|
||||||
|
|
||||||
if (($serverdata['network'] == Protocol::PHANTOM) || in_array($serverdata['detection-method'], self::DETECT_UNSPECIFIC)) {
|
if (($serverdata['network'] == Protocol::PHANTOM) || in_array($serverdata['detection-method'], self::DETECT_UNSPECIFIC)) {
|
||||||
$serverdata = self::detectMastodonAlikes($url, $serverdata);
|
$serverdata = self::detectMastodonAlikes($url, $serverdata);
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
namespace Friendica\Module\ActivityPub;
|
namespace Friendica\Module\ActivityPub;
|
||||||
|
|
||||||
use Friendica\Core\System;
|
|
||||||
use Friendica\Model\User;
|
use Friendica\Model\User;
|
||||||
use Friendica\Module\BaseApi;
|
use Friendica\Module\BaseApi;
|
||||||
use Friendica\Protocol\ActivityPub;
|
use Friendica\Protocol\ActivityPub;
|
||||||
|
@ -36,7 +35,7 @@ class Outbox extends BaseApi
|
||||||
protected function rawContent(array $request = [])
|
protected function rawContent(array $request = [])
|
||||||
{
|
{
|
||||||
if (empty($this->parameters['nickname'])) {
|
if (empty($this->parameters['nickname'])) {
|
||||||
throw new \Friendica\Network\HTTPException\NotFoundException();
|
$this->jsonExit([], 'application/activity+json');
|
||||||
}
|
}
|
||||||
|
|
||||||
$owner = User::getOwnerDataByNick($this->parameters['nickname']);
|
$owner = User::getOwnerDataByNick($this->parameters['nickname']);
|
||||||
|
|
|
@ -452,6 +452,7 @@ return [
|
||||||
'/following/{nickname}' => [Module\ActivityPub\Following::class, [R::GET]],
|
'/following/{nickname}' => [Module\ActivityPub\Following::class, [R::GET]],
|
||||||
'/friendica[/{format:json}]' => [Module\Friendica::class, [R::GET]],
|
'/friendica[/{format:json}]' => [Module\Friendica::class, [R::GET]],
|
||||||
'/friendica/inbox' => [Module\ActivityPub\Inbox::class, [R::GET, R::POST]],
|
'/friendica/inbox' => [Module\ActivityPub\Inbox::class, [R::GET, R::POST]],
|
||||||
|
'/friendica/outbox' => [Module\ActivityPub\Outbox::class, [R::GET]],
|
||||||
|
|
||||||
'/fsuggest/{contact:\d+}' => [Module\FriendSuggest::class, [R::GET, R::POST]],
|
'/fsuggest/{contact:\d+}' => [Module\FriendSuggest::class, [R::GET, R::POST]],
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user