From e473937cb9985404b214ed9435a3447ead9c3f11 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Tue, 20 Nov 2018 22:39:23 +0000 Subject: [PATCH] Give priority to ATOM to expose WebSub. Hello, The ATOM feed contains the hub declaration for WebSub / PubSubHubbub, but the RSS / RDF / JSON versions do not. Currently, the ATOM version is declared last. RSS/ATOM clients typically pick whichever version comes first, and will thus not see the WebSub feature. I therefore suggest putting the ATOM version first, as it is more feature-rich than the other versions. Clients not compatible with ATOM would not pick it anyway due to the different type attribute. See same PR for Mastodon: https://github.com/tootsuite/mastodon/pull/9302 and WebSub tester https://websub.rocks/publisher --- actions/public.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/actions/public.php b/actions/public.php index a2958e8806..18613de892 100644 --- a/actions/public.php +++ b/actions/public.php @@ -97,7 +97,12 @@ class PublicAction extends SitestreamAction */ function getFeeds() { - return array(new Feed(Feed::JSON, + return array(new Feed(Feed::ATOM, + common_local_url('ApiTimelinePublic', + array('format' => 'atom')), + // TRANS: Link description for public timeline feed. + _('Public Timeline Feed (Atom)')), + new Feed(Feed::JSON, common_local_url('ApiTimelinePublic', array('format' => 'as')), // TRANS: Link description for public timeline feed. @@ -105,15 +110,10 @@ class PublicAction extends SitestreamAction new Feed(Feed::RSS1, common_local_url('publicrss'), // TRANS: Link description for public timeline feed. _('Public Timeline Feed (RSS 1.0)')), - new Feed(Feed::RSS2, + new Feed(Feed::RSS2, common_local_url('ApiTimelinePublic', array('format' => 'rss')), // TRANS: Link description for public timeline feed. - _('Public Timeline Feed (RSS 2.0)')), - new Feed(Feed::ATOM, - common_local_url('ApiTimelinePublic', - array('format' => 'atom')), - // TRANS: Link description for public timeline feed. - _('Public Timeline Feed (Atom)'))); + _('Public Timeline Feed (RSS 2.0)'))); } }