Are you using stock Docker compose setup? If not, either reproduce this issue on the official demo or switch to Docker and see if the issue is resolved.

I’m not using the docker setup currently, however I checked the official demo and the bug is also reproducible there.


Describe the problem you’re having:

Clicking an article tag no longer filters a feed by the tag. Instead, it now does nothing.

Include steps to reproduce the problem:

  1. Login to the official demo
  2. Navigate to a feed that has tags in the articles. An example in the official demo is the feed for Slashdot.
  3. View an article in the Slashdot feed and click a tag at the bottom of the article. In the past, this would filter the view to only show articles with the clicked tag. However, currently nothing happens and the view is unchanged.

tt-rss version (including git commit id):

My version is 21.11-831648e3c (Unsupported), but as mentioned above this is reproducible in the official demo, which is currently 21.11-831648e.

Platform (i.e. Linux distro, PHP, PostgreSQL, etc) versions:

The bug is reproducible in the official demo, but just to answer the question, my platform is Raspbian 10, PHP 7.3.31-1~deb10u1, MySQL 10.3.31-MariaDB-0+deb10u1, Apache 2.4.38.

Please provide any additional information below:

The demo user does not provide access to view the event log. But when clicking the tag in my installation, the error below is recorded in the event log:

Uncaught TypeError: Argument 1 passed to Feeds::_format_headlines_list() must be of the type int, string given, called in /var/www/html/rss/classes/feeds.php on line 527 and defined in /var/www/html/rss/classes/feeds.php:23
Stack trace:
#0 /var/www/html/rss/classes/feeds.php(527): Feeds->_format_headlines_list('science', 'ForceUpdate', 'unread', 30, false, 0, 'updated DESC', true, 0, false, 'feed_dates')
#1 /var/www/html/rss/backend.php(136): Feeds->view()
#2 {main}
  thrown

In this case, the tag that was clicked was “science”. It looks like the following change specified types for the parameters of function Feeds::_format_headlines_list: https://git.tt-rss.org/fox/tt-rss/commit/763515de794b4affaf2babcc73008fcf88875c97. And it seems that clicking a tag sends the tag name as a string to the first parameter, which causes an error since it is now expecting an integer.

yeah, it should be changed back to mixed and documented as string|int. thanks for reporting.

https://git.tt-rss.org/fox/tt-rss/commit/28fb571dca83f7785695061126aebf49bd58678e

I think this commit broke something. Just pulled this and can’t open ttrss anymore.

Getting “500 Internal Server Error”
on: https://xxxx/backend.php?op=pref_feeds&method=getfeedtree&mode=2

Stack trace:
#0 /srv/htdocs/reader/classes/api.php(221): API::_api_get_headlines()
#1 /srv/htdocs/reader/api/index.php(55): API->getHeadlines()
#2 {main}
thrown in /srv/htdocs/reader/classes/api.php on line 636" while reading response header from upstream, client: 176.198.xxx.xxx, server: reader.xxxx, request: “POST /api/index.php HTTP/2.0”, upstream: "fastcgi://unix:/var/run/php/php-fpm.>
2021/11/29 10:03:57 [error] 530449#530449: *9399621 FastCGI sent in stderr: “PHP message: PHP Fatal error: Uncaught TypeError: Argument 1 passed to Feeds::_get_title() must be an instance of mixed, int given, called in /srv/htdocs/reader/cl>
Stack trace:
#0 /srv/htdocs/reader/classes/api.php(552): Feeds::_get_title()
#1 /srv/htdocs/reader/classes/api.php(127): API::_api_get_feeds()
#2 /srv/htdocs/reader/api/index.php(55): API->getFeeds()
#3 {main}
thrown in /srv/htdocs/reader/classes/feeds.php on line 1220” while reading response header from upstream, client: 176.198.xxx.xxx, server: reader.xxxx, request: “POST /api/index.php HTTP/2.0”, upstream: "fastcgi://unix:/var/run/php/php-f>
~

i guess mixed typehint for function arguments was added in php8.

in the future, if you’re running an unsupported setup, try to describe it in more detail.

e: https://git.tt-rss.org/fox/tt-rss/commit/409c63dcf8733e4ad8bb54a1f43e987b3d2f2fe5

I just git pulled your latest updates and confirmed that the issue is resolved. Thanks!