Package: tt-rss Version: 21~git20210204.b4cbc79+dfsg-1.2 Severity: normal X-Debbugs-Cc: mnalis-debian...@voyager.hr
Dear Maintainer, There was happily working tt-rss instalation in Bullseye, however after upgrading the Bookworm, the first time updating script run, it re-fetched a lot of older articles and marked them as unread. Trying to debug the issue, I've found that the GUID seems to have changed, probably due to PHP 8.2 in Bookworm changed not to quote integers fetched from database: https://www.php.net/manual/en/migration81.incompatible.php#migration81.incompatible.pdo.mysql and the old packaged version of tt-rss apparently not having support for it. That resulted in duplicate rows (in otherwise UNIQUE field "guid"), e.g.: MariaDB [ttrss]> select id, title, guid, updated, date_entered, date_updated from ttrss_entries where title like 'Could the Sun%'; +--------+---------------------------------------+----------------------------------------------------------------------------+---------------------+---------------------+---------------------+ | id | title | guid | updated | date_entered | date_updated | +--------+---------------------------------------+----------------------------------------------------------------------------+---------------------+---------------------+---------------------+ | 528463 | Could the Sun be hiding a black hole? | {"ver":2,"uid":"3","hash":"SHA1:dcf27dd8206c88fc25db2439fbfdbcc1113d826e"} | 2024-01-21 15:01:08 | 2024-01-22 00:05:00 | 2024-02-05 00:09:14 | | 534207 | Could the Sun be hiding a black hole? | {"ver":2,"uid":3,"hash":"SHA1:dcf27dd8206c88fc25db2439fbfdbcc1113d826e"} | 2024-01-21 15:01:08 | 2024-02-09 00:56:00 | 2024-02-09 00:56:08 | +--------+---------------------------------------+----------------------------------------------------------------------------+---------------------+---------------------+---------------------+ That should not have happened, there should've been only first row existing, and second row shouldn't have been created. The problem seems to be that "guid" is not EXACTLY the same, before it said: "uid":"3" and now it says "uid":3 while it points to exactly the same data, the strings are not the same, so it fails to detect it as a duplicate. I've worked around the problem by stopping updating services, restoring the last tt-rss database backup before Bookworm upgrade, and running following mysql command on ttrss database: UPDATE ttrss_entries SET guid = REGEXP_REPLACE(guid, '"uid":"([0-9]+)"', '"uid":\\1'); that converted all old entries (which used quoted-integers) to a new format (which does not quote integers), thus allowing subsequent tt-rss feed updates not to create duplicates as even old entries are using new format. Perhaps newer upstream version of tt-rss handles that as well as it does other similar problems with string/integer (e.g. as it does in #1054608) -- System Information: Debian Release: 12.4 APT prefers stable-security APT policy: (500, 'stable-security'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 6.1.0-17-amd64 (SMP w/4 CPU threads; PREEMPT) Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: sysvinit (via /sbin/init) LSM: AppArmor: enabled Versions of packages tt-rss depends on: ii dbconfig-common 2.0.24 ii dbconfig-mysql 2.0.24 ii debconf [debconf-2.0] 1.5.82 ii fonts-material-design-icons-iconfont 6.7.0+dfsg-1 ii init-system-helpers 1.65.2 ii libapache2-mod-php8.2 [php-json] 8.2.7-1~deb12u1 ii libjs-dojo-core 1.17.2+dfsg1-2.1 ii libjs-dojo-dijit 1.17.2+dfsg1-2.1 ii libjs-scriptaculous 1.9.0-3 ii lsb-base 11.6 ii php 2:8.2+93 pn php-cli <none> ii php-intl 2:8.2+93 ii php-mbstring 2:8.2+93 ii php-mysql 2:8.2+93 ii php-php-gettext 1.0.12-5 ii php-psr-log 1.1.4-2 ii php-xml 2:8.2+93 ii php8.2 [php] 8.2.7-1~deb12u1 ii php8.2-cli [php-json] 8.2.7-1~deb12u1 ii php8.2-intl [php-intl] 8.2.7-1~deb12u1 ii php8.2-mbstring [php-mbstring] 8.2.7-1~deb12u1 ii php8.2-phpdbg [php-json] 8.2.7-1~deb12u1 ii php8.2-xml [php-xml] 8.2.7-1~deb12u1 ii phpqrcode 1.1.4-3.1 ii sysvinit-utils [lsb-base] 3.06-4 Versions of packages tt-rss recommends: ii apache2 [httpd] 2.4.57-2 ii ca-certificates 20230311 ii php-curl 2:8.2+93 ii php-gd 2:8.2+93 pn php-mcrypt <none> ii php8.2-curl [php-curl] 8.2.7-1~deb12u1 ii php8.2-gd [php-gd] 8.2.7-1~deb12u1 Versions of packages tt-rss suggests: pn php-apc <none> pn sphinxsearch <none> -- Configuration Files: /etc/default/tt-rss changed [not included] /etc/logrotate.d/tt-rss changed [not included] /etc/tt-rss/apache.conf changed [not included] /etc/tt-rss/config.php changed [not included] -- debconf information excluded -- debsums errors found: debsums: changed file /usr/share/tt-rss/www/classes/feeds.php (from tt-rss package)