<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/lib/Minz/Configuration.php, branch 1.22.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.22.1</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.22.1'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2023-09-13T20:58:10+00:00</updated>
<entry>
<title>Allow configuration of Base URL via website (#5656)</title>
<updated>2023-09-13T20:58:10+00:00</updated>
<author>
<name>Sam Cohen</name>
<email>samc1213@gmail.com</email>
</author>
<published>2023-09-13T20:58:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=52d87c3eaa352b765e1be3c2c0b9a3ce0bfabdc8'/>
<id>urn:sha1:52d87c3eaa352b765e1be3c2c0b9a3ce0bfabdc8</id>
<content type='text'>
* Allow configuration of Base URL via website

* Fix alphabetization of CREDITS

* Apply suggestions from code review

* Add Automatic recommendation

---------

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>PHPStan Level 7 complete (#5406)</title>
<updated>2023-05-22T18:55:59+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-05-22T18:55:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=445cc23abdda5767b622d70cf7b5eb5310dcf908'/>
<id>urn:sha1:445cc23abdda5767b622d70cf7b5eb5310dcf908</id>
<content type='text'>
* PHPStan Level 7 complete

* Start PHPStan Level 8

* Forgot exclude .phtml</content>
</entry>
<entry>
<title>PHPStan Level 7 for more DAO PDO (#5328)</title>
<updated>2023-04-28T12:01:11+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-04-28T12:01:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=c72914bba2363e436574204b3d6093a6f3cfce89'/>
<id>urn:sha1:c72914bba2363e436574204b3d6093a6f3cfce89</id>
<content type='text'>
* PHPStan Level 7 for more DAO PDO
With new function to address common type and check problems

* A bit more

* PHPStan Level 7 for FreshRSS_Entry</content>
</entry>
<entry>
<title>Complete PHPStan Level 6 (#5305)</title>
<updated>2023-04-17T06:30:21+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-04-17T06:30:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=f3760f138dcbaf7a2190336a0378cf1b2190c9f5'/>
<id>urn:sha1:f3760f138dcbaf7a2190336a0378cf1b2190c9f5</id>
<content type='text'>
* Complete PHPStan Level 6
Fix https://github.com/FreshRSS/FreshRSS/issues/4112
And initiate PHPStan Level 7

* PHPStan Level 6 for tests
* Use phpstan/phpstan-phpunit
* Update to PHPStan version 1.10

* Fix mixed bug

* Fix mixed return bug

* Fix paginator bug

* Fix FreshRSS_UserConfiguration

* A couple more Minz_Configuration bug fixes

* A few trivial PHPStan Level 7 fixes

* A few more simple PHPStan Level 7

* More files passing PHPStan Level 7
Add interface to replace removed class from https://github.com/FreshRSS/FreshRSS/pull/5251

* A few more PHPStan Level 7 preparations

* A few last details</content>
</entry>
<entry>
<title>Remove ConfigurationSetter (#5251)</title>
<updated>2023-04-07T10:40:43+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-04-07T10:40:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=dbbae15a8458679db0f4540dacdbdcff9c02ec8c'/>
<id>urn:sha1:dbbae15a8458679db0f4540dacdbdcff9c02ec8c</id>
<content type='text'>
This class has not been maintained for a while. Only a subset of our configuration properties are there, and some code is not relevant anymore. Furthermore, it is relying exclusively on dynamically invoked functions, making it challenging to maintain, in particular to find out what is used and what is not, what is handled and what is not.
It is not well suited for changes in data formats, which have been handled in the Context class instead.
It is also not able to handle configuration properties that are missing.
It is the class with most errors for PHPStan level 6 (179 errors). It is also making intense use of is_callable and call_user_func_array, which are performance killers.
Should the need arrise again to perform validation of our internal configuration files, I suggest an implementation with the opposite approach, namely driven by our code instead of driven by the data.
In summary, at the moment, this class is costly, while not offering many guarantees.</content>
</entry>
<entry>
<title>Fix extensions in actualize_script (#5243)</title>
<updated>2023-04-04T08:23:26+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-04-04T08:23:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=36aa0122e15b6c5a4bf923467b63a577cac5a539'/>
<id>urn:sha1:36aa0122e15b6c5a4bf923467b63a577cac5a539</id>
<content type='text'>
* Fix extension freshrss_user_maintenance in actualize_script
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/3440

The hook was called before registering all the extensions for the current user

* PHPStan Level 6 for extensions
And remove 5-year old legacy format of enabled extensions &lt; FreshRSS 1.11.1

* Fix multiple bugs in extensions

* Minor typing

* Don't change signature of methods supposed to be overridden

* PHPStan Level 9 and compatibility Intelliphense

* Set as final the methods not supposed to be overriden</content>
</entry>
<entry>
<title>PHPStan level 6 for all PDO and Exception classes (#5239)</title>
<updated>2023-03-31T06:23:39+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-03-31T06:23:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=288ed04ccc30b58373576dc3be811aee43e67034'/>
<id>urn:sha1:288ed04ccc30b58373576dc3be811aee43e67034</id>
<content type='text'>
* PHPStan level 6 for all PDO and Exception classes
Contributes to https://github.com/FreshRSS/FreshRSS/issues/4112

* Fix type

* Now also our remaining own librairies

* Motivation for a few more files

* A few more DAO classes

* Last interface</content>
</entry>
<entry>
<title>Fix type hints regressions (#4855)</title>
<updated>2022-11-15T14:42:26+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2022-11-15T14:42:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=42eeb402ad574236902e40d35d630fa15d29a985'/>
<id>urn:sha1:42eeb402ad574236902e40d35d630fa15d29a985</id>
<content type='text'>
Fix regressions from https://github.com/FreshRSS/FreshRSS/pull/4561

Example:

```
PHP Fatal error:  Uncaught TypeError: Argument 1 passed to checkToken() must be an instance of FreshRSS_UserConfiguration, instance of Minz_Configuration given, called in /var/www/FreshRSS/p/api/greader.php on line 1091 and defined in /var/www/FreshRSS/p/api/greader.php:223
Stack trace:
#0 /var/www/FreshRSS/p/api/greader.php(1091): checkToken()
#1 {main}
  thrown in /var/www/FreshRSS/p/api/greader.php on line 223
```

Improvement of https://github.com/FreshRSS/FreshRSS/pull/4110</content>
</entry>
<entry>
<title>PHPStan level 5 (#4110)</title>
<updated>2022-01-04T12:59:09+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2022-01-04T12:59:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=1335a0e3cf11a0d4248e9eaaf748b89e6df741ef'/>
<id>urn:sha1:1335a0e3cf11a0d4248e9eaaf748b89e6df741ef</id>
<content type='text'>
* Fix most PHPDocs errors
Contributes to https://github.com/FreshRSS/FreshRSS/issues/4103
https://phpstan.org/writing-php-code/phpdoc-types

* Avoid func_get_args
Use variadic syntax instead https://php.net/manual/functions.arguments#functions.variable-arg-list
And avoid dynamic functions names when possible to more easily identify calls and unused functions.
Contributes to https://github.com/FreshRSS/FreshRSS/issues/4103

* PHPStan level 3

* PHPStand level 4

* Update default to PHPStan level 4

* Towards level 5

* Fix level 4 regression

* Towards level 5

* Pass PHPStan level 5

* Towards level 6

* Remove erronenous regression from changelog
https://github.com/FreshRSS/FreshRSS/pull/4116</content>
</entry>
<entry>
<title>Fix most PHPDocs errors (#4107)</title>
<updated>2022-01-01T10:26:56+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2022-01-01T10:26:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=3f6aa42b817145a3b00f4d615f87728b55c4413a'/>
<id>urn:sha1:3f6aa42b817145a3b00f4d615f87728b55c4413a</id>
<content type='text'>
Contributes to https://github.com/FreshRSS/FreshRSS/issues/4103
https://phpstan.org/writing-php-code/phpdoc-types</content>
</entry>
</feed>
