aboutsummaryrefslogtreecommitdiff
path: root/app
AgeCommit message (Collapse)Author
2023-03-04Safer updateCachedValues (#5158)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/issues/5156
2023-02-23Fix MySQL bug (#5132)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/issues/5128 MySQL cannot have multiple VARCHAR(x) whose total length is higher than 65535 in the same table. > ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
2023-02-22add archive.org as sharing service (#5096)Gravatar yzqzss
Co-authored-by: maTh <math-home@web.de>
2023-02-22fix: sharing service config: data-leave-validation (#5098)Gravatar maTh
2023-02-09XML+XPath (#5076)Gravatar Alexandre Alapetite
* XML+XPath #fix https://github.com/FreshRSS/FreshRSS/issues/5075 Implementation allowing to take an XML document as input using an XML parser (instead of an HTML parser for HTML+XPath) * Remove noise from another PR * Better MIME for XML * And add glob *.xml for cache cleaning * Minor syntax * Add glob json for clean cache
2023-02-09code improvement for phpstan and humans ;) (#5084)Gravatar Luc SANCHEZ
* code improvement for phpstan and humans ;) * code improvement for phpstan and humans ;) * code improvement for phpstan and humans ;) * code improvement for phpstan and humans ;) * PHPSTAN level 6 * PHPStan level 9 * Avoid return mixed --------- Co-authored-by: Luc <sanchezluc+freshrss@gmail.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-02-08Fix disabling proxy (#5082)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/issues/5081 Allow disabling curl proxy for specific feed, when proxy is defined globally
2023-02-06More robust application of access permissions (#5062)Gravatar Alexandre Alapetite
* More robust application of access permissions We were in particular missing directory traversal `+X` in our current recommendations. Extracted to own shell script so it can easily be invoked. Update access permissions in Docker to account to be more robust. #fix https://github.com/FreshRSS/FreshRSS/discussions/5037 * Minor simplification * Restrict mkdir permissions Default mkdir permissions are 0777, which is not good for security, so downgrade to 0770.
2023-02-06Increase max HTTP timeout (#5074)Gravatar Alexandre Alapetite
* Increase maximum HTTP request timeout from 2 minutes to 15 minutes; * Reason: I have some RSS Bridge generating feeds, which can take several minutes. * Increase default HTTP request timeout from 15 to 20s. * Reason: I regularly observe feeds, which are slow to answer.
2023-02-03Type hinting and doc (#5063)Gravatar Luc SANCHEZ
* Type hinting and doc * fix cs * Remove declare strict * Remove declare strict * Pass PHPStan level 9 Revert too boolean syntax * Minor wording * Fix revert typo --------- Co-authored-by: Luc <sanchezluc+freshrss@gmail.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-02-03Remove -x on some files not needing it (#5065)Gravatar Alexandre Alapetite
2023-01-30Fix: dropdowns' overflow (#5055)Gravatar maTh
2023-01-30Search Improved: dropdown (#4994)Gravatar maTh
* first draft * fix * RTL CSS * add link to documentation * hide search button in desktop view * rename .no-desktop to .only-mobile * i18n * add ID * Theme: Swage * Theme Scewdriver * Theme Pafat * Theme flat * Theme: Adark * Theme: Dark * i18n: German * i18n en-us * fix i18n * Update app/i18n/fr/gen.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * Update app/layout/nav_menu.phtml Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * Update app/layout/nav_menu.phtml Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * Update app/layout/nav_menu.phtml Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * wip * mapco theme * RTL for Ansum and Mapco * fix * fix --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-01-29PHPStan level 9 for ./p/ and lib_rss.php (#5049)Gravatar Alexandre Alapetite
And app/FreshRSS.php Contributes to https://github.com/FreshRSS/FreshRSS/issues/4112
2023-01-28Fix types hint in UserQuery.php (#5045)Gravatar Alexandre Alapetite
* Fix types hint in UserQuery.php In particular, we had a mix of strings and integers for the query state Pass PHPStan level 9 * Unneeded null check
2023-01-26Fix error handling when updating URL (#5039)Gravatar Alexandre Alapetite
Fix 3 related error handling when updating the feed URL with an invalid URL. Previously leading to unclear 500 page with additional PHP errors.
2023-01-26Increase max feed URL length and drop unicity (#5038)Gravatar Alexandre Alapetite
* Increase max feed URL length and drop unicity #fix https://github.com/FreshRSS/FreshRSS/issues/4338 Drop the unicity constraint on our feed URL. In practice, this did not add much value as identical feeds could have different URLs. And it generated several problems, for instance during renaming or automatic redirections such as from HTTP to HTTPS, with collisions for which we dot not have any elegant handling. I have kept a high limit of 32768 because cURL does not seem to have any limit except memory, which might lead to memory problems. This is the highest server-side value reported by https://www.sistrix.com/ask-sistrix/technical-seo/site-structure/url-length-how-long-can-a-url-be * Same for Web site URL For consistency
2023-01-25Improved: expanding inputs (#5040)Gravatar maTh
* fix * wider input element
2023-01-21statsController at phpStan level 9 (#5028)Gravatar Alexandre Alapetite
Follow up of https://github.com/FreshRSS/FreshRSS/pull/5024 ``` vendor/bin/phpstan analyse --level 9 app/Controllers/statsController.php ``` Contributes to https://github.com/FreshRSS/FreshRSS/issues/4112
2023-01-21type hinting javascriptController (#5032)Gravatar Luc SANCHEZ
2023-01-20fix: Lemmy sharing service parameter (#5020)Gravatar maTh
2023-01-20Type hinting statsController.php (#5024)Gravatar Luc SANCHEZ
2023-01-20Use paramBoolean consistently (#5025)Gravatar Alexandre Alapetite
* Use paramBoolean consistently So that we have cleaner values (true booleans) everywhere in user's config.php
2023-01-19Safer timezone set (#5021)Gravatar Alexandre Alapetite
* Safer timezone set Add missing tzdata in Docker :newest Fallback to UTC if no timezone is defined at all #fix https://github.com/FreshRSS/FreshRSS/pull/4906#issuecomment-1386747169 * Better refactoring Show fallback timezone everywhere
2023-01-18tec: Update the lib_opml (#4403)Gravatar berumuron
* fix: Fix undefined GLOB_BRACE on Alpine The manual states that: > Note: The GLOB_BRACE flag is not available on some non GNU systems, > like Solaris or Alpine Linux. This generated an error on Alpine. Reference: https://www.php.net/manual/function.glob.php * fix: List details of feeds for OPML exportation The details are necessary to export the XPath information, the CSS full content path and read actions filters. * Update LibOpml to 0.4.0 * Refactor OPML importation to be more robust First, it fixes two regressions introduced by the update of lib_opml: - title attribute is used when text attribute is missing; - the OPML category attribute is used as a fallback for feeds categories. In a related way, if also fixes a problem when a feed had both a parent category outline and a category attribute. Before, it only considered the attribute as its category, but now it considers the parent outline. Then, it counts category limit correctly by not increasing `$nb_categories` if the category already exists. * Exclude lib_opml from the CodeSniffer * Fix variable names when logging some errors * Fix catch of LibOpml Exception * Make sure to declare the category * Exclude lib_opml from PHPStan analyze * Disable markdownlint for lib_opml * Fix typos * Use auto-loading and allow updates via Composer * Fix broken links to lib_opml * Bring back the ability to import the OPML frss:opmlUrl attribute * Refactor the logs of OPML errors * Update lib_opml to the version 0.5.0 Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-01-17Improved: navigation menu structure (#4937)Gravatar maTh
2023-01-17Added: Mark theme as deprecated (#4807)Gravatar maTh
* i18n + config * docs * deprecated marked themes * fix * fix markdown * i18n: fix link params * i18n: French * deprecated => no longer supported * i18n: German * Docs: deprecated => no longer supported * Docs: French * i18n: en-us * i18n German * isset() -> !empty() * i18n: fix German * i18n: English, delete // TODO
2023-01-09fix Automatic dark mode status (#5002)Gravatar maTh
2023-01-09Update dev dependencies (#4993)Gravatar Alexandre Alapetite
Related to https://github.com/FreshRSS/FreshRSS/pull/4991 Required a few changes in code to pass the tests
2023-01-09Handling of parentheses as special characters in searches (#4989)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/issues/4987
2023-01-09Added: Dark mode for Origine +Origine compact themes (#4843)Gravatar maTh
* first draft * fix: theme slider: properties box * improved colors * option to enable/disable dark mode * fixes * Update app/i18n/fr/conf.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * i18n english improved * fix dark background color for favorites + hover colors * select list: no, auto Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-01-09Lazy load logo on install, logo on header and theme thumbs in config slide ↵Gravatar Sadetdin EYILI
(#4998) * feat: lazy load logo on install, logo on header and theme thumbs in config slide
2023-01-06Better enclosures (#4944)Gravatar Alexandre Alapetite
* Better enclosures #fix https://github.com/FreshRSS/FreshRSS/issues/4702 Improvement of https://github.com/FreshRSS/FreshRSS/pull/2898 * A few fixes * Better enclosure titles * Improve thumbnails * Implement thumbnail for HTML+XPath * Avoid duplicate enclosures #fix https://github.com/FreshRSS/FreshRSS/issues/1668 * Fix regex * Add basic support for media:credit And use <figure> for enclosures * Fix link encoding + simplify code * Fix some SimplePie bugs Encoding errors in enclosure links * Remove debugging syslog * Remove debugging syslog * SimplePie fix multiple RSS2 enclosures #fix https://github.com/FreshRSS/FreshRSS/issues/4974 * Improve thumbnails * Performance with yield Avoid generating all enclosures if not used * API keep providing enclosures inside content Clients are typically not showing the enclosures to the users (tested with News+, FeedMe, Readrops, Fluent Reader Lite) * Lint * Fix API output enclosure * Fix API content strcut * API tolerate enclosures without a type
2023-01-02Keep view for search landing page (#4981)Gravatar maTh
2022-12-31fix: favicon after editing feed url (#4975)Gravatar Sadetdin EYILI
refactor: replace `$cat` variable by the `$values['category']` values
2022-11-29User-defined time zone (#4906)Gravatar Alexandre Alapetite
* User-defined time zone #fix https://github.com/FreshRSS/FreshRSS/issues/2754 * Update app/i18n/nl/conf.php Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> * Timezone when creating a new user Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
2022-11-26Deleted: bookmark.svg (#4897)Gravatar maTh
* delete bookmark.svg * optimize Pafat theme
2022-11-23Better restrict tag search (#4882)Gravatar Alexandre Alapetite
* Better restrict tag search #fix https://github.com/FreshRSS/FreshRSS/issues/4877 Search only on full tag names and not on parts of tag names * Better whitespace handling
2022-11-23Improved: config dropdown structure (#4891)Gravatar maTh
* phtml and frss.css * theme Origine * theme adark * theme Ansum * theme Mapco * theme BlueLagoon * theme dark * theme flat * theme nord * theme Screwdriver * theme swage * fix * fix * RTL * fix nord theme * fix SourceMap lines
2022-11-22HTML+XPath allow content as HTML (#4878)Gravatar Alexandre Alapetite
* HTML+XPath allow content as HTML #fix https://github.com/FreshRSS/FreshRSS/issues/4869 * Wrong variable reuse * Allow both HTML and expressions
2022-11-20Improved: show bigmarkasread button only, when there are unread articles (#4681)Gravatar maTh
* function toggle_bigMarkAsRead_button() * nothing_to_load text outside of bigmarkasread button * improved * fix * Update p/scripts/main.js Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2022-11-20Fix feed ordering (#4841)Gravatar Alexis Degrugillier
Before, the feeds were not ordered every time there was a change in the category feed list. This behavior was causing discrepancies in the displayed list. Now, the feeds are ordered every time there is a change in the category feed list. See #4790
2022-11-20[i18n] Improve translation: zh-cn (#4856)Gravatar Myuki
2022-11-15Add Chinese for custom date/time format (#4853)Gravatar Zhiyuan Zheng
* Translate item_timeFormat in Chinese * Update sub.php * Update sub.php
2022-11-15Fix type hints regressions (#4855)Gravatar Alexandre Alapetite
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
2022-11-14Hotfix i18nGravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/pull/4680
2022-11-14Typing function checkToken (#4561)Gravatar Luc SANCHEZ
* Typing function checkToken * Typing function and rename Co-authored-by: Luc SANCHEZ <luc.sanchez@zol.fr>
2022-11-14Add visibility (#4232)Gravatar Luc SANCHEZ
* Add visibility * Tab use * Update app/Models/Days.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2022-11-14NFS-friendly is_writable() checks (#4780)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/issues/4779
2022-11-14fix: sharing service for mailto links for web mail services (#4680)Gravatar maTh
* fix * Update main.js * Update app/i18n/fr/gen.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>