Change on Tumblr: RSS feeds not working

GDPR Plugin for Tumblr

Changed : added a pref tabs to add manually Tumblr with URL not of the *.tumblr.com form

Well i’d say just use GregThibs plugin, as it works for new subscriptions. I do not plan to continue development on mine. I will probably add a note informing about that to my repo soon.

@GregThib you might want do look at this PR and add that to you plugin in some way.

Thanks @Arvedui & @GregThib :slightly_smiling_face:

Hmmm, intersting. I added it, but with a limitation on cURL version (option not available before 7.10.8)
Thanks a lot !

Thank you very much for your plugins!

Curiously the plugin from @Arvedui is working for me, but the plugin from @GregThib not. I try to find the cause in the next days (too busy today). But anyway: Thank you for all this work!

Errh.

When have you downloaded the plugin ? Because I made some bug resolutions in the evening yesterday (livin’ in France)
I’m really intersting about more information.
(did you see the preference tab in the configuration panel ?)

I downloaded the plugin today some hours before making the post. Should be early morning in France.

I see the preference tab in the configuration panel. Tried it with leaving it empty (as all my feeds have the standard adress *.tumblr.com), but also tried with saving some Tumblr-Blog-URLs there like “foo.tumblr.com”.

Adding new feeds was working, but they have not been loaded (the same behaviour / error like without any plugin since the GDPR page). Already existing feeds have not been updated and showing the same error.

If you need more informations, I try to provide them!

Righto. Thank you for your work nonetheless!

I would just like to thank @Arvedui and @GregThib for their work on their plugins, and add that GregThib’s plugin (cloned a few minutes ago) does work for me for fetching existing feeds. (I have not tried subscribing to new tumblr feeds)

Also, the configuration panel works perfectly on my end. I’m subscribed to quite a few tumblr feeds served from non-tumblr domains.

I downloaded the plugin today, and install in plugin directory.
After that i have following error in my System tab:
E_ERROR (1) plugins/af_tumblr_gdpr/init.php:21 Undefined class constant ‘HOOK_FEED_BASIC_INFO’
Please any help is appreciated .

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!