<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/app/Models/EntryDAO.php, branch 1.22.0</title>
<subtitle>Customized version of FreshRSS, a self-hosted RSS feed aggregator</subtitle>
<id>https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.22.0</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.22.0'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2023-09-12T11:44:17+00:00</updated>
<entry>
<title>SQL: Same updateCacheUnreads for all DBs (#5648)</title>
<updated>2023-09-12T11:44:17+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-09-12T11:44:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=0bf33abac8cf83dfece4ccd7f3146c373effae2c'/>
<id>urn:sha1:0bf33abac8cf83dfece4ccd7f3146c373effae2c</id>
<content type='text'>
* SQL: Same updateCacheUnreads for all DBs
Use same SQL update request for MySQL / MariaDB than the one we already used for PostgreSQL / SQLite (i.e. using a sub-query).

Testing on a DB of 688MB with 270k entries, 199 feeds, 19 categories, using MySQL 8.1.0.

The new SQL update using a sub-query took in average 0.02s, while the old SQL update using a join took in average 0.05s. SQL cache was properly invalidated between each run. The new SQL request is thus about twice faster.

Another advantage of the SQL update using a sub-query is that it works identically in PostgreSQL, SQLite, MariaDB, MySQL, so we do need different versions anymore.

Contributes to https://github.com/FreshRSS/FreshRSS/issues/5008#issuecomment-1709755370

* Force USE INDEX

* Use same SQL methods also for markReadEntries, markReadCat</content>
</entry>
<entry>
<title>SQL: clean old auto-updates (#5649)</title>
<updated>2023-09-12T08:43:14+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-09-12T08:43:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=f050a94b48499286abfb4b69f3bcb3dee5f9ea2d'/>
<id>urn:sha1:f050a94b48499286abfb4b69f3bcb3dee5f9ea2d</id>
<content type='text'>
Should help with some DB lock issues.

Complete https://github.com/FreshRSS/FreshRSS/pull/3558 after https://github.com/FreshRSS/FreshRSS/pull/5625 already cherry-picked from it.

* Removed auto-update of MySQL GUID case sensitivity
https://github.com/FreshRSS/FreshRSS/pull/2078
  * Contributed to a DB lock in https://github.com/FreshRSS/FreshRSS/issues/5008

Also removed the following non-problematic auto-updates, simply because they were older than the above ones
* Auto-create custom labels (1.12.0) https://github.com/FreshRSS/FreshRSS/pull/2027
* Auto-add JSON column for feeds (1.11.0) https://github.com/FreshRSS/FreshRSS/pull/1838
* Auto-create temporary tables (1.7.0) https://github.com/FreshRSS/FreshRSS/pull/1470</content>
</entry>
<entry>
<title>Fix hash of articles with loadCompleteContent (#5576)</title>
<updated>2023-08-13T13:11:22+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-08-13T13:11:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=d165ed1fb6096d5bd0558d3ed637e53bc728baa7'/>
<id>urn:sha1:d165ed1fb6096d5bd0558d3ed637e53bc728baa7</id>
<content type='text'>
* Fix hash of articles with loadCompleteContent
The detection of modified articles was wrong for feeds using loadCompleteContent. Indeed, the hash is supposed to computed on the content provided by the server of the RSS feed, excluding further modifications.
Furthermore, read hash from database instead of recomputing it all the time.
Slightly related to https://github.com/FreshRSS/FreshRSS/pull/5574

* Explicit SQL alias

* PHPDocs</content>
</entry>
<entry>
<title>Chore/processing of depreciations and updating code to php72 minimum (#5504)</title>
<updated>2023-07-07T20:36:27+00:00</updated>
<author>
<name>Luc SANCHEZ</name>
<email>4697568+ColonelMoutarde@users.noreply.github.com</email>
</author>
<published>2023-07-07T20:36:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=f8f163d054110f7e0ff6650fca146b474335f4bd'/>
<id>urn:sha1:f8f163d054110f7e0ff6650fca146b474335f4bd</id>
<content type='text'>
* processing of depreciations and updating of code to php7.2 minimum

* Autoformat many strange array indenting
And revert a few unwanted changes

---------

Co-authored-by: Luc &lt;sanchezluc+freshrss@gmail.com&gt;
Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>Refactor lastSeen and markReadAsGone (#5470)</title>
<updated>2023-06-16T14:11:16+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-06-16T14:11:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=723f7577d0a388a90779930754c5aacb9f66b168'/>
<id>urn:sha1:723f7577d0a388a90779930754c5aacb9f66b168</id>
<content type='text'>
* Refactor lastSeen and markReadAsGone
Make the logic a bit more robust and explicit

* Remove forgotten SQL param

* Add test inTransaction

* More robust transaction

* Add a debug log

* Add max timestamp to markAsReadUponGone

* Reduce number of debug lines

* typing

* Better detection of when feed is empty

* More explicit case for push</content>
</entry>
<entry>
<title>Forgotten debug line</title>
<updated>2023-05-30T20:37:52+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-05-30T20:37:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=adb5db9d971fb425c2949191605071c1389c30f6'/>
<id>urn:sha1:adb5db9d971fb425c2949191605071c1389c30f6</id>
<content type='text'>
https://github.com/FreshRSS/FreshRSS/pull/5404
</content>
</entry>
<entry>
<title>Remove debug line</title>
<updated>2023-05-16T10:11:11+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-05-16T10:11:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=3bdb8976106f6e993b53ba4a20692f0dda621f4f'/>
<id>urn:sha1:3bdb8976106f6e993b53ba4a20692f0dda621f4f</id>
<content type='text'>
Forgotten from https://github.com/FreshRSS/FreshRSS/pull/5404
</content>
</entry>
<entry>
<title>Fix again updateLastSeenUnchanged (#5404)</title>
<updated>2023-05-16T10:09:39+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-05-16T10:09:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=ea503975d5967dd9605f8e8df8a77fc1e5bc2e3a'/>
<id>urn:sha1:ea503975d5967dd9605f8e8df8a77fc1e5bc2e3a</id>
<content type='text'>
* Fix again updateLastSeenUnchanged
https://github.com/FreshRSS/FreshRSS/pull/5382 was not good enough to fix markAsReadUponGone and introduced a regression in `entry.lastSeen`.
New approach.
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/5315

* Minor change of mind

* Fix handling of lastSeen
entry.lastSeen was not always correctly initialised, and sometimes overriden</content>
</entry>
<entry>
<title>Fix markAsReadUponGone (#5382)</title>
<updated>2023-05-09T20:31:43+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-05-09T20:31:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=4c5f3bbd9b81e73316c794bd47debf1659e7723c'/>
<id>urn:sha1:4c5f3bbd9b81e73316c794bd47debf1659e7723c</id>
<content type='text'>
Fix regression from https://github.com/FreshRSS/FreshRSS/pull/5315
which indroduced a bug for cached feeds.
We now update the `lastSeen` property of entries to account for the fact that they are unchanged but still existing.</content>
</entry>
<entry>
<title>SQL attributes native unicode (#5371)</title>
<updated>2023-05-04T17:48:09+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-05-04T17:48:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=fde4e79ed0b851d0b7edfb44c0630cbf385f83cc'/>
<id>urn:sha1:fde4e79ed0b851d0b7edfb44c0630cbf385f83cc</id>
<content type='text'>
Save our attributes for entries, feeds, and tags as native Unicode instead of JSON escape sequences such as `\u00f8` which are difficult to work with.</content>
</entry>
</feed>
