<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/app/Models/FeedDAO.php, branch 1.18.1</title>
<subtitle>Customized version of FreshRSS, a self-hosted RSS feed aggregator</subtitle>
<id>https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.18.1</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.18.1'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2021-03-26T18:13:23+00:00</updated>
<entry>
<title>Suport standard HTTP 410 Gone (#3561)</title>
<updated>2021-03-26T18:13:23+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2021-03-26T18:13:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=eeff1a17b0ae13c32560e9d1b59c6e82965f3e6d'/>
<id>urn:sha1:eeff1a17b0ae13c32560e9d1b59c6e82965f3e6d</id>
<content type='text'>
When a feed returns an HTTP 410 Gone, mute the corresponding feed, i.e. stop refreshing it.
Example of such feed, Les Décodeurs (Libération) https://rss.liberation.fr/rss/100893/</content>
</entry>
<entry>
<title>Travis: Enforce phpcs line length + whitespace (#3488)</title>
<updated>2021-02-28T11:26:24+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2021-02-28T11:26:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=947e918f05d70d5dce4efa4ef403e593581c3fa9'/>
<id>urn:sha1:947e918f05d70d5dce4efa4ef403e593581c3fa9</id>
<content type='text'>
* Update Travis line length

* Also check whitespace in CSS files

* Fix line length ext.php

* More syntax, string templates

* Fix exclude-pattern

* Test JS files as well</content>
</entry>
<entry>
<title>Fix sanitize feed description (#3222)</title>
<updated>2020-10-11T11:32:23+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-10-11T11:32:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=f33e2611632bf6f28948a9351dbd4e981643e4cc'/>
<id>urn:sha1:f33e2611632bf6f28948a9351dbd4e981643e4cc</id>
<content type='text'>
* Fix sanitize feed description

#fix https://github.com/FreshRSS/FreshRSS/issues/3221

* Simplification</content>
</entry>
<entry>
<title>Change feed order in a category (#3131)</title>
<updated>2020-08-05T07:40:58+00:00</updated>
<author>
<name>Alexis Degrugillier</name>
<email>aledeg@users.noreply.github.com</email>
</author>
<published>2020-08-05T07:40:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=ee31722072a8b114beaf074193b7a7a6fd65fd30'/>
<id>urn:sha1:ee31722072a8b114beaf074193b7a7a6fd65fd30</id>
<content type='text'>
Before, the sorting was not human readable. Lower-cased feed names were
displayed after upper-cased feed names.
Now, the sorting is human readable. The sorting is done without taking into
account the name case.

See #3128</content>
</entry>
<entry>
<title>Fix fetch preview (#2993)</title>
<updated>2020-05-21T18:55:06+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-05-21T18:55:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=857f58879022e7ab8dcc30380ee00df5277b8c0c'/>
<id>urn:sha1:857f58879022e7ab8dcc30380ee00df5277b8c0c</id>
<content type='text'>
* Fix fetch preview

#fix https://github.com/FreshRSS/FreshRSS/issues/2923
In MariaDB / MySQL, we cannot start a new query if we have not consumed
the previous buffered query fully.

* Fix for reload

* Typo in comment</content>
</entry>
<entry>
<title>API return proper newestItemTimestampUsec (#2854)</title>
<updated>2020-04-01T00:08:45+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-04-01T00:08:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=5858aaf7fc4f4ebfe7cc4036d46a93397b06ccde'/>
<id>urn:sha1:5858aaf7fc4f4ebfe7cc4036d46a93397b06ccde</id>
<content type='text'>
* API return proper newestItemTimestampUsec

#fix https://github.com/FreshRSS/FreshRSS/issues/2853

* Minor naming

* Add newestItemTimestampUsec for labels

* Do not use t.name after all</content>
</entry>
<entry>
<title>Allow feed to be actualized after being truncated (#2862)</title>
<updated>2020-03-31T12:15:51+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-03-31T12:15:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=cedbbff58236dd77cd31c2eaf6845a5d059e47f2'/>
<id>urn:sha1:cedbbff58236dd77cd31c2eaf6845a5d059e47f2</id>
<content type='text'>
Before, on had to wait for the cache to expire before being able to
refresh a feed that had been truncated via the Web interface.
Now, one can "delete all articles" and hit "actualize" imediately after
without problem.
Useful for testing filters, debugging e.g.
https://github.com/FreshRSS/FreshRSS/issues/2806</content>
</entry>
<entry>
<title>Upgrade user management page (#2417)</title>
<updated>2019-12-03T21:32:17+00:00</updated>
<author>
<name>Alexis Degrugillier</name>
<email>aledeg@users.noreply.github.com</email>
</author>
<published>2019-12-03T21:32:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=0de7e84380dff5222e6728aacbbb42abaac51dd9'/>
<id>urn:sha1:0de7e84380dff5222e6728aacbbb42abaac51dd9</id>
<content type='text'>
Before, the use of the user management page was a little bit tedious
when there was many users. One must select a user to view some
metrics, to update it, or to delete it.
Now, the view is clearer because it shows all users at once with
their metrics. I introduced a detail page that repeats the metrics
but also allow to purge the user's feeds, to update or delete the
user.

This is the first step to make that page more useful and user-friendly.
I have in mind to add a pager for when there is a lot of users, a metric
to know when was the last time the user was using the application, and
a flag to know if the user has admin rights.

See #2096 and #2504 for ideas and inspiration</content>
</entry>
<entry>
<title>Fix database autocreate at install (#2635)</title>
<updated>2019-11-06T14:16:00+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2019-11-06T14:16:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=22030155f8fd5cab102ddd897a914cf1a0ffd183'/>
<id>urn:sha1:22030155f8fd5cab102ddd897a914cf1a0ffd183</id>
<content type='text'>
* Fix database autocreate at install

Several bugs prevented the auto-creation of the database in Web and CLI
installs.
Fix
https://github.com/YunoHost-Apps/freshrss_ynh/issues/84#issuecomment-549818408

* initDb

https://github.com/FreshRSS/FreshRSS/pull/2635#discussion_r343107795
</content>
</entry>
<entry>
<title>Feature/new archiving (#2335)</title>
<updated>2019-10-22T22:52:15+00:00</updated>
<author>
<name>Alexis Degrugillier</name>
<email>aledeg@users.noreply.github.com</email>
</author>
<published>2019-10-22T22:52:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=cc0db9af4f980829faa4bf0960617807b32fb4fa'/>
<id>urn:sha1:cc0db9af4f980829faa4bf0960617807b32fb4fa</id>
<content type='text'>
* Change archiving config page layout

I've changed some wording and moved actions into a
maintenance section.

* Update purge action

Now we have more control on the purge action. The configuration allows
us to choose what to keep and what to discard in a more precise way.
At the moment, the configuration applies for all feeds.

* Add purge configuration on feed level

Now the extend purge configuration is available on feed level.
It is stored as attributes and will be used in the purge action.

* Update purge action

Now the purge action uses the feed configuration if it exists and
defaults on user configuration if not.

* Add empty option in period list

* Fix configuration warnings

* Add archiving configuration on categories

See #2369

* Add user info back

* Add explanations in UI

* Fixes for SQLite + error + misc.

* Fix invalid feed reference

* Short array syntax

Only for new code, so far

* Fix prefix error

* Query performance, default values

Work in progress

* Fix default values and confirm before leaving

Form cancel and confirm changes before leaving were broken.
And start taking advantage of the short echo syntax `&lt;?= ?&gt;` as we have
moved to PHP 5.4+

* More work

* Tuning SQL

* Fix MariaDB + performance issue

* SQL performance

* Fix SQLite bug

* Fix some attributes JSON encoding bugs

Especially for SQLite export/import

* More uniform, fix bugs

More uniform between global, category, feed settings

* Drop special cases for old articles during refresh

Instead will use lastSeen date with the new archiving logic.
This was generating problems anyway
https://github.com/FreshRSS/FreshRSS/issues/2154

* Draft drop index keep_history

Not needed anymore

* MySQL typo

Now properly tested with MySQL, PostgreSQL, SQLite

* More work for legacy values

Important to avoid overriding user's preference and risking deleting
data erroneously

* Fix PHP 7.3 / 7.4 warnings

@aledeg "Trying to use values of type null, bool, int, float or resource
as an array (such as $null["key"]) will now generate a notice. "
https://php.net/migration74.incompatible

* Reintroduce min articles and take care of legacy parameters

* A few changes forgotten

* Draft of migration + DROP of feed.keep_history

* Fix several errors

And give up using const for SQL to allow multiple database types (and we
cannot redefine a const)

* Add keep_min to categories + factorise archiving logic

* Legacy fix

* Fix bug yield from

* Minor: Use JSON_UNESCAPED_SLASHE for attributes

And make more uniform

* Fix sign and missing variable

* Fine tune the logic
</content>
</entry>
</feed>
