<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/app/Controllers/statsController.php, branch 1.25.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.25.0</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.25.0'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2024-04-10T13:33:43+00:00</updated>
<entry>
<title>PHP 8.3 #[\Override] (#6273)</title>
<updated>2024-04-10T13:33:43+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2024-04-10T13:33:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=350edf398c55b472e19a3017de9b4d2d3420b9e4'/>
<id>urn:sha1:350edf398c55b472e19a3017de9b4d2d3420b9e4</id>
<content type='text'>
* PHP 8.3 #[\Override]
https://php.watch/versions/8.3/override-attr

With PHPStan `checkMissingOverrideMethodAttribute` https://phpstan.org/config-reference#checkmissingoverridemethodattribute

And modified the call to phpstan-next on the model of https://github.com/FreshRSS/Extensions/pull/228 (more robust than the find method, which gave some strange errors)

* Update extension example accordingly</content>
</entry>
<entry>
<title>New feature: shareable user query  (#6052)</title>
<updated>2024-02-26T08:01:03+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2024-02-26T08:01:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=39cc1c11ec596176e842cc98e6a54337e3c04d7e'/>
<id>urn:sha1:39cc1c11ec596176e842cc98e6a54337e3c04d7e</id>
<content type='text'>
* New feature: shareable user query
Share the output of a user query by RSS / HTML / OPML with other people through unique URLs.
Replaces the global admin token, which was the only option (but unsafe) to share RSS outputs with other people.
Also add a new HTML output for people without an RSS reader.

fix https://github.com/FreshRSS/FreshRSS/issues/3066#issuecomment-648977890
fix https://github.com/FreshRSS/FreshRSS/issues/3178#issuecomment-769435504

* Remove unused method

* Fix token saving

* Implement HTML view

* Update i18n for master token

* Revert i18n get_favorite

* Fix missing i18n for user queries from before this PR

* Remove irrelevant tests

* Add link to RSS version

* Fix getGet

* Fix getState

* Fix getSearch

* Alternative getSearch

* Default getOrder

* Explicit default state

* Fix test

* Add OPML sharing

* Remove many redundant SQL queries from original implementation of user queries

* Fix article tags

* Use default user settings

* Prepare public search

* Fixes

* Allow user search on article tags

* Implement user search

* Revert filter bug

* Revert wrong SQL left outer join change

* Implement checkboxes

* Safe check of OPML

* Fix label

* Remove RSS button to favour new sharing method
That sharing button was using a global admin token

* First version of HTTP 304

* Disallow some recusrivity
fix https://github.com/FreshRSS/FreshRSS/issues/6086

* Draft of nav

* Minor httpConditional

* Add support for offset for pagination

* Fix offset pagination

* Fix explicit order ASC

* Add documentation

* Help links i18n

* Note about deprecated master token

* Typo

* Doc about format</content>
</entry>
<entry>
<title>More robust assignment of categories to feeds (#5986)</title>
<updated>2023-12-27T14:18:36+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-12-27T14:18:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=d65f77c081e756997e59e602f49eeea9b09799ff'/>
<id>urn:sha1:d65f77c081e756997e59e602f49eeea9b09799ff</id>
<content type='text'>
Several minor cases, none of which should really be necessary
Might help:
https://github.com/FreshRSS/FreshRSS/issues/5981
https://github.com/FreshRSS/FreshRSS/issues/5982</content>
</entry>
<entry>
<title>Remove variable default_category (#5945)</title>
<updated>2023-12-14T21:11:04+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-12-14T21:11:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=a3ed8269132303eebc03d3e6df822f1f101fa95b'/>
<id>urn:sha1:a3ed8269132303eebc03d3e6df822f1f101fa95b</id>
<content type='text'>
Not really used, and causing bug in https://github.com/FreshRSS/FreshRSS/pull/5942

```
Fatal error: Uncaught Error: Typed property FreshRSS_View::$default_category must not be accessed before initialization in /var/www/FreshRSS/app/views/helpers/category/update.phtml:218 Stack trace: #0 /var/www/FreshRSS/lib/Minz/View.php(93): include() #1 /var/www/FreshRSS/lib/Minz/View.php(143): Minz_View-&gt;includeFile() #2 /var/www/FreshRSS/app/views/category/update.phtml(9): Minz_View-&gt;renderHelper() #3 /var/www/FreshRSS/lib/Minz/View.php(93): include('...') #4 /var/www/FreshRSS/lib/Minz/View.php(115): Minz_View-&gt;includeFile() #5 /var/www/FreshRSS/lib/Minz/View.php(75): Minz_View-&gt;render() #6 /var/www/FreshRSS/lib/Minz/Dispatcher.php(59): Minz_View-&gt;build() #7 /var/www/FreshRSS/lib/Minz/FrontController.php(61): Minz_Dispatcher-&gt;run() #8 /var/www/FreshRSS/p/i/index.php(59): Minz_FrontController-&gt;run() #9 {main} thrown in /var/www/FreshRSS/app/views/helpers/category/update.phtml on line 218
```</content>
</entry>
<entry>
<title>Fix types for extensions (#5901)</title>
<updated>2023-11-24T13:50:03+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-11-24T13:50:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=76cbfadcdfdcbf675b83f6162a229938aca3bbe1'/>
<id>urn:sha1:76cbfadcdfdcbf675b83f6162a229938aca3bbe1</id>
<content type='text'>
* Fix types for extensions
To accompany https://github.com/FreshRSS/Extensions/pull/185

* Avoid bug redeclared function</content>
</entry>
<entry>
<title>Use strict_types (#5830)</title>
<updated>2023-11-16T21:43:00+00:00</updated>
<author>
<name>Luc SANCHEZ</name>
<email>4697568+ColonelMoutarde@users.noreply.github.com</email>
</author>
<published>2023-11-16T21:43:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=30c7a61a9b410f023c56ef19b9389a61647d8768'/>
<id>urn:sha1:30c7a61a9b410f023c56ef19b9389a61647d8768</id>
<content type='text'>
* Little's optimisations and booleans in conditions

* Apply strict type

* Apply strict type

* Apply strict type

* Fix multiple bugs with PHP 8.2 and 8.3

* Many declares missing, more errors fixed

* Apply strict type

* Another approach

* Stronger typing for Minz_Session

* Fix case of SQLite

---------

Co-authored-by: Luc &lt;sanchezluc+freshrss@gmail.com&gt;
Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>Remove obsolete TTL migration code (#5625)</title>
<updated>2023-09-06T19:41:17+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-09-06T19:41:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=98559cebc367648195080c1588ea197607c216f7'/>
<id>urn:sha1:98559cebc367648195080c1588ea197607c216f7</id>
<content type='text'>
Remove `updateTTL` function used to help migration to 5+ year-old FreshRSS 1.10 and FreshRSS 0.7.3 https://github.com/FreshRSS/FreshRSS/pull/1750
This function contributed to locking the database https://github.com/FreshRSS/FreshRSS/pull/5574
Subset of https://github.com/FreshRSS/FreshRSS/pull/3558</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>A few additional PHPStan rules (#5388)</title>
<updated>2023-05-11T11:02:04+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-05-11T11:02:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=6e2f2f1c1e98ecd86aa89c6547beb742d7385d18'/>
<id>urn:sha1:6e2f2f1c1e98ecd86aa89c6547beb742d7385d18</id>
<content type='text'>
A subset of
https://github.com/phpstan/phpstan-strict-rules</content>
</entry>
<entry>
<title>Typed view model classes (#5380)</title>
<updated>2023-05-11T10:53:32+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-05-11T10:53:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=fe7d9bbcd68660a59b813346c236b61b25a51c80'/>
<id>urn:sha1:fe7d9bbcd68660a59b813346c236b61b25a51c80</id>
<content type='text'>
* Typed view model classes
* Add ability to provide a typed view model class to a controller
* Use `::class` instead of string for referring to classes
* Examplified with `stats` and `javascript` controllers / views (more to do)
* Also useful for extensions (my usecase today), which did not have the ability to define own view model attributes before.

* Typo</content>
</entry>
</feed>
