aboutsummaryrefslogtreecommitdiff
path: root/app/Models
AgeCommit message (Collapse)Author
2024-12-15New state: favorite or unread (#7088)Gravatar Alexandre Alapetite
* New state: favorite or unread https://github.com/FreshRSS/FreshRSS/discussions/7078#discussioncomment-11526292 * Experiment using this state by default * Rework state * Allow ANDS for typos * Revert change unrelated to this PR * Revert change of default state * Add option *unread_or_favorite* * Fix hide_read_feeds * i18n: it Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com> * Update app/i18n/pl/conf.php Co-authored-by: Zic <55097497+ZicPL@users.noreply.github.com> * Update app/i18n/pl/conf.php Co-authored-by: Zic <55097497+ZicPL@users.noreply.github.com> * Fix i18n * Fix auto_remove_article * Fix mark_unread_enabled --------- Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com> Co-authored-by: Zic <55097497+ZicPL@users.noreply.github.com>
2024-12-11Improved CSS filter (#7091)Gravatar Alexandre Alapetite
* Improved CSS filter Remove unwanted elements both before and after sanitizing fix https://github.com/FreshRSS/FreshRSS/issues/7084 Improved fix bug in https://github.com/FreshRSS/FreshRSS/commit/33fd07f6f26310d4806077cc87bcdf9b8b940e35#commitcomment-150152171 * fix typing
2024-12-10OPML export/import for cssFullContentConditions (#7082)Gravatar Alexandre Alapetite
Follow-up of https://github.com/FreshRSS/FreshRSS/commit/33fd07f6f26310d4806077cc87bcdf9b8b940e35, which should have been a PR.
2024-12-10Fix string conditionGravatar Alexandre Alapetite
Follow-up of https://github.com/FreshRSS/FreshRSS/commit/33fd07f6f26310d4806077cc87bcdf9b8b940e35 , which should have been a PR
2024-12-10Conditional retrievalGravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/6149
2024-12-10Fix regression CSS filter encoding (#7081)Gravatar Alexandre Alapetite
fix Unicode of https://github.com/FreshRSS/FreshRSS/pull/7073 Plus optimisation of XPath by keeping it into a variable.
2024-12-08Sanitize before CSS manipulation (#7073)Gravatar Alexandre Alapetite
Allows using the same CSS filters for content coming from RSS feeds and from Web scraping fix https://github.com/FreshRSS/FreshRSS/issues/7039 https://github.com/FreshRSS/FreshRSS/issues/7014#issuecomment-2508987606 https://github.com/FreshRSS/FreshRSS/pull/7037
2024-12-05Avoid Unicode escape of authors in HTML UI (#7056)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/2770
2024-12-05Parentheses in quoted search (#7055)Gravatar Alexandre Alapetite
* Parentheses in quoted search Allow parentheses in quoted search like `author:"Bob (Team1)"` Related to https://github.com/FreshRSS/FreshRSS/pull/7054 * Doc
2024-12-03Fallback to GUID if article link is empty (#7051)Gravatar Alexandre Alapetite
* Fallback to GUID is entry link is empty fix https://github.com/FreshRSS/FreshRSS/issues/7050 * FILTER_NULL_ON_FAILURE
2024-12-03New button to delete errored feeds from a category (#7030)Gravatar Alexandre Alapetite
* New button to delete errored feeds from a category fix https://github.com/FreshRSS/FreshRSS/issues/7025 fix https://github.com/FreshRSS/FreshRSS/issues/7026 * Remove English TODO * in error state * Feeds with errors
2024-11-30Fix CSS selector for removing elements (#7037)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/7014 Case of negative filter matching the positive filter
2024-11-28Upgrade code to php 8.1 (#6748)Gravatar Luc SANCHEZ
* revert Fix code indentation Fix code Upgrade code to php 8.1 * fix remarques * code review * code review * code review * Apply suggestions from code review * code review * Fixes * Many remainging updates of array syntax * Lost case 'reading-list' * Uneeded PHPDoc --------- Co-authored-by: Luc Sanchez <l.sanchez-prestataire@alptis.fr> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-11-21Add extension hook simplepie_after_init (#7007)Gravatar Alexandre Alapetite
* Add extension hook simplepie_after_init fix https://github.com/FreshRSS/FreshRSS/issues/7006 * Add documentation note * fix doc get_headers * Syntax void * Forgotten code
2024-11-15New: Label menu in article row (#6984)Gravatar maTh
* configs * add the icon in the entry header line * rename comment * Update main.js * CSS * comment typo fix * fix gloabl view my labels menu * improved: my labels dropdown with triangle now. yay!
2024-11-02Fix regex search for tags (#6972)Gravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/issues/6949#issuecomment-2452363378
2024-11-01Rebuild Feed .ico and .txt on cache clear (#6961)Gravatar Patrick Hyatt
* - Modify Feed.faviconPrepare signature to allow forced retrieval of the favicon - Add faviconRebuild which clears file cache and re-retrieves icons - Call faviconRebuild when clearCache is fired * Update app/Models/Feed.php * - PHPStan fix : Use static method call vs dynamic --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-10-29Fix regex parentheses of referenced search (#6950)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/6949
2024-10-24Fix regex for references to user queries (#6936)Gravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/pull/6926#issuecomment-2432712495
2024-10-23Web export SQLite (#6931)Gravatar Alexandre Alapetite
* Web export SQLite https://github.com/FreshRSS/FreshRSS/discussions/6930 * Implement download * Fix operator precedence * Set Last-Modified * Sort by time, newest first * Fix Last-Modified * Use DateTimeInterface::RFC7231 * Add not_applicable message
2024-10-22Allow regex parentheses (#6926)Gravatar Alexandre Alapetite
* Allow regex parentheses While waiting for a new better search parser, auto-escape parentheses in regex expressions to allow them like in `/^(ab|cd)/` * Allow escaped parenthesis in regex * A couple more tests
2024-10-21New option mark article as read if identical title in category (#6922)Gravatar Alexandre Alapetite
* New mark articles as read if identical title in category fix https://github.com/FreshRSS/FreshRSS/issues/6143 * i18n todo forgotten
2024-10-20Add privacy settings on extension list retrieval (#4603)Gravatar Alexis Degrugillier
* Add privacy settings on extension list retrieval There is a new privacy page to handle all configuration related to privacy. At the moment, only privacy related to extensions can be configured. The new settings allow to change the location of the extension list file and to choose if the selected file is cached for a day or retrieved for each request. Fix #4570 * Update code to pass PHPStan * make fix-all --------- Co-authored-by: maTh <math-home@web.de> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-10-17Add move to next unread Label on mark as read. (#6886)Gravatar Mike
* Add move to next unread Label on mark as read. The Labels, unlike the Feeds and Categories, don't move to the next unread when "move to next unread on mark all as read" user feature is enabled. Labels are more complex than Feeds and Categories because Entries can be in more than Label at a time. So when marking all Entries in the Label as read, it can cause other Labels to end up with all their Entries marked as read as well. The calculation of what the next Label/Feed/Category is to jump to normally happens when generating the link for the "Mark as Read" buttons, but it can't for Labels. To address the problem for Labels, use a placeholder value during the pre-calculation of the "Mark as Read" button link. When that placeholder value is encountered during the "Mark as Read" action, the next Label with unread Entries will be calculated immediately after the mark as read action has been processed. Fix all the translations of the 'jump_next' text to remove the '(feed or categories' part that no longer applies. Attempt to fix the inconsistent Russian, Italian, and Polish translations of 'jump_next' text, which phrased the '(feed or categories)' part differently. * Minor code formattting * Fixes * Optimize next label lookup. Only get the tag list once, and actually error check that it returned successfully. Fix a typo in a comment as well. * Fix fallback when all Labels are read. Fix the missing check for whether we're in the fallback case or not. * Update app/i18n/ru/conf.php * Update app/Controllers/entryController.php * Minor changes * One more minor --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-10-15Fix add feed with MariaDB / MySQL (#6900)Gravatar Alexandre Alapetite
* Fix add feed with MariaDB / MySQL fix https://github.com/FreshRSS/FreshRSS/issues/6897 Regression from https://github.com/FreshRSS/FreshRSS/pull/4487 * Type fix
2024-10-14Add hook entries_favorite (#6880)Gravatar Alexandre Alapetite
Called when entries are starred or unstarred
2024-10-14New unicity policies for feeds with bad GUIDs (#4487)Gravatar Alexandre Alapetite
New set of unicity criteria options. New tolerance heuristic: > `$invalidGuidsTolerance` (default 0.05) The maximum ratio (rounded) of invalid GUIDs to tolerate before degrading the unicity criteria. > Example for 0.05 (5% rounded): tolerate 0 invalid GUIDs for up to 9 articles, 1 for 10, 2 for 30, 3 for 50, 4 for 70, 5 for 90, 6 for 110, etc. > The default value of 5% rounded was chosen to allow 1 invalid GUID for feeds of 10 articles, which is a frequently observed amount of articles.
2024-10-13New feed mode: HTML + XPath + JSON dot notation (JSON in HTML) (#6888)Gravatar Alexandre Alapetite
* New feed mode: HTML + XPath + JSON dot notation (JSON in HTML) Same as `JSON+DotNotation` but first extracting the JSON string from an HTML document thanks to an XPath expression. Example: `//script[@type='application/json']` fix https://github.com/FreshRSS/FreshRSS/discussions/6876 * JavaScript UI to show/hide new field * Casing xPathToJson * Slight renaming
2024-10-02Allow dynamic search operator in user queries (#6851)Gravatar Alexandre Alapetite
* Allow dynamic search operator in user queries fix https://github.com/FreshRSS/FreshRSS/issues/6849 * Other approach
2024-09-20SimplePie support for HTTP cache policies (#6812)Gravatar Alexandre Alapetite
* SimplePie support for HTTP cache policies Discussion in https://github.com/FreshRSS/simplepie/pull/26 * Bump SimplePie commit * Typos * Typos * Simpler logic * Explicitly disable cache for non-GET flows * Bump SimplePie commit * Bump SimplePie commit * Bump SimplePie commit * Bump SimplePie commit
2024-09-20Fix search with double-quote and parenthesis (#6818)Gravatar Alexandre Alapetite
Fix searches like `("test")` with a double-quote preceded by a parenthesis
2024-09-14Allow SimplePie updates with composer (#4374)Gravatar Artur Weigandt
* rename lib/SimplePie to lib/CustomSimplePie * add test for autoloading SimplePie with PSR-0 * install SimplePie 1.6.0 * Add SimplePie CHANGELOG.md, ignore irrelevant files * remove unmodified custom classes * rename all customized SimplePie classes * Add autoloading for SimplePie PSR-0 and CustomSimplePie classes * let CustomSimplePie extends SimplePie, remove unchanged code * let CustomSimplePieMisc extends SimplePie\Misc, remove unchanged code * Add tests for autoloading * let CustomSimplePieContentTypeSniffer extends Sniffer, remove unchanged code * remove unchanged CustomSimplePieEnclosure class The fixed typos are commited to SimplePie See https://github.com/simplepie/simplepie/pull/722/commits/133eac158cddaf5d2ddf9d9e5f42d92f944f885d * let CustomSimplePieFile extends SimplePie\File, remove unchanged code * let CustomSimplePieParser extends SimplePie\Parser, remove unchanged code * let CustomSimplePieSanitize extends SimplePie\Sanitize, remove unchanged code * let CustomSimplePieHttpParser extends SimplePie\HTTP\Parser, remove unchanged code * Remove CustomSimplePie * Switch SimplePie repo to https://github.com/FreshRSS/simplepie.git * move to latest branch, update all SimplePie source files * Use namespaced SimplePie classes, remove SimplePie library folder * Update to latest SimplePie version with FreshRSS modifications * Bump SimplePie Tests expected to fail due to missing a backport of functionalities * Add fork-specific readme * Re-implement initial syslog SimplePie GET https://github.com/FreshRSS/FreshRSS/pull/815 Lacks https://github.com/FreshRSS/FreshRSS/pull/6061 * Closer backport of syslog SimplePie GET https://github.com/FreshRSS/FreshRSS/pull/6061 But the requests logs will be in the wrong order in case of redirections * Fixes * lib update * SimplePie include a few more files * Try with cache-hash branch * Point to newer commit * Point to newer commit * Finalise logs * Finalise * Bump SimplePie commit * Bump SimplePie commit * Readme SimplePie fork * Bump SimplePie commit * Better logging * Bump SimplePie commit * Reworked approach to work with SimplePie cache Simpler FreshRSS patches * Bump SimplePie commit https://github.com/FreshRSS/simplepie/pull/22 * Simplepie846 https://github.com/FreshRSS/simplepie/pull/23 And additional fixes * Remove log * Cherry pick relevant unmerged SimplePie PRs --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-09-14Improve CSS filter to exclude content (#6807)Gravatar Alexandre Alapetite
* Improve CSS filter to exclude content Improve https://github.com/FreshRSS/FreshRSS/pull/6786 Fix bug when changing the CSS filter and reloading article, because original content was lost. Fix similar bug with pathEntries. * Forgotten i18n * Type check
2024-09-12Fix inversed encoding logic in paramArray (#6800)Gravatar Alexandre Alapetite
* Fix inversed encoding logic in paramArray https://github.com/FreshRSS/FreshRSS/pull/6797#discussion_r1754661634 Also fix the possibility to use `<'&">` in shortcuts, and some minor encoding bugs in user queries * Forgot paramArrayString
2024-09-11PHPStan booleansInConditions (#6793)Gravatar Alexandre Alapetite
* PHPStan booleansInConditions * Uniformisation
2024-09-09Apply CSS selector filter also when not using full content (#6786)Gravatar Alexandre Alapetite
Before, removing content from articles was only possible when fetching full article contents. With this PR, the same cleaning can be applied to the normal content provided by RSS feeds.
2024-09-09Fix auto-read tags (#6790)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/6788
2024-09-06Regex search (#6706)Gravatar Alexandre Alapetite
* Regex search fix https://github.com/FreshRSS/FreshRSS/issues/3549 * Fix PHPStan * Fix escape * Fix ungreedy * Initial support for regex search in PostgreSQL and MySQL * Improvements, support MySQL * Fix multiline * Add support for SQLite * A few tests * Added author: and inurl: support, documentation * author example * Remove \b for now * Disable regex sanitization for now * Fix getInurlRegex * getNotInurlRegex * Quotes for inurl: * Fix test * Fix quoted tags + regex for tags https://github.com/FreshRSS/FreshRSS/issues/6761 * Fix wrong regex detection * Add MariaDB * Fix logic * Increase requirements for MySQL and MariaDB Check support for multiline mode in MySQL * Remove sanitizeRegexes() * Allow searching HTML code Allow searching for instance `/<pre>/` Fix https://github.com/FreshRSS/FreshRSS/issues/6775#issuecomment-2331769883 * Doc regex search HTML * Fix Doctype
2024-09-06Upgrade to PHP 8.1 (#6711)Gravatar Alexandre Alapetite
* Upgrade to PHP 8.1 As discussed in https://github.com/FreshRSS/FreshRSS/discussions/5474 https://www.php.net/releases/8.0/en.php https://www.php.net/releases/8.1/en.php Upgrade to available native type declarations https://php.net/language.types.declarations Upgrade to https://phpunit.de/announcements/phpunit-10.html which requires PHP 8.1+ (good timing, as version 9 was not maintained anymore) Upgrade `:oldest` Docker dev image to oldest Alpine version supporting PHP 8.1: Alpine 3.16, which includes PHP 8.1.22. * Include 6736 https://github.com/FreshRSS/FreshRSS/pull/6736
2024-09-06Better cache name for JSON feeds (#6768)Gravatar Alexandre Alapetite
2024-09-04Fix XPath for HTML documents with broken root (#6774)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/6773 The default `.//` prefix for the XPath does not to work for documents, which have content after the end of their main node
2024-08-23Use .html extension for full content pages instead of .spc (#6724)Gravatar Alexandre Alapetite
2024-08-17Fix HTTP cache of main page (#6719)Gravatar Alexandre Alapetite
Revert bug introduce by https://github.com/FreshRSS/FreshRSS/pull/3096 in which username was always null, preventing HTTP cache from working and always returning 200 instead of 304. Discovered when checking https://github.com/FreshRSS/FreshRSS/pull/6718
2024-08-16Fix HTTP cache of user queries (#6718)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/6717
2024-08-14Update about running tests (#6709)Gravatar Alexandre Alapetite
2024-08-11SQL single quote string literals, one more (#6702)Gravatar Alexandre Alapetite
Forgotten from https://github.com/FreshRSS/FreshRSS/pull/6701 https://github.com/FreshRSS/FreshRSS/issues/6602
2024-08-01Minor update whitespace PHPCS rules (#6666)Gravatar Alexandre Alapetite
* Minor update whitespace PHPCS rules To simplify our configuration, apply more rules, and be clearer about what is added or removed compared with PSR12. Does not change our current conventions, but just a bit more consistent. * Forgotten *.phtml * Sort exclusion patterns + add a few for Extensions repo * Relaxed some rules
2024-08-01Fix parentheses for complex `OR` boolean search expressions (#6672)Gravatar Alexandre Alapetite
* Fix OR parentheses * Pass all tests * Forgotten comment * Minor whitespace * Fix several cases envolving negation * Line length * Fix `OR NOT`
2024-07-30Fix markAsReadUponGone regression (#6663)Gravatar Alexandre Alapetite
Regression from https://github.com/FreshRSS/FreshRSS/pull/5470 Was not working anymore when the feed was empty. Plus simplification of the logic when the feed is not empty
2024-07-24Share in GReader JSON format (#6655)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/discussions/6654#discussioncomment-10128309