jackjamieson2 / yarns-microsub-server

Yarns is a Microsub server that runs as a plugin on your WordPress site.
GNU General Public License v2.0
20 stars 4 forks source link

Can't subscribe to some feeds that look fine when requested manually #96

Open bekopharm opened 5 years ago

bekopharm commented 5 years ago

Some feeds never show any entries despite having a successful subscription. I suspect it's date related.

Yarns Microsub Server Version 1.0.2 WordPress Version 5.2.3

Some render a preview on adding:

https://hroarr.com/feed/

This may actually be due to age of posts. Description says Number of days to store feed items before deleting so one assumes it's number since fetched and not since today.

Some not even that:

https://medium.com/feed/okuna

When executed manually via wp-cli only plenty of warnings about Date show but script succeeds:

wp-cli.phar --debug cron event run yarns_microsub_server_cron
[...]
PHP Warning:  A non-numeric value encountered in wp-includes/SimplePie/Parse/Date.php on line 694
Warning: A non-numeric value encountered in wp-includes/SimplePie/Parse/Date.php on line 694
PHP Warning:  A non-numeric value encountered in wp-includes/SimplePie/Parse/Date.php on line 694
Warning: A non-numeric value encountered in wp-includes/SimplePie/Parse/Date.php on line 694
Executed the cron event 'yarns_microsub_server_cron' in 14.608s.
jackjamieson2 commented 5 years ago

Thanks!

Actually age of posts is referring to the number of days since the post was originally published. This fit my use case of treating Yarns as a newsfeed, but I can understand your interpretation. I should rephrase that text in the interface.

I’ll check out the other example when I get a chance. (Been on a roll at work and not had much downtime but hopefully I will soon)

On Tue, Oct 8, 2019 at 5:47 AM Bernd Kosmahl notifications@github.com wrote:

Some feeds never show any entries despite having a successful subscription. I suspect it's date related.

Yarns Microsub Server Version 1.0.2 WordPress Version 5.2.3

Some render a preview on adding:

https://hroarr.com/feed/

This may actually be due to age of posts. Description says Number of days to store feed items before deleting so one assumes it's number since fetched and not since today.

Some not even that:

https://medium.com/feed/okuna

When executed manually via wp-cli only plenty of warnings about Date show but script succeeds:

wp-cli.phar --debug cron event run yarns_microsub_server_cron [...] PHP Warning: A non-numeric value encountered in wp-includes/SimplePie/Parse/Date.php on line 694 Warning: A non-numeric value encountered in wp-includes/SimplePie/Parse/Date.php on line 694 PHP Warning: A non-numeric value encountered in wp-includes/SimplePie/Parse/Date.php on line 694 Warning: A non-numeric value encountered in wp-includes/SimplePie/Parse/Date.php on line 694 Executed the cron event 'yarns_microsub_server_cron' in 14.608s.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jackjamieson2/yarns-microsub-server/issues/96?email_source=notifications&email_token=AC5U5RZEIE5YDHT2NLW4FPTQNRJMLA5CNFSM4I6POK2KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HQJRKDQ, or mute the thread https://github.com/notifications/unsubscribe-auth/AC5U5R4LZYPAMU7SM4XWPB3QNRJMLANCNFSM4I6POK2A .

jackjamieson2 commented 5 years ago

Looking into the Medium feed.

I'm not seeing the warnings about Date, but that may simply be because I've updated the Parse-This library on my testing server and the problem has been solved there.

However, I'm also not getting any results. When I try to preview https://medium.com/feed/okuna the following is returned:

{"url":"https:\/\/medium.com\/feed\/okuna",
"name":"<![CDATA[Okuna - Medium]]>",
"_raw":{"meta":{"title":"<![CDATA[Okuna - Medium]]>"}},
"_parse_time":0,
"_post_limit":5}

I noticed an oddity that might be responsible: When I access https://medium.com/feed/okuna in my browser, the content-type header is text/xml

When I ran the script through Parse_This_Discovery->fetch(), the content-type header is returned as text/html. If Parse-This doesn't recognize the feed type, it won't be able to parse it correctly, leading to 0 items in the feed.

@dshanske - Do you have any thoughts on this?

bekopharm commented 5 years ago

Maybe cloudflare. When I try to reproduce this with curl (Accept: text/html) I still get content-type: text/xml; charset=UTF-8 returned. XML looks legit too.

dshanske commented 4 years ago

With the medium feed, I'm getting Service Unavailable. Suggests it doesn't like my user agent.