aboutsummaryrefslogtreecommitdiff
path: root/app/Controllers
AgeCommit message (Collapse)Author
2023-12-28fix: `base_url` becomes empty after saving configuration (#5992)Gravatar yzqzss
* fix: `base_url` becomes empty after saving configuration * Just remove the line * Use read-ony instead https://developer.mozilla.org/docs/Web/HTML/Attributes/readonly#attribute_interactions * Revert for websub * Changelog --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-12-27More robust assignment of categories to feeds (#5986)Gravatar Alexandre Alapetite
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
2023-12-22Fix notifications (#5959)Gravatar Alexandre Alapetite
The notification about wrong login was not working. Noticed while working on https://github.com/FreshRSS/FreshRSS/pull/5955 This was due to timing of when the notification is retrieved. Simplified code to make the logic easier and more robust.
2023-12-20Fix login (#5955)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/5953 Regression due to https://github.com/FreshRSS/FreshRSS/pull/5946
2023-12-18Pass PHPStan level 8 (#5946)Gravatar Alexandre Alapetite
* Pass PHPStan level 8 And prepare for PHPStan level 9 https://phpstan.org/user-guide/rule-levels * Revert wrong replace in comment * Fix PHPStan level 8 * Update PHPStan and other dev dependencies * Remove obsolete comment * noVariableVariables and towards bleedingEdge https://github.com/phpstan/phpstan-strict-rules https://phpstan.org/blog/what-is-bleeding-edge * More bleedingEdge * A bit more PHPStan level 9 * More PHPStan level 9 * Prepare for booleansInConditions Ignore int and null * Revert wrong line * More fixes * Fix keep_max_n_unread * Stricter attribute functions * Stricter callHooks and more PHPStan level 9 * More typing * A tiny more
2023-12-15Add filter actions (auto mark read) at category and global levels (#5942)Gravatar Alexandre Alapetite
* Add filter actions (auto mark read) at category level fix https://github.com/FreshRSS/FreshRSS/issues/3497 * Add filter actions (auto mark read) at global level fix https://github.com/FreshRSS/FreshRSS/issues/2788 * Fix feed category ID * Minor comment
2023-12-14Remove variable default_category (#5945)Gravatar Alexandre Alapetite
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->includeFile() #2 /var/www/FreshRSS/app/views/category/update.phtml(9): Minz_View->renderHelper() #3 /var/www/FreshRSS/lib/Minz/View.php(93): include('...') #4 /var/www/FreshRSS/lib/Minz/View.php(115): Minz_View->includeFile() #5 /var/www/FreshRSS/lib/Minz/View.php(75): Minz_View->render() #6 /var/www/FreshRSS/lib/Minz/Dispatcher.php(59): Minz_View->build() #7 /var/www/FreshRSS/lib/Minz/FrontController.php(61): Minz_Dispatcher->run() #8 /var/www/FreshRSS/p/i/index.php(59): Minz_FrontController->run() #9 {main} thrown in /var/www/FreshRSS/app/views/helpers/category/update.phtml on line 218 ```
2023-12-10Fix read_when_same_title_in_feed (#5937)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/5936
2023-12-10Fix archiving (#5935)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/5934 Regression from https://github.com/FreshRSS/FreshRSS/pull/5830
2023-12-03Rework keepmax (#5905)Gravatar Alexandre Alapetite
* Rework keepmax fix https://github.com/FreshRSS/FreshRSS/issues/5702 fix https://github.com/FreshRSS/FreshRSS/issues/5870 * More WIP * Minor progress * Progress * Beta * Improved debug message * Revert noCommit * Fix variable reset * Remove debug syslogs
2023-11-24Fix types for extensions (#5901)Gravatar Alexandre Alapetite
* Fix types for extensions To accompany https://github.com/FreshRSS/Extensions/pull/185 * Avoid bug redeclared function
2023-11-16Use strict_types (#5830)Gravatar Luc SANCHEZ
* 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 <sanchezluc+freshrss@gmail.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-11-16Added: Display option for "My labels" (#5884)Gravatar maTh
* configs * Update entry_bottom.phtml * i18n strings * fix phpstand found error * reuse existing i18n string --------- Co-authored-by: math-gh <>
2023-11-09Added ability to mark articles as read on focus. (#5812)Gravatar Ben Passmore
* Added ability to mark entries as read on focus. Feature proposed in issue #5723. * make-fix-all + i18n fr * Use batch to save resources and increase performance * Use "keep_unread" * typo --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-11-08New feature important feeds (#5782)Gravatar Alexandre Alapetite
* New feature important feeds * Fix PHPStan * Initial style for important feeds + keep unread * Change UI order * Count important unread * Never mark as read important feeds during scroll * Fix i18n conf.iew.normal regression * Fix reader view * More fix reader view * Create important.svg * Fix title * Fix counter * Account for important during mark-all-as-read * Fix underline colour * 📌 * Changelog --------- Co-authored-by: math-gh <> Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com>
2023-10-30Require PHP 7.4+ (#5720)Gravatar Alexandre Alapetite
* Require PHP 7.4+ https://github.com/FreshRSS/FreshRSS/discussions/5474 * Update Docker oldest Alpine 3.13 with PHP 7.4.26 * Add missing packets to Docker oldest * Update to typed properties https://php.net/migration74.new-features#migration74.new-features.core.typed-properties * More types
2023-10-22Do not update feeds after import (#5629)Gravatar robertdahlem
* Add checkbox to not update feeds after import to avoid duplicate feeds when importing multiple files. * Import without updating feeds, but now unconditionally * Added hint to click "Update feeds" to all translations * Update app/i18n/fr/feedback.php * Fix i18n --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-09-27Test if set_time_limit exists (#5675)Gravatar VYSE V.E.O
* Fix @set_time_limit as @-operator after PHP8 no longer suppresses disabled functions * preserve @ decorator * Fix whitespace --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-09-14Fix labels in anonymous mode (#5650)Gravatar Alexandre Alapetite
* Fix labels in anonymous mode fix https://github.com/FreshRSS/FreshRSS/issues/4305 * Show all tags * Revert "Show all tags" This reverts commit 24dfba501729cea32943548bc829d3581883de50. * Add message when no labels * fixed no label style * i18n de translation * Fix in non-anomymous mode * No class in anonymous mode --------- Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com> Co-authored-by: math-gh <>
2023-09-13Allow configuration of Base URL via website (#5656)Gravatar Sam Cohen
* Allow configuration of Base URL via website * Fix alphabetization of CREDITS * Apply suggestions from code review * Add Automatic recommendation --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-09-06Remove obsolete TTL migration code (#5625)Gravatar Alexandre Alapetite
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
2023-09-04Fix JSON export/import (#5626)Gravatar Alexandre Alapetite
* Fix import with empty content fix https://github.com/FreshRSS/FreshRSS/issues/5622 Cherry picks on https://github.com/FreshRSS/FreshRSS/pull/5584 * Fix export of tags / labels Article-defined tags were wrongly exported as user-defined labels. * Fix export of tags / labels Article-defined tags were wrongly exported as user-defined labels. * Fix bug with many labels * Better typing * Comments
2023-08-03Revert auto mark as read same titles for existing articles (#5561)Gravatar Alexandre Alapetite
Partial revert of https://github.com/FreshRSS/FreshRSS/pull/5505 We should not apply the auto mark as read rule based on existing titles for updated articles, because the match would most of the time be on that same article's title.
2023-08-03Fix cache refresh (#5562)Gravatar Alexandre Alapetite
Improvement of https://github.com/FreshRSS/FreshRSS/pull/4422 The main problem was due to `touch()` not automatically clearing the file status cache, and requiring a call to `clearstatcache()`. Example: ``` php > touch('/tmp/touch.txt'); php > echo date('c', filemtime('/tmp/touch.txt')); 2023-08-03T17:27:43+02:00 php > touch('/tmp/touch.txt'); php > echo date('c', filemtime('/tmp/touch.txt')); 2023-08-03T17:27:43+02:00 php > clearstatcache(true, '/tmp/touch.txt'); php > echo date('c', filemtime('/tmp/touch.txt')); 2023-08-03T17:28:21+02:00 ```
2023-07-30Rework trusted proxies (#5549)Gravatar Alexandre Alapetite
* Rework trusted proxies Fix https://github.com/FreshRSS/FreshRSS/issues/5502 Follow-up of https://github.com/FreshRSS/FreshRSS/pull/3226 New environment variable `TRUSTED_PROXY`: set to 0 to disable, or to a list of trusted IP ranges compatible with https://httpd.apache.org/docs/current/mod/mod_remoteip.html#remoteiptrustedproxy New internal environment variable `CONN_REMOTE_ADDR` to remember the true IP address of the connection (e.g. last proxy), even when using mod_remoteip. Current working setups should not observe any significant change. * Minor whitespace * Safer trusted sources during install Rework of https://github.com/FreshRSS/FreshRSS/pull/5358 https://github.com/FreshRSS/FreshRSS/issues/5357 * Minor readme
2023-07-10Fix get and order when saving user query (#5515)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/5514
2023-07-07Chore/processing of depreciations and updating code to php72 minimum (#5504)Gravatar Luc SANCHEZ
* 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 <sanchezluc+freshrss@gmail.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-07-05New extension hook entry_auto_read (#5505)Gravatar Alexandre Alapetite
* New extension hook entry_auto_read For extensions to be notified of articles being automatically marked as read for various reasons * Documentation + entry_auto_unread
2023-06-16Refactor lastSeen and markReadAsGone (#5470)Gravatar Alexandre Alapetite
* 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
2023-06-15Fix slider views (#5469)Gravatar Alexandre Alapetite
* Fix slider titles And fix full-page view of category configuration. FIx https://github.com/FreshRSS/FreshRSS/pull/5449#issuecomment-1590021947 * Fix user queries and user management Implement https://github.com/FreshRSS/FreshRSS/pull/5469#issuecomment-1591957935
2023-06-13Allow deep link to extension configuration (#5449)Gravatar Alexandre Alapetite
* Allow deep link to extension configuration Full screen * Support slider * Add aside_configure Fix https://github.com/FreshRSS/FreshRSS/pull/5449#issuecomment-1588089769
2023-06-13Improved: update page (#5420)Gravatar maTh
* prependTitle() * do not need the "damn" in the alert * update page layout improved * release channel * i18n labels * add log messages while updating * Delete updatee.php * Update updateController.php * Update updateController.php * Update updateController.php * Update updateController.php * add getCurrentGitBranch() * Update updateController.php * state2 buttons * i18n * loading * Update feedback.php * Update feedback.php * Update feedback.php * Update extra.js * Apply suggestions from code review Co-authored-by: Luc SANCHEZ <4697568+ColonelMoutarde@users.noreply.github.com> * Update updateController.php * Update terminology * update button is now armed --------- Co-authored-by: Luc SANCHEZ <4697568+ColonelMoutarde@users.noreply.github.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-05-16Fix again updateLastSeenUnchanged (#5404)Gravatar Alexandre Alapetite
* 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
2023-05-15PHPStan Level 7 for Minz_Request, FreshRSS_Feed, Minz_Error (#5400)Gravatar Alexandre Alapetite
* PHPStan Level 7 for Minz_Request * PHPStan Level 7 for FreshRSS_Feed * PHPStan Level 7 for Minz_Error
2023-05-13PHPStan Level 7 for Share userController logs_pagination (#5393)Gravatar Alexandre Alapetite
2023-05-11A few additional PHPStan rules (#5388)Gravatar Alexandre Alapetite
A subset of https://github.com/phpstan/phpstan-strict-rules
2023-05-11Typed view model classes (#5380)Gravatar Alexandre Alapetite
* 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
2023-05-09Fix markAsReadUponGone (#5382)Gravatar Alexandre Alapetite
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.
2023-05-07phpstan level 7 for updateController.php (#5376)Gravatar Luc SANCHEZ
* phpstan level 7 for updateController.php * phpstan level 7 for updateController.php * Minor array syntax --------- Co-authored-by: Luc <sanchezluc+freshrss@gmail.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-05-07phpstan level 7 for feedController.php (#5373)Gravatar Luc SANCHEZ
* phpstan level 7 for feedController.php * phpstan level 7 for feedController.php * phpstan level 7 for feedController.php * phpstan level 7 for feedController.php * A few fixes --------- Co-authored-by: Luc <sanchezluc+freshrss@gmail.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-05-04phpstan level 7 for importExportController.php (#5361)Gravatar Luc SANCHEZ
* phpstan level 7 for importExportController.php * Update app/Controllers/importExportController.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * Update app/Controllers/importExportController.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * Update app/Controllers/importExportController.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * Update app/Controllers/importExportController.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * phpstan level 7 for importExportController.php * phpstan level 7 for importExportController.php * phpstan level 7 for importExportController.php * A few edits --------- Co-authored-by: Luc <sanchezluc+freshrss@gmail.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-05-03Automatic trusted_sources during install (#5358)Gravatar Alexandre Alapetite
* Automatic trusted_sources during install Fix https://github.com/FreshRSS/FreshRSS/issues/5357 * Fix install for http_auth * Update lib/lib_rss.php Co-authored-by: Luc SANCHEZ <4697568+ColonelMoutarde@users.noreply.github.com> * Fill null exception e-mail * Revert some syntax * Minor parentheses
2023-05-02PHPStan Level 7 complete DAOs (#5354)Gravatar Alexandre Alapetite
* PHPStan Level 7 complete DAOs * Finalise PHPStan Level 7 for CategoryDAO * PHPStan Level 7 for Context and Search * Apply suggestions from code review Co-authored-by: Luc SANCHEZ <4697568+ColonelMoutarde@users.noreply.github.com>
2023-04-28PHPStan Level 7 for more DAO PDO (#5328)Gravatar Alexandre Alapetite
* 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
2023-04-23PHPStan Level 7 for ten more files (#5327)Gravatar Alexandre Alapetite
* PHPStan Level 7 for nine more files * Minor syntax * One more
2023-04-20Improve markAsReadUponGone (#5315)Gravatar Alexandre Alapetite
* Improve markAsReadUponGone Fix case when the uptream feed has zero article, then old articles would never be automatically marked as read with the "mark as read when gone" policy, which was only based on the timestamp of new articles from the uptream feed. * Fix typo * Simplify request Needs to be re-tested with SQLite + MySQL * While waiting to check syntax on all database types * Fix multiple errors In the case of WebSub, and in the case of invalid GUIDs
2023-04-20PHPStan Level 7 for FreshRSS_UserQuery (#5319)Gravatar Alexandre Alapetite
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/5318
2023-04-20Show REMOTE_ADDR in case of HTTP Basic Auth error (#5314)Gravatar Alexandre Alapetite
* Show REMOTE_ADDR in case of HTTP Basic Auth error https://github.com/FreshRSS/FreshRSS/issues/5300 * Remove obsolete TODO
2023-04-20PHPStan 7 configureController (#5318)Gravatar Alexandre Alapetite
And fix bugs for saving user queries
2023-04-17More consistent use of iterable type (#5308)Gravatar Alexandre Alapetite
For `yield`