KleinMann
aadbdabd83
add rnkln to credits ( #7992 )
2025-09-22 19:26:47 +02:00
Alexandre Alapetite
92a73a2c4f
Minor forgotten str_starts_with ( #7991 )
...
A couple of places, which have been forgotten when we moved to using `str_starts_with()` instead of `strpos()`.
2025-09-21 19:06:06 +02:00
f0388f64ac
Update German ( #7833 )
...
* 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-21 13:45:12 +02:00
Alexandre Alapetite
bc3e4c8fa4
Add option for CSP frame-ancestors ( #7857 )
...
* 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-21 13:29:58 +02:00
Alexandre Alapetite
f1cf57b5b7
Changelog
2025-09-21 13:24:25 +02:00
Inverle
f2c6942a60
Move update one step before ( #7989 )
...
Closes https://github.com/FreshRSS/FreshRSS/issues/7897
2025-09-21 12:40:40 +02:00
Alexis Degrugillier
caecc5decf
fix linkding documentation link ( #7985 )
...
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-20 18:06:55 +02:00
Horváth Zsolt
16c5d84166
Add myself to credits ( #7987 )
...
https://github.com/FreshRSS/FreshRSS/pull/7986
2025-09-20 13:30:09 +02:00
Horváth Zsolt
508b1bb1ce
6846 i18n update hungarian language ( #7986 )
...
* Update hungarian translation
* Update hungarian translation status as well
2025-09-20 00:10:26 +02:00
KleinMann
d670bf1e72
Add entry_before_update and entry_before_add hooks ( #7977 )
...
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-18 23:44:17 +02:00
Inverle
055342118f
Restrict allowed curl parameters ( #7979 )
...
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-18 23:43:04 +02:00
Alexandre Alapetite
b5ee1d8936
Keep sort and order after marking as read ( #7974 )
...
fix https://github.com/FreshRSS/FreshRSS/issues/7867
2025-09-17 14:03:00 +02:00
Inverle
25250f46b4
Safer calling of install.php ( #7971 )
...
To prevent `install.php` from being accessed in unintended places
2025-09-16 00:53:15 +02:00
Alexandre Alapetite
f8310a587c
Clarify: Visibility hidden vs. archived ( #7970 )
...
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-15 23:43:46 +02:00
Alexandre Alapetite
ea366d597f
Minor RSS output whitespace reduction ( #7969 )
...
fix https://github.com/FreshRSS/FreshRSS/issues/7968
2025-09-15 22:26:45 +02:00
Inverle
ddb51c0e95
Fix another user self-delete regression ( #7877 )
...
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-15 22:17:14 +02:00
38b7daedf7
i18n zh-CN: Update conf.php ( #7944 )
...
* 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-15 22:12:25 +02:00
Alexandre Alapetite
778d0668e2
Changelog
2025-09-15 22:06:00 +02:00
Alexis Degrugillier
8619ae0779
Bump composer version from 2.5.2 to 2.8.11 ( #7966 )
...
Version 2.5.2 was released Feb 4th, 2023.
Version 2.8.11 was released Aug 21st, 2025.
2025-09-15 13:40:54 +02:00
Alexandre Alapetite
bb56f59fcf
SimplePie merge upstream ( #7967 )
...
* https://github.com/simplepie/simplepie/pull/936 (Normalize encoding uppercase)
2025-09-15 13:40:14 +02:00
Alexandre Alapetite
29446a29f5
Recovery: skip broken entries during CLI export/import ( #7949 )
...
* 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-14 22:36:01 +02:00
Denys Nykula and Alexis Degrugillier
b8af8382f0
Add nykula to CREDITS.md ( #7964 )
...
Follow-up to FreshRSS#7961.
Co-authored-by: Alexis Degrugillier <aledeg@users.noreply.github.com >
2025-09-14 15:36:57 -04:00
Alexandre Alapetite
a7e633bc58
Minor explicit namespace fix for PHPUnit ( #7960 )
...
* Minor explicit namespace fix for PHPUnit
* final
2025-09-14 21:27:55 +02:00
Inverle
697240813d
i18n: add missing string in pl ( #7963 )
...
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-14 21:25:21 +02:00
Denys Nykula
6d0bec14e5
Translate to Ukrainian ( #7961 )
2025-09-14 21:17:30 +02:00
Inverle
7d3102e909
Decrease brightness of nav buttons ( #7956 )
...
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-13 17:30:46 +02:00
Alexandre Alapetite
b04104fd95
Bump SimplePie to 1.9.0 ( #7955 )
...
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-13 00:19:31 +02:00
Inverle
0833591131
Fix JS error when navigating to last article with keyboard ( #7957 )
...
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
2025-09-13 00:15:03 +02:00
Inverle
8a0436ede2
Minor CSS underline fix in label management ( #7952 )
...
Before
<img width="255" height="159" alt="image" src="https://github.com/user-attachments/assets/9b80659c-c646-47de-8436-45aa38afd465 " />
After
<img width="238" height="161" alt="image" src="https://github.com/user-attachments/assets/27dcb572-5935-405b-9cfc-33eb95d78bf0 " />
(ignore CSS in branch name, it's just HTML changes - although this could've been solved with `display: inline-block` too)
2025-09-12 08:14:46 +02:00
Alexandre Alapetite
8bd9bd95d8
Minor update syntax echo ( #7941 )
...
* Minor update syntax echo
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/7939
* Fix layout
Whitespace optimisation needed to avoid style glitch
2025-09-11 21:19:31 +02:00
Alexandre Alapetite and Frans de Jonge
c8da217e87
Docker healthcheck ( #7945 )
...
* Docker healthcheck
fix https://github.com/FreshRSS/FreshRSS/issues/7377
* Use echo for non-CLI error
* curl_close is deprecated
* Connection: close
* Update cli/health.php
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com >
---------
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com >
2025-09-11 09:43:28 +02:00
Bastian Greshake Tzovaras
8e8ff4014d
add collection of scraping settings ( #7937 )
...
Closes #7894
Changes proposed in this pull request:
- adds the link to the collection of XPath scraping settings to the appropriate documentation page
2025-09-11 09:10:30 +02:00
scmaybee
e7c9c3d11e
i18n zh-CN: Update index.php ( #7943 )
...
Fixed a translation errors.
2025-09-11 00:56:25 +02:00
Alexis Degrugillier
c2009b5090
Rewrite PHP opening tags ( #7939 )
...
This allows to remove the use of `echo` and be consistent through out the file.
Some empty PHP tags where removed as well.
2025-09-10 21:53:08 +02:00
Frans de Jonge
c6c2e1bc55
Translate Dutch ( #7940 )
...
* Translate Dutch
* ignore
* update the SVG file
* without newline
2025-09-10 21:34:34 +02:00
a1411c7f2c
Translate the API information page ( #7922 )
...
Closes #6222
Translate the `api/index.php` page
* Update app/i18n/pl/api.php
Co-authored-by: Inverle <inverle@proton.me >
* Update app/i18n/de/api.php
Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com >
* i18n: fr
* <kbd>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr >
---------
Co-authored-by: Inverle <inverle@proton.me >
Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com >
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr >
2025-09-10 07:04:17 +02:00
Inverle
087df1e5d9
Use Minz_Translate::exists() for language check in createUser() ( #7934 )
...
(consistency)
Related / follow-up: #7878
2025-09-09 23:11:38 +02:00
Alexis Degrugillier
6ad625812a
Add a default language constant ( #7933 )
...
This replace the use of `en` through out the code.
2025-09-09 22:01:04 +02:00
Alexis Degrugillier
de624dc8ce
Add new file in i18n ( #7917 )
...
When manipulating I18N files, it is now possible to add a new file to all
languages. This action is available both in the manipulation script and
the makefile.
2025-09-05 22:57:34 +02:00
nhirokinet
2404a29ee5
Update Japanese translation for "Duration to keep logged in" ( #7918 )
...
If this corresponds to "Duration to keep logged in", then current Japanese text says different thing: "Time to store log (not login)".
There are multiple choices for translation of this one and I thought a bit which one is the best, and I'm not sure this is the best, but at least this explains "the time after user logged in until user is logged out", not "the time the log is stored".
2025-09-05 19:32:49 +02:00
Alexis Degrugillier
23ba48c71f
Change how files are included ( #7916 )
...
1. `include`, `include_once`, `require` and `require_once` are expressions not functions, parentheses are not necessary.
2. to move up the directory tree, it's better to use the `dirname` function instead of relying on `/..`.
2025-09-05 15:56:46 +02:00
Alexandre Alapetite
3d85eb1938
Changelog
2025-09-05 12:59:47 +02:00
Inverle
858616f075
Fixes for no-cache.txt ( #7907 )
...
* Closes and fixes error from #7885
* `no-cache.txt` is now respected in `f.php`, `ext.php` and `serve` action in `extensionController`
* And in all other places that weren't checking for `no-cache.txt` (some extensions maybe)
2025-09-05 08:16:52 +02:00
nhirokinet
6c9a9ee226
add nhirokinet to CREDITS.md ( #7908 )
...
With a contribution of https://github.com/FreshRSS/FreshRSS/pull/7900
2025-09-03 12:13:26 -04:00
dependabot[bot] and Alexandre Alapetite
32ec85c2d7
Bump the stylelint group with 2 updates ( #7898 )
...
Drop of back-compatibility with older browsers: use standard `overflow-wrap` instead of `word-wrap` .
We may re-introduce `word-wrap` (in addition of standard `overflow-wrap`) if a need is reported.
* Bump the stylelint group with 2 updates
Bumps the stylelint group with 2 updates: [stylelint](https://github.com/stylelint/stylelint ) and [stylelint-config-recommended-scss](https://github.com/stylelint-scss/stylelint-config-recommended-scss ).
Updates `stylelint` from 16.23.0 to 16.23.1
- [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.23.0...16.23.1 )
Updates `stylelint-config-recommended-scss` from 15.0.1 to 16.0.0
- [Release notes](https://github.com/stylelint-scss/stylelint-config-recommended-scss/releases )
- [Changelog](https://github.com/stylelint-scss/stylelint-config-recommended-scss/blob/master/CHANGELOG.md )
- [Commits](https://github.com/stylelint-scss/stylelint-config-recommended-scss/compare/v15.0.1...v16.0.0 )
---
updated-dependencies:
- dependency-name: stylelint
dependency-version: 16.23.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: stylelint
- dependency-name: stylelint-config-recommended-scss
dependency-version: 16.0.0
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: stylelint
...
Signed-off-by: dependabot[bot] <support@github.com >
* stylelint --fix
---------
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-09-03 11:52:22 +02:00
maTh
e8a5e4e50f
delete margin ( #7904 )
...
Ref: #4493
Before:
<img width="816" height="571" alt="grafik" src="https://github.com/user-attachments/assets/bfc6c933-5e4e-46e8-91d7-0e0e7b469671 " />
After:
<img width="795" height="523" alt="grafik" src="https://github.com/user-attachments/assets/5b5a668c-c3ca-46ef-be69-ad5b5b90a412 " />
2025-09-03 06:52:31 +02:00
Alexis Degrugillier
8a59dc3402
add target to generate the translation progress ( #7905 )
...
* add target to generate the translation progress
* replace short options by long options
This adds a little bit of explanation for someone looking at the code without knowing
how the underlying script is working.
* sort test targets
* sort i18n targets
2025-09-03 06:50:24 +02:00
Alexis Degrugillier
94c53ae1fb
refactor value setting for javascript variables ( #7906 )
...
When retrieving an unset shortcut value, the error is not silenced but
instead we use the null-coalesce operator to define a default value.
See #7290
2025-09-03 06:45:01 +02:00
Alexandre Alapetite and nhirokinet
14a5ffe6a7
Fix typo in Japanese translation ( #7903 )
...
I just found a typo in Japanese translation.
開業: opening business
改行: newline
Co-authored-by: nhirokinet <nhirokinet@nhiroki.net >
2025-09-02 21:52:52 +02:00
Alexis Degrugillier
28e0a548c8
Change make help output ( #7901 )
...
The new output allows to categorize the targets.
2025-09-02 21:30:11 +02:00