aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-11-04Create separate `Retry-After` files for proxies (#8029)Gravatar Inverle
* Create separate `Retry-After` files for proxies Bad proxies are able to send a false `Retry-After` header and affect the availability of feeds (domain-wide) for other users. This PR starts including the address of the proxy if present in filenames for `Retry-After` to mitigate the issue. * Reduce code changes * Sync SimplePie fork https://github.com/FreshRSS/simplepie/pull/62 --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-11-03Update list of Capy Reader capabilities in README (#8184)Gravatar Josiah Campbell
Reference - [Fetch read articles](https://github.com/jocmp/capyreader/discussions/532) - [Manage labels](https://github.com/jocmp/capyreader/issues/786) - [Fetch more in individual views](https://github.com/jocmp/capyreader/discussions/532)
2025-11-03Update manage.phtml (#8185)Gravatar maTh
I think that the placeholder for new user names should not be "demo". An empty field is good enough IMHO <img width="825" height="533" alt="grafik" src="https://github.com/user-attachments/assets/e2bde73b-4472-4bf7-ac4e-81138f3d9a3f" /> <img width="866" height="516" alt="grafik" src="https://github.com/user-attachments/assets/f7586470-d0e8-4962-9e5f-5aa6912670d3" />
2025-11-02[sqlite export] add username and timestamp (#8169)Gravatar scollovati
* [sqlite export] add username and timestamp add username and timestamp to sqlite user export, similar to the ZIP export. Useful for archiving purposes. * Fix case of backups and other DB types https://github.com/FreshRSS/FreshRSS/pull/8169#issuecomment-3476079108 --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-11-02Implement whitelist for SimplePie sanitizer (#7924)Gravatar Inverle
* Implement whitelist for SimplePie sanitizer ref: https://github.com/FreshRSS/FreshRSS/pull/7770#issuecomment-3140334326 https://github.com/FreshRSS/simplepie/pull/53 https://github.com/simplepie/simplepie/pull/947 * Remove `<plaintext>` from whitelist * Improve order * Remove some tags from whitelist * Revert partially * sync * Display contents of `<noscript>` and `<noembed>` * sync * Allow use of `<track>` * sync again * Sync to SimplePie fork https://github.com/FreshRSS/simplepie/pull/53 * Alphabetic order * Reduce list of stripped attributes * Temporarily strip some attributes --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-11-01Update phpmailer/phpmailer requirement from 6.11.1 to 7.0.0 in /lib (#8180)Gravatar dependabot[bot]
* Update phpmailer/phpmailer requirement from 6.11.1 to 7.0.0 in /lib Updates the requirements on [phpmailer/phpmailer](https://github.com/PHPMailer/PHPMailer) to permit the latest version. - [Release notes](https://github.com/PHPMailer/PHPMailer/releases) - [Changelog](https://github.com/PHPMailer/PHPMailer/blob/master/changelog.md) - [Commits](https://github.com/PHPMailer/PHPMailer/compare/v6.11.1...v7.0.0) --- updated-dependencies: - dependency-name: phpmailer/phpmailer dependency-version: 7.0.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * composer update --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-11-01Bump sass from 1.93.2 to 1.93.3 (#8178)Gravatar dependabot[bot]
Bumps [sass](https://github.com/sass/dart-sass) from 1.93.2 to 1.93.3. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.93.2...1.93.3) --- updated-dependencies: - dependency-name: sass dependency-version: 1.93.3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-01Bump stylelint from 16.24.0 to 16.25.0 in the stylelint group (#8177)Gravatar dependabot[bot]
Bumps the stylelint group with 1 update: [stylelint](https://github.com/stylelint/stylelint). Updates `stylelint` from 16.24.0 to 16.25.0 - [Release notes](https://github.com/stylelint/stylelint/releases) - [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint/compare/16.24.0...16.25.0) --- updated-dependencies: - dependency-name: stylelint dependency-version: 16.25.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: stylelint ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-01Bump the eslint group with 3 updates (#8176)Gravatar dependabot[bot]
Bumps the eslint group with 3 updates: [eslint](https://github.com/eslint/eslint), [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) and [globals](https://github.com/sindresorhus/globals). Updates `eslint` from 9.36.0 to 9.39.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v9.36.0...v9.39.0) Updates `@eslint/js` from 9.36.0 to 9.39.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/commits/v9.39.0/packages/js) Updates `globals` from 16.4.0 to 16.5.0 - [Release notes](https://github.com/sindresorhus/globals/releases) - [Commits](https://github.com/sindresorhus/globals/compare/v16.4.0...v16.5.0) --- updated-dependencies: - dependency-name: eslint dependency-version: 9.39.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: "@eslint/js" dependency-version: 9.39.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: globals dependency-version: 16.5.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-01Bump actions/setup-node from 5 to 6 (#8179)Gravatar dependabot[bot]
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5 to 6. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-01Fix/improve <textarea> (#8171)Gravatar maTh
## Feed configuration slider: ### Before: <img width="747" height="346" alt="grafik" src="https://github.com/user-attachments/assets/37056ef8-1163-48d1-a3dd-99e745418b2d" /> ### After: <img width="743" height="473" alt="grafik" src="https://github.com/user-attachments/assets/388a0ef6-633e-43ee-8ea5-5cbe7b40e6e4" /> ## CustomCSS, CustomJS extensions ### Before: <img width="762" height="504" alt="grafik" src="https://github.com/user-attachments/assets/279801fb-06a7-477a-81e7-c681087595a5" /> ### After: <img width="767" height="922" alt="grafik" src="https://github.com/user-attachments/assets/ca4cf304-03c7-4028-89d0-1c3094086176" /> And cleaning some CSS * UserCSS+JS: w100 h50 * clean textarea width height * feed config slider * Update base.rtl.css * fix class="valid-json" * padding + vertical-align * fix ansum mapco
2025-10-30Fix `console.log()` spam due to lack of `window.bcrypt` object (#8166)Gravatar Inverle
Harmless bug introduced in https://github.com/FreshRSS/FreshRSS/pull/7877 Before: <img width="1580" height="96" alt="image" src="https://github.com/user-attachments/assets/eaebd4fc-fb40-49ec-83af-43bde3009b00" /> (load *Archiving* page for example, `init_crypto_forms()` is not called on view pages)
2025-10-28Improve theme slider (#8152)Gravatar maTh
Ref https://github.com/FreshRSS/FreshRSS/pull/8149 Ref https://github.com/FreshRSS/FreshRSS/issues/6577 Before <img width="969" height="582" alt="grafik" src="https://github.com/user-attachments/assets/5e1e5e9a-31de-4327-a639-6327d602cf8a" /> After Buttons as navigation elements. Not it is crystal clear that the themes can be changed. The theme counter is a bit more prominent to show the big amount of shipped themes. <img width="1041" height="575" alt="grafik" src="https://github.com/user-attachments/assets/b498e74f-1284-40ad-b871-41ce238a49ff" />
2025-10-28Mark as read 1 or 7 days based on publication date (#8163)Gravatar Alexandre Alapetite
Allow the UI for marking as read articles older than 1 or 7 days to also work when sorting by publication date (in which case, the publication date is used). <img width="382" height="229" alt="image" src="https://github.com/user-attachments/assets/a630dec8-1e18-4766-8392-59fb593dd73d" />
2025-10-26Fix DOM fatal error while filtering retrieved full content (#8161)Gravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/pull/8132 was not sufficient. Fix *PHP Fatal error: Uncaught Error: Couldn't fetch DOMElement. Node no longer exists*
2025-10-26OPML export/import frss:priority (#8158)Gravatar Alexandre Alapetite
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/7583
2025-10-25ChangelogGravatar Alexandre Alapetite
2025-10-25fix: repair cli/health.php for OIDC installations (#8040)Gravatar GreyChame1eon
* fix: repair cli/health.php for OIDC installations Connected with #8039 This changes will restore healthcheck process both for classic and OIDC logins * Finalise fixes --------- Co-authored-by: alexx_b <alexx_b@mir-lin1.mir.int> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-25CssXPath: Implement ~ subsequent-sibling (#8154)Gravatar Alexandre Alapetite
* CssXPath: Implement ~ Subsequent-sibling fix https://github.com/FreshRSS/FreshRSS/issues/8143 Upstream PR https://github.com/phpgt/CssXPath/pull/231 * Use CssXPath release v1.4.0 https://github.com/phpgt/CssXPath/releases/tag/v1.4.0
2025-10-25Bump phpstan/phpstan from 2.1.29 to 2.1.31 (#8156)Gravatar dependabot[bot]
* Bump phpstan/phpstan from 2.1.29 to 2.1.31 Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan-phar-composer-source) from 2.1.29 to 2.1.31. - [Commits](https://github.com/phpstan/phpstan-phar-composer-source/commits) --- updated-dependencies: - dependency-name: phpstan/phpstan dependency-version: 2.1.31 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Fixes --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-24i18n(ru): 100% complete (#8155)Gravatar McFev
* i18n(ru): 100% complete * make fix-all * i18n(ru): 100% complete * make fix-all --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-24Better SQL auto-update f.kind (#8148)Gravatar Alexandre Alapetite
Add a little help to make sure that feed.kind gets added during the first call. Tested that replacing the DB with a backup from Febuary 2020 just works, automatically adding new columns since FreshRSS 1.20.0.
2025-10-23Add myself to credits (#8151)Gravatar McFev
https://github.com/FreshRSS/FreshRSS/pull/8140
2025-10-23dark theme background_color (#8140)Gravatar McFev
Added background_color so that the app doesn't blind with white color upon opening.
2025-10-22Configuration → Display → Theme: increase button visibility (#8149)Gravatar Frans de Jonge
Closes https://github.com/FreshRSS/FreshRSS/issues/6577 Maintains a little bit of distinction between hover and non-hover, but the focus is on always making it visible. ### Before <img width="45%" alt="Image" src="https://github.com/user-attachments/assets/4ebbffa3-e90d-42b2-9cdd-536197eabde3" /> ### After Left not hovered, right left arrow hovered. The distinction is obvious enough to show activation when actually hovering; it doesn't show very well on the screenshot. <img width="45%" alt="image" src="https://github.com/user-attachments/assets/74e3da4a-7072-4f27-b435-375d6168181a" /> <img width="45%" alt="image" src="https://github.com/user-attachments/assets/8d0016e1-8cb0-4307-b7d0-8a9d0fdec188" />
2025-10-22Add option to apply filter actions to existing articles (#7959)Gravatar Tommaso Ferrari
* Add option to apply filter actions to existing articles * make fix-all * Fixes * Another approach with preview New approach: https://github.com/FreshRSS/FreshRSS/pull/7959/commits/20479475c90ac954b991b3703c3cc76c16aa2d5c <img width="666" height="202" alt="image" src="https://github.com/user-attachments/assets/bb68ede4-60c8-4e0c-9317-c5ed7a6ad7df" /> Additional improvements: * Also implemented at category level, and at global level * Also implemented for favourites at global level Shortcomings: * Does not always work reliably with advanced regex, since the DB's flavour is not necessarily the same than PHP's Related: https://github.com/FreshRSS/FreshRSS/pull/8141 * make fix-all --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-22PostgreSQL: compatibility with PCRE word boundary (#8141)Gravatar Alexandre Alapetite
Allow the use of regex `\b` for word boundary (and `\B` for the opposite) even when using PostgreSQL. Follow up of: * https://github.com/FreshRSS/FreshRSS/pull/6706 For instance, `intitle:/\bnew\B/` will find *newest* but not *new* nor *renewal*. Useful in particular to minimise the differences between PHP and database in: * https://github.com/FreshRSS/FreshRSS/pull/7959
2025-10-22Update gen.php (#8146)Gravatar Darkentia
* Update gen.php Fully translated English to Greek (Μετάφραση απο Αγγλικά σε Ελληνικά) * make fix-all + fixes --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-21Add support for extension compatibility (#8081)Gravatar Alexis Degrugillier
The compatibility does support only a minimum version of FreshRSS. If we need something a bit more clever in the future, it is possible to handle a rule with a bit more complexity. See https://github.com/FreshRSS/FreshRSS/issues/5903 * Update app/Controllers/extensionController.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * Update app/i18n/pl/admin.php Co-authored-by: Inverle <inverle@proton.me> * Minor move phpstan-type --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> Co-authored-by: Inverle <inverle@proton.me>
2025-10-18ChangelogGravatar Alexandre Alapetite
2025-10-18i18n: fix typo in pl (#8135)Gravatar Inverle
🤦 https://github.com/FreshRSS/FreshRSS/pull/8134
2025-10-18i18n: pl (#8134)Gravatar Inverle
Translates new strings mainly for *Unread dates* and *Advanced Search*
2025-10-17Fix DOM error while filtering retrieved full content (#8132)Gravatar Alexandre Alapetite
``` PHP Fatal error: Uncaught Error: Couldn't fetch DOMElement in app/Models/Entry.php:998 ```
2025-10-17GReader API frss:priority (#7583)Gravatar Alexandre Alapetite
* GReader API frss:priority Experiment with a FreshRSS namespace in the GReader API to see whether there is any interest. fix https://github.com/FreshRSS/FreshRSS/issues/1868 `'frss:priority'` can be: `'important'`, `'main'`, `'category'`, `'feed'` (there is also the value `hidden`, but which is filtered out and as such never sent through the API at the moment) * Add visibility feed https://github.com/FreshRSS/FreshRSS/pull/7972
2025-10-17Fix API list by IDs (#8130)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/8129 Regression from https://github.com/FreshRSS/FreshRSS/pull/7886
2025-10-16Remove pocket translation key (#8128)Gravatar Alexis Degrugillier
Follow-up on https://github.com/FreshRSS/FreshRSS/pull/8127 Changes proposed in this pull request: - Remove pocket translation key
2025-10-16Add to search UI the user modification date (#8122)Gravatar Alexandre Alapetite
* Add to search UI the user modification date Follow-up of: * https://github.com/FreshRSS/FreshRSS/pull/8103 * https://github.com/FreshRSS/FreshRSS/pull/8093 * Easier UI to cancel filtering by date * Add blank <option> to ease deselection of <select>
2025-10-16Docker Compose PostgreSQL 18 (#8111)Gravatar Alexandre Alapetite
Update to version 18. https://www.postgresql.org/about/news/postgresql-18-released-3142/ Tested to work: Debian, Alpine, PHP 8.2, PHP 8.4.
2025-10-16Sort by article length (#8119)Gravatar Alexandre Alapetite
* Sort by article length fix https://github.com/FreshRSS/Extensions/issues/378 Very basic using simply SQL `LENGTH()` function. <img width="492" height="217" alt="image" src="https://github.com/user-attachments/assets/7cf37303-76c8-4411-b8b1-075e81535b60" /> * Improve content length retrieval
2025-10-16Remove pocket sharing service (#8127)Gravatar Alexis Degrugillier
It has been discontinued. See https://github.com/FreshRSS/FreshRSS/issues/8125
2025-10-16Change omnivore help URL (#8126)Gravatar Alexis Degrugillier
Fix https://github.com/FreshRSS/FreshRSS/issues/7105
2025-10-16Remove GitHub Action commands (#8123)Gravatar Alexandre Alapetite
* https://github.com/FreshRSS/FreshRSS/pull/8098 * https://github.com/FreshRSS/FreshRSS/pull/8106
2025-10-15Filter on last user modified (#8093)Gravatar Alexandre Alapetite
Example: `userdate:PT1H` to select only articles modified by user during the last hour Fix https://github.com/FreshRSS/FreshRSS/issues/4280#issuecomment-3393078024 Useful for instance to bulk mark as unread recently marked articles by error: 1. Click on the toggle button to show the read articles (making sure the toggle for the unread articles is off) 2. Sort by *User modified 9→1* 3. Filter by *user modified date*, for instance to the last 3 hours by typing `userdate:PT3H` 4. Click in the drop-down menu *Mark selection as unread* P.S.: I have added at the same time a bunch of unit tests for date-related logic
2025-10-15Implement search form (#8103)Gravatar Alexandre Alapetite
* Add UI for advanced search To help users with the seach operators. Obviously not as powerful as a manually-written search query. Lack in particular negation and logical *and* for now, but I might try to do something about it. <img width="939" height="1438" alt="image" src="https://github.com/user-attachments/assets/0bcad39b-eff3-4f44-876b-a2552af2af00" /> * Consistency: allow multiple user queries like S:1,2 * Fix user query and add tests
2025-10-14Fix SQLite GREATEST() (#8118)Gravatar Alexandre Alapetite
* Fix SQLite GREATEST() fix https://github.com/FreshRSS/FreshRSS/pull/8105 Related to https://github.com/FreshRSS/FreshRSS/pull/7886
2025-10-14Option to show user labels instead of tags in RSS share (#8112)Gravatar Alexandre Alapetite
* Option to show user labels instead of tags in RSS share fix https://github.com/FreshRSS/FreshRSS/discussions/8108#discussioncomment-14668813 <img width="711" height="182" alt="image" src="https://github.com/user-attachments/assets/8effb2cd-fffb-4f00-b628-54e963e8b2dc" />
2025-10-14[i18n] updated Italian translation (#8115)Gravatar scollovati
* [i18n] updated Italian translation * make fix-all * [i18n] italian unsafe_csp_header * make fix-all --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-14Fix navigating between read feeds using shortcut shift+j/k (#8057)Gravatar Inverle
Before, the shortcuts marked in red and blue behaved the same way (with shift modifier) Specifically <kbd>Shift + J</kbd> had the same behavior as <kbd>Shift + K</kbd> which means it only jumped to unread and not read/unread. <img width="719" height="396" alt="image" src="https://github.com/user-attachments/assets/8ebd1efc-c186-4dcf-9b54-b9acbf3bbbe5" /> Now the shift modifier shortcuts match the behavior of the alt and no modifier shortcuts. <kbd>Shift + K</kbd> was corrected too, but there is no alternative for it yet, since I don't know which default key should be used for it - <kbd>l</kbd> is already taken by *My labels* shortcut
2025-10-14New stats overview of dates with most unread articles (#8089)Gravatar Alexandre Alapetite
New view with direct links to dates with most unread articles: <img width="734" height="581" alt="image" src="https://github.com/user-attachments/assets/159a39b3-3a06-4ae9-9cc0-62ae36d9db9c" />
2025-10-14Fix drag&drop of user query losing information (#8113)Gravatar Alexandre Alapetite
* Fix drag&drop of user query losing information Information about RSS sharing was lost after a drag&drop * Fix related type cast