Change on Tumblr: RSS feeds not working

tt-rss version you’re running is too old

I created an account here just to thank @Arvedui and @GregThib !
So glad some people tried to create a workaround for this problem. Redirecting the rss URI that’s supposed to return a xml document and not supposed to be read by a human is bad design…
I’m using @GregThib’s plugin, it works great (had to update my ttrss that was falling behind, I don’t know if plugins have a minimum required version setting or not, php logs + google were explicit enough).
2 custom domains added, and those work great too, thanks again!

Hey, you’re welcome.

I’m very happy to help, and it was a good job to dive into tt-rss code. What a great tool. Big applause to @fox for the easily pluggable and understandable tool.

Hmm, seeing the preference panel meaning you have curl installed and linked.

I had a little bug on two lines, now corrected. Please, pull from the actual version to be sure you don’t have the bad version.
And, what do you see about this plugin in the System config panel ?

For future support : do you know SQL langage ? Because some explanation may be found into the ttrss database.

select id, name, owner_uid, content from ttrss_plugin_storage where name='Af_Tumblr_GDPR';

I’m very sorry you encounter some problems, I’ll try to help you.

Hi GregThib,

Thanks for your plug-in. It works fine with my TTRSS install for refreshing existing subscription, but when I try to subscribe to a new feed I still get an error. The backend is returning {“result”:{“code”:5,“message”:“HTTP/1.1 303 See Other”}}.

But looking at the code, I think the issue is in TTRSS core. In include/feeds.php, the plug-in subscribe hook is called only if fetch_file_contents returned data :

$contents = @fetch_file_contents($url, false, $auth_login, $auth_pass);

if (!$contents) {
    if (preg_match("/cloudflare\.com/", $fetch_last_error_content)) {
        $fetch_last_error .= " (feed behind Cloudflare)";
    }

    return array("code" => 5, "message" => $fetch_last_error);
}

foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_SUBSCRIBE_FEED) as $plugin) {
    $contents = $plugin->hook_subscribe_feed($contents, $url, $auth_login, $auth_pass);
}

If I move the foreach before the test on contents value, it works fine for subscribing.

But I don’t know if there was a good reason for putting the test before executing the plug-ins hooks or if this is just a little mistake.

@fox, any idea about this ?

idk why it’s like this, but i too think the hook block could be safely moved above. file a PR.

Hmm, seeing the preference panel meaning you have curl installed and linked.

Yes, I also doubled-checked curl before :wink:

Please, pull from the actual version to be sure you don’t have the bad version.

I downloaded the current version again and installed it. Same behaviour. I realized, that you changed the name of your plugin (from af_tumblr_gdpr to tumblr_gdpr) , has now the same name as Arveduis plugin (which I used before). And both names have still been present in the database. (Of course they have been never activated both the same time.)
So I deactivated your plugin again, removed both datasets (af_tumblr_gdpr and tumblr_gdpr) from ttrss_plugin_storage to have this wiped and started again with installing your plugin. But still the same.

I also realized, that reinstalling your plugin from scratch is not creating any new dataset again in ttrss_plugin_storage. Which looks strange to me.

For future support : do you know SQL langage ? Because some explanation may be found into the ttrss database.

I am not experienced in SQL language, so I normally use PHPmyadmin to view databases, not the CLI utility.

I’ll try to help you.

Thank you very much! Please tell me if I can provide more informations. Any idea or hint is highly appreciated!

I will now update TTRSS to the most current version (last update from December 2017), just to be safe.

In my installation the problem was, that MAX_DOWNLOAD_FILE_SIZE was undefined.
Changing
return ($downloaded > MAX_DOWNLOAD_FILE_SIZE) ? 1 : 0; // if max size is set, abort when exceeding it
to
if (defined(“MAX_DOWNLOAD_FILE_SIZE”)) {
return ($downloaded > MAX_DOWNLOAD_FILE_SIZE) ? 1 : 0; // if max size is set, abort when exceeding it
}
else
return 0;

made it work for me.

And I now noticed, that it was added in very recent update to ttrss. So updating it would also fix problem of plugin not working.

That’s it, great! After updating TTRSS, the plugin of @GregThib is working like a charm!

Thank you everybody for your help!

@ontheair & @virgo : hmmm, it seems I have problem with my plugin and too old versions of TTRSS. I maybe will develop some portions to add compatibility with older versions.
Thanks for showing me this.

btw i’m not sure which plugin copied fetch_file_contents() entirely but i’d like to note that this is not the best idea.

@GregThib First of all: Thank you for you efforts.
It seems Tumblr has changed something? The plugin stopped working for me today.

Hey,

Hmmm, me too. Don’t know why yet. Maybe the form-id in their pages, or vendor list… I’ll try to get an eye this week-end.
I’m so tired about that.

Are they dumb ? Or so angry about GDPR, they want to annoy european citizens ? Because so much dumbness is impossible, even from former’s Yahoo! devs.

I’ve kinda come to the conclusion that mankind’s stupidity should never be underestimated.

It seems to fail with 403 Request denied, when request is sent to https://www.tumblr.com/svc/privacy/consent.
I suspect, that there are some checks, that you first went to Tumblr

Only two things are infinite: human stupidity and the universe. And to be fair, I am not so sure about the universe…

Besides, I was not aware Yahoo! ever hired developers⸮ Didn’t they just copy-and-paste code from StackOverflow?

time to do the needful boys

kek

Screenshot%20from%202018-05-25%2013-38-59

Sorry, but they can’t even keep their own website up, so their reliability seems suspect.

https://downforeveryoneorjustme.com/fastvps.ru :thinking:

not that this was an endorsement anyway

e: i’m using their Estonia-based offering for similar enough reasons.