aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-10-01configurable notification timeout (#7942)Gravatar maTh
Ref #7931 Ref #5466 Ref #6409 added configuration in "Display" <img width="636" height="167" alt="grafik" src="https://github.com/user-attachments/assets/7bbc9f26-d91b-4dd2-b715-1d3f9b7a9ad3" /> * i18n: fr * Update app/i18n/pl/conf.php Co-authored-by: Inverle <inverle@proton.me> * make fix-all * max() * Minor whitespace (I am not a fan of excessive vertical indenting) --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> Co-authored-by: Inverle <inverle@proton.me>
2025-09-30Add hook enums (#8036)Gravatar Alexis Degrugillier
- add an enum to handle hook types (enum are available since PHP 8.1) - change hook calls from string value to enum value
2025-09-30Fix autocomplete issues in change password form (#7812)Gravatar Inverle
## Screenshots <details> <summary>Before</summary> <img width="773" height="652" alt="image" src="https://github.com/user-attachments/assets/89a0e58c-8c4a-41ff-b5d6-3e916079d563" /> </details> <details> <summary>After</summary> <img width="1006" height="646" alt="image" src="https://github.com/user-attachments/assets/f4575103-7365-4870-a170-2742bf10eb27" /> </details> This is an example on Firefox, where the `Master authentication token` field was incorrectly being autofilled. Red borders are indicating that the fields are required. ## List of changes * `required="required"` is now being added to the password fields if the section is open * The `challenge` field is being added if section is open instead of when at least one of the password fields isn't empty due to autocomplete * Added `autocomplete="new-password"` on fields that shouldn't be autocompleted * Unfortunately Chrome requires a workaround with CSS * Not tested on Safari yet * User will be redirected to profile page after successfully changing their password instead of index page ## How to test Autocomplete related changes should be tested on a HTTPS page with saved credentials for FreshRSS
2025-09-30Add new visibility priority *Show in its feed* (#7972)Gravatar Alexandre Alapetite
* Add new visibility priority *Show in its feed* fix https://github.com/FreshRSS/FreshRSS/pull/7970#issuecomment-3293917428 (you can't directly filter a hidden feed, it just shows a 404 page) And add a new visibility *Show in its feed* to show the feed in the list but not its articles. Ensure that visibility *hidden* is not shown to API. * TODO for later * Update app/i18n/pl/sub.php Co-authored-by: Inverle <inverle@proton.me>
2025-09-29Fix more CSRFs (#8035)Gravatar Inverle
Follow-up of #8000 Some were still missed in `feedController`. even had comments but no check: https://github.com/FreshRSS/FreshRSS/blob/0d463b67bdade2e896b7fa74595950eeaadd55fe/app/Controllers/feedController.php#L1053-L1055 https://github.com/FreshRSS/FreshRSS/blob/0d463b67bdade2e896b7fa74595950eeaadd55fe/app/Controllers/feedController.php#L374-L376
2025-09-29Reverse arguments to array_merge of cusotm config (#8033)Gravatar Lars Kellogg-Stedman
The installer was merging the initial configuration into the custom configuration, which meant that any keys set in the system configuration would take precedence over custom configuration. Practically, this meant it was not possible to preconfigure the database connection via `config.custom.php`. This commit reverses the order of the arguments to the `array_merge` function so that keys in the custom configuration will override keys in the initial configuration. See also: https://github.com/FreshRSS/FreshRSS/discussions/8030
2025-09-29Update German (#8028)Gravatar Daniel Scharmach
* Update index.php "Vorgestern" was technically not correct here, in my opinion: - "Vorgestern empfangen" implies this is only for the day before yesterday - "Vor gestern empfangen" would instead include everything before yesterday, too * Update sub.php Correction of small typo
2025-09-27Stable IDs during SQL import (#7988)Gravatar Alexandre Alapetite
* Stable IDs during SQL import Follow-up of https://github.com/FreshRSS/FreshRSS/pull/7949 Make sure that the original category IDs, feed IDs, and label IDs are kept identical during an SQL import. Avoid breaking everything referring to categories, feeds, labels by their IDs such as searches and third-party extensions. * Fix export of default category
2025-09-27Start 1.27.2-devGravatar Alexandre Alapetite
2025-09-27Release 1.27.11.27.1Gravatar Alexandre Alapetite
2025-09-27ChangelogGravatar Alexandre Alapetite
2025-09-27Fix regression in ext.php (#8021)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/Extensions/issues/370 Regression from https://github.com/FreshRSS/FreshRSS/pull/7857
2025-09-27Dark-pink theme: remove white background from configure buttons (#8020)Gravatar Inverle
Before: <img width="273" height="116" alt="image" src="https://github.com/user-attachments/assets/4fb9b1f2-b960-428e-9c3f-84e803cd0afa" /> After: <img width="239" height="111" alt="image" src="https://github.com/user-attachments/assets/7528649b-47f0-4111-8cf8-ac54080d5573" />
2025-09-25fix: anonym. mode: Do not show config button in sharing menu (#8012)Gravatar maTh
* Ref #8001 Do not show the config button in the article sharing menu if it is in the anonym. mode * Minor whitespace reduction Because it is a section that is used many times --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-09-25Improve restriction of curl params (#8009)Gravatar Inverle
Rework #7979 Forgot to change `httpGet()`, which is used in multiple places
2025-09-25fix: anonym. mode: label management link (#8011)Gravatar maTh
Ref: #8001 Changes proposed in this pull request: - do not show the "manage" dropdown menu for labels in anonym. mode (normal view) Before: <img width="304" height="139" alt="grafik" src="https://github.com/user-attachments/assets/2aff0299-febe-41b0-a99a-450559393cd6" /> After: <img width="281" height="121" alt="grafik" src="https://github.com/user-attachments/assets/69ad334e-0a31-4546-9939-9b72306db046" />
2025-09-25Prevent logout CSRFs (#7999)Gravatar Inverle
By avoiding `FreshRSS_Context::initUser()` calls
2025-09-25Fix: sharing button in top line when 0 entries (#8010)Gravatar maTh
ref #8001 Changes proposed in this pull request: - count entries, do not show share button when 0 sharing services How to test the feature manually: 1. having 0 sharing services 2. enable the sharing button in top line (settings -> display> 3. go to normal view -> sharing button should not be displayed in the article entry 4. add 1 sharing service 5. normal view -> sharing button is be displayed
2025-09-24Fix some CSRFs (#8000)Gravatar Inverle
In two bookmark actions and one in `entryController` Completes one TODO from #7923: https://github.com/FreshRSS/FreshRSS/blob/de624dc8ce63ec819c61216d9d44f828841c293e/app/Controllers/entryController.php#L257 (a POST request is already sent in the frontend)
2025-09-23Lazy-load `<track src>` (#7997)Gravatar Inverle
Follow-up of #7636 I found it's the only missing element that needs to be lazy loaded by putting HTML of https://github.com/cure53/HTTPLeaks/blob/main/leak.html into a feed
2025-09-23Changelog, creditsGravatar Alexandre Alapetite
2025-09-22Upgrade to PHP_CodeSniffer 4 (#7993)Gravatar Alexandre Alapetite
https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki/Version-4.0-User-Upgrade-Guide A couple of rules have changed name. Exclusion paths have slightly changed behaviour. Main change is that it was unhappy with our i18n header comments, so minor edit there, since that rule kind of makes sense the rest of the time
2025-09-22add rnkln to credits (#7992)Gravatar KleinMann
2025-09-21Minor forgotten str_starts_with (#7991)Gravatar Alexandre Alapetite
A couple of places, which have been forgotten when we moved to using `str_starts_with()` instead of `strpos()`.
2025-09-21Update German (#7833)Gravatar beerisgood
* Update sub.php German translation added. * Update gen.php German translation added * make fix-all * Update conf.php * make fix-all * Update index.php * make fix-all * Update admin.php * Update feedback.php * Update app/i18n/de/index.php * make fix-all * Apply suggestions from code review Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com> * Update app/i18n/de/index.php Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com> * Update app/i18n/de/feedback.php Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com> * Icon * make fix-all --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com> Co-authored-by: Alexis Degrugillier <aledeg@users.noreply.github.com>
2025-09-21Add option for CSP frame-ancestors (#7857)Gravatar Alexandre Alapetite
* Add option for CSP frame-ancestors https://github.com/FreshRSS/FreshRSS/discussions/7856 * Revert contentSelectorPreviewAction * Same for f.php and api * Fix double init in f.php * No sandbox for API page
2025-09-21ChangelogGravatar Alexandre Alapetite
2025-09-21Move update one step before (#7989)Gravatar Inverle
Closes https://github.com/FreshRSS/FreshRSS/issues/7897
2025-09-20fix linkding documentation link (#7985)Gravatar Alexis Degrugillier
Closes #7984 Changes proposed in this pull request: - fix linkding documentation link How to test the feature manually: 1. add a linkding sharing method 2. click on the documentation link 3. validate that the link is working
2025-09-20Add myself to credits (#7987)Gravatar Horváth Zsolt
https://github.com/FreshRSS/FreshRSS/pull/7986
2025-09-206846 i18n update hungarian language (#7986)Gravatar Horváth Zsolt
* Update hungarian translation * Update hungarian translation status as well
2025-09-18Add `entry_before_update` and `entry_before_add` hooks (#7977)Gravatar KleinMann
Discussion: https://github.com/FreshRSS/FreshRSS/discussions/7973 Changes proposed in this pull request: - Add new extension hook "entry_before_add" - Add new extension hook "entry_before_update" How to test the feature manually: 1. Create extension that uses the hooks and confirm they are invoked correctly. Extension to use for testing https://github.com/rnkln/freshrss-xExtension-Discord/pull/2
2025-09-18Restrict allowed curl parameters (#7979)Gravatar Inverle
For additional safety, also making sure in this PR that [`CURLOPT_COOKIEFILE`](https://curl.se/libcurl/c/CURLOPT_COOKIEFILE.html) is only allowed as an empty string during import.
2025-09-17Keep sort and order after marking as read (#7974)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/7867
2025-09-16Safer calling of `install.php` (#7971)Gravatar Inverle
To prevent `install.php` from being accessed in unintended places
2025-09-15Clarify: Visibility hidden vs. archived (#7970)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/7887 We have two concepts: how much a feed is shown or not (controlled by priority), and how often a feed is refreshed (or not, in which case it is archived). This PR removes the wording *Archived* from the *visibility* parameter, since this is not what it does.
2025-09-15Minor RSS output whitespace reduction (#7969)Gravatar Alexandre Alapetite
fix https://github.com/FreshRSS/FreshRSS/issues/7968
2025-09-15Fix another user self-delete regression (#7877)Gravatar Inverle
Regression from #7763 Earlier regression which was fixed before #7626 In addition: * get rid of `data-toggle` (refactor) * show invalid login message if deleting account and entered incorrect password instead of redirect to 403 * remove unused reference to `r` parameter * `forgetOpenCategories()` on login not on any crypto form
2025-09-15i18n zh-CN: Update conf.php (#7944)Gravatar scmaybee
* Update conf.php Supplementary part of the translation. * Update app/i18n/zh-cn/conf.php * Update app/i18n/zh-cn/conf.php * Update app/i18n/zh-cn/conf.php * Fixes --------- Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-09-15ChangelogGravatar Alexandre Alapetite
2025-09-15Bump composer version from 2.5.2 to 2.8.11 (#7966)Gravatar Alexis Degrugillier
Version 2.5.2 was released Feb 4th, 2023. Version 2.8.11 was released Aug 21st, 2025.
2025-09-15SimplePie merge upstream (#7967)Gravatar Alexandre Alapetite
* https://github.com/simplepie/simplepie/pull/936 (Normalize encoding uppercase)
2025-09-14Recovery: skip broken entries during CLI export/import (#7949)Gravatar Alexandre Alapetite
* Recovery: skip broken entries during CLI export/import fix https://github.com/FreshRSS/FreshRSS/discussions/7927 ``` 25605/25605 (48 broken) ``` Help with *database malformed* or other corruption. * Compatibility multiple databases
2025-09-14Add nykula to CREDITS.md (#7964)Gravatar Denys Nykula
Follow-up to FreshRSS#7961. Co-authored-by: Alexis Degrugillier <aledeg@users.noreply.github.com>
2025-09-14Minor explicit namespace fix for PHPUnit (#7960)Gravatar Alexandre Alapetite
* Minor explicit namespace fix for PHPUnit * final
2025-09-14i18n: add missing string in `pl` (#7963)Gravatar Inverle
It was supposed to be done in https://github.com/FreshRSS/FreshRSS/pull/7712#discussion_r2179851787, but that PR hasn't been yet finished for some time now.
2025-09-14Translate to Ukrainian (#7961)Gravatar Denys Nykula
2025-09-13Decrease brightness of nav buttons (#7956)Gravatar Inverle
Before <img width="536" height="50" alt="image" src="https://github.com/user-attachments/assets/799fe85b-3141-4f02-b020-ab7b06439ddc" /> After <img width="510" height="46" alt="image" src="https://github.com/user-attachments/assets/780fa55e-e42b-4c4c-8ba9-32b877cf4ddd" />
2025-09-13Bump SimplePie to 1.9.0 (#7955)Gravatar Alexandre Alapetite
Main change is https://github.com/simplepie/simplepie/pull/937 (PHP 8.5: Conditionally call deprecated functions) P.S. a sync with SimplePie upstream was already done recently, hence the limited changes: * https://github.com/FreshRSS/FreshRSS/pull/7775
2025-09-13Fix JS error when navigating to last article with keyboard (#7957)Gravatar Inverle
This error would print in the console if navigating to last article with <kbd>J</kbd> or <kbd>K</kbd> key: <img width="836" height="173" alt="image" src="https://github.com/user-attachments/assets/0ae88d1c-26eb-4ebe-8d15-4bf03c24cef6" /> --- To reproduce the bug: <ol> <li>Select unread + read view, while having all articles marked as read</li> <li>Mark two as unread and go to unread only view</li> <li>Navigate with either <kbd>J</kbd> or <kbd>K</kbd> until you go past the last article or before first article</li> <li>See error in console and no navigation with <code>first_feed()</code> or <code>last_feed()</code></li> </ol> note: I'm not sure if the fix is what the expected behavior is supposed to be