Commit Graph

5747 Commits

Author SHA1 Message Date
Alexandre Alapetite
2cb4f2e233 Fix dev container Apache logs (#5660)
Apache logs were not available from the dev container.
Quick fix while waiting for a better integrated solution (e.g. coming in output window) - contributions welcome.
2023-09-18 08:41:25 +02:00
Alexandre Alapetite
0beabc333f Sensitive base-url (#5657)
https://github.com/FreshRSS/FreshRSS/pull/5656#issuecomment-1719802075
Make read-only while waiting for a better approach (which can wait till release 1.23)
2023-09-15 08:20:38 +02:00
Alexandre Alapetite
db53d2655b Allow string in XPath tags (#5653)
fix https://github.com/FreshRSS/FreshRSS/issues/5651
2023-09-14 20:24:22 +02:00
Alexandre Alapetite
3617360883 Fix MariaDB size calculation (#5655)
MariaDB requires an `ANALYZE TABLE` to refresh the size information in the metadata.
At the same time, include `DATA_FREE` in the calculation.
https://mariadb.com/kb/en/information-schema-tables-table/
2023-09-14 20:23:56 +02:00
Alexandre Alapetite
bc5666cd27 Fix labels in anonymous mode (#5650)
* Fix labels in anonymous mode
fix https://github.com/FreshRSS/FreshRSS/issues/4305

* Show all tags

* Revert "Show all tags"

This reverts commit 24dfba5017.

* Add message when no labels

* fixed no label style

* i18n de translation

* Fix in non-anomymous mode

* No class in anonymous mode

---------

Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com>
Co-authored-by: math-gh <>
2023-09-14 20:23:33 +02:00
Sam Cohen
52d87c3eaa Allow configuration of Base URL via website (#5656)
* Allow configuration of Base URL via website

* Fix alphabetization of CREDITS

* Apply suggestions from code review

* Add Automatic recommendation

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-09-13 22:58:10 +02:00
Alexandre Alapetite
0bf33abac8 SQL: Same updateCacheUnreads for all DBs (#5648)
* SQL: Same updateCacheUnreads for all DBs
Use same SQL update request for MySQL / MariaDB than the one we already used for PostgreSQL / SQLite (i.e. using a sub-query).

Testing on a DB of 688MB with 270k entries, 199 feeds, 19 categories, using MySQL 8.1.0.

The new SQL update using a sub-query took in average 0.02s, while the old SQL update using a join took in average 0.05s. SQL cache was properly invalidated between each run. The new SQL request is thus about twice faster.

Another advantage of the SQL update using a sub-query is that it works identically in PostgreSQL, SQLite, MariaDB, MySQL, so we do need different versions anymore.

Contributes to https://github.com/FreshRSS/FreshRSS/issues/5008#issuecomment-1709755370

* Force USE INDEX

* Use same SQL methods also for markReadEntries, markReadCat
2023-09-12 13:44:17 +02:00
Alexandre Alapetite
f050a94b48 SQL: clean old auto-updates (#5649)
Should help with some DB lock issues.

Complete https://github.com/FreshRSS/FreshRSS/pull/3558 after https://github.com/FreshRSS/FreshRSS/pull/5625 already cherry-picked from it.

* Removed auto-update of MySQL GUID case sensitivity
https://github.com/FreshRSS/FreshRSS/pull/2078
  * Contributed to a DB lock in https://github.com/FreshRSS/FreshRSS/issues/5008

Also removed the following non-problematic auto-updates, simply because they were older than the above ones
* Auto-create custom labels (1.12.0) https://github.com/FreshRSS/FreshRSS/pull/2027
* Auto-add JSON column for feeds (1.11.0) https://github.com/FreshRSS/FreshRSS/pull/1838
* Auto-create temporary tables (1.7.0) https://github.com/FreshRSS/FreshRSS/pull/1470
2023-09-12 10:43:14 +02:00
maTh
f5aba79d14 Update page css class changed (#5647)
Co-authored-by: math-gh <>
2023-09-10 16:07:14 +02:00
Balazs Keresztury
f470724c6e add oidc callback URL and hints for Authelia to docs (#5646) 2023-09-10 15:36:14 +02:00
maTh
61a2828820 i18n: shortened text strings (#5636)
* i18n

* fix

---------

Co-authored-by: math-gh <>
2023-09-10 15:27:13 +02:00
Alexandre Alapetite
24be95756f Docker MySQL update doc (#5639)
Remove obsolete parameter not needed anymore now that all our images are using PHP 8+
2023-09-09 11:15:09 +02:00
maTh
9beba6337e i18n: German translation of admin.php (new update page) (#5640)
Co-authored-by: math-gh <>
2023-09-06 23:12:20 +02:00
Alexandre Alapetite
98559cebc3 Remove obsolete TTL migration code (#5625)
Remove `updateTTL` function used to help migration to 5+ year-old FreshRSS 1.10 and FreshRSS 0.7.3 https://github.com/FreshRSS/FreshRSS/pull/1750
This function contributed to locking the database https://github.com/FreshRSS/FreshRSS/pull/5574
Subset of https://github.com/FreshRSS/FreshRSS/pull/3558
2023-09-06 21:41:17 +02:00
Alexandre Alapetite
2e1d45a88d Fix parenthesis escaping bug (#5633)
fix https://github.com/FreshRSS/FreshRSS/issues/5632
In the SQL search, parentheses should not be escaped. Escaped parenthesis in the SQL search were tolerated by PostgreSQL but not by SQLite.
2023-09-05 17:33:38 +02:00
Alexandre Alapetite
1c7c1016f4 Fix JSON export/import (#5626)
* Fix import with empty content
fix https://github.com/FreshRSS/FreshRSS/issues/5622
Cherry picks on https://github.com/FreshRSS/FreshRSS/pull/5584

* Fix export of tags / labels
Article-defined tags were wrongly exported as user-defined labels.

* Fix export of tags / labels
Article-defined tags were wrongly exported as user-defined labels.

* Fix bug with many labels

* Better typing

* Comments
2023-09-04 10:09:37 +02:00
maTh
da405ceee6 Fix: sharing via clipboard for no https/localhost environments (#5606)
* Update main.js

* Update p/scripts/main.js

Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>

* improved with negative feedback

* Update p/scripts/main.js

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>

---------

Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-08-29 23:15:19 +02:00
Miguel Sánchez
dd91fe164d Add myself to credits (#5610) 2023-08-25 13:49:13 +02:00
Miguel Sánchez
06b613a50d Fixed Spanish translation typo (#5609) 2023-08-24 19:54:28 +02:00
András Marczinkó
92e56ddc27 Added myself to the credits (#5605) 2023-08-22 21:14:29 +02:00
András Marczinkó
93fb55c9f8 Fixed some typos in the Hungarian translation (#5593)
* Fixed some typos in the Hungarian translation

* Fixed a misspelled word in the Hungarian translation

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-08-22 00:40:45 +02:00
maTh
3b4a865ce6 Fix background color of <pre> in Dark mode (#5603) 2023-08-22 00:37:42 +02:00
FromTheMoon
6749adc050 Add Hungarian language (#5589)
* Add Hungarian language

* Fixed missing lines in Hungarian translation
2023-08-15 11:18:47 +02:00
Alexandre Alapetite
d165ed1fb6 Fix hash of articles with loadCompleteContent (#5576)
* Fix hash of articles with loadCompleteContent
The detection of modified articles was wrong for feeds using loadCompleteContent. Indeed, the hash is supposed to computed on the content provided by the server of the RSS feed, excluding further modifications.
Furthermore, read hash from database instead of recomputing it all the time.
Slightly related to https://github.com/FreshRSS/FreshRSS/pull/5574

* Explicit SQL alias

* PHPDocs
2023-08-13 15:11:22 +02:00
berumuron
54592fa1fd fix: Fix the "Show all articles" option (#5580) 2023-08-10 17:02:47 +02:00
berumuron
1e0e4f54a5 fix: Allow to access logs when update is disabled (#5577) 2023-08-10 16:43:15 +02:00
berumuron
eb57f490db tec: Make FreshRSS_Share::register public (#5578)
I don't know why the visibility of this method has changed, but it's
essential to register custom shares as extensions.

Reference: a13a20de20
2023-08-10 16:41:16 +02:00
AmirHossein
6d8a5429cb Add Persian/فارسی Language (#5571)
* Add Persian/فارسی  Language

* Fix i18n

* make fix-all
And several manual fixes

* Exclude Persian from English typo check

* Update CREDITS.md

I added myself to the list

* Credits alphabetic order

---------

Co-authored-by: AmirHossein <marjani@outlook.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-08-07 10:09:31 +02:00
Steve Jones
8f188b57ee [docs] Fix typos on the word 'scrape' and its variations (#5567)
* Fix typos on the word 'scrape' and its variations

* Fix spelling of 'Tipps'
2023-08-05 13:54:09 +02:00
Alexandre Alapetite
6ee73b5fca Revert auto mark as read same titles for existing articles (#5561)
Partial revert of https://github.com/FreshRSS/FreshRSS/pull/5505
We should not apply the auto mark as read rule based on existing titles for updated articles, because the match would most of the time be on that same article's title.
2023-08-03 21:57:25 +02:00
Alexandre Alapetite
c49c29a561 OPML export fix empty attributes (#5559)
Fix:
> Deprecated:  DOMElement::setAttributeNS(): Passing null to parameter #3 ($value) of type string is deprecated in /var/www/FreshRSS/lib/marienfressinaud/lib_opml/src/LibOpml/LibOpml.php on line 680
2023-08-03 21:57:00 +02:00
Alexandre Alapetite
4039f6c9a4 Fix cache refresh (#5562)
Improvement of https://github.com/FreshRSS/FreshRSS/pull/4422

The main problem was due to `touch()` not automatically clearing the file status cache, and requiring a call to `clearstatcache()`. Example:

```
php > touch('/tmp/touch.txt');
php > echo date('c', filemtime('/tmp/touch.txt'));
2023-08-03T17:27:43+02:00
php > touch('/tmp/touch.txt');
php > echo date('c', filemtime('/tmp/touch.txt'));
2023-08-03T17:27:43+02:00
php > clearstatcache(true, '/tmp/touch.txt');
php > echo date('c', filemtime('/tmp/touch.txt'));
2023-08-03T17:28:21+02:00
```
2023-08-03 21:56:35 +02:00
Alexandre Alapetite
e7689459f2 Rework trusted proxies (#5549)
* Rework trusted proxies
Fix https://github.com/FreshRSS/FreshRSS/issues/5502
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/3226

New environment variable `TRUSTED_PROXY`: set to 0 to disable, or to a list of trusted IP ranges compatible with https://httpd.apache.org/docs/current/mod/mod_remoteip.html#remoteiptrustedproxy

New internal environment variable `CONN_REMOTE_ADDR` to remember the true IP address of the connection (e.g. last proxy), even when using mod_remoteip.

Current working setups should not observe any significant change.

* Minor whitespace

* Safer trusted sources during install
Rework of https://github.com/FreshRSS/FreshRSS/pull/5358
https://github.com/FreshRSS/FreshRSS/issues/5357

* Minor readme
2023-07-30 12:59:18 +02:00
Alexandre Alapetite
0182d84142 Minor update dev dependencies (#5541)
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/5538
2023-07-23 14:31:55 +02:00
Alexandre Alapetite
1f05c92376 Fix enclosures in RSS output (#5540)
* Fix enclosures in RSS output
fix https://github.com/FreshRSS/FreshRSS/issues/5539

* another iterable

* Forgotten iterable
2023-07-19 23:40:28 +02:00
Zhaofeng Li
c35a9ee061 Docker: Add DATA_PATH to cron env (#5531) 2023-07-19 23:36:13 +02:00
dependabot[bot]
d12bcefb5a Bump word-wrap from 1.2.3 to 1.2.4 (#5538)
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-19 22:45:57 +02:00
otaconix
a066be93b0 Add OIDC_X_FORWARDED_HEADERS environment variable (fixes #5516) (#5523)
* Add OIDC_X_FORWARDED_HEADERS environment variable (fixes #5516)

The mod_auth_oidc needs an additional directive (`OIDCXForwardedHeaders`)
in case FreshRSS is running behind a reverse proxy, so it knows what host,
protocol and port were used to access it. This information is then used
in the `redirect_uri` when directing the user agent (browser) to the identity
provider for authentication.

Please note that, if you are running FreshRSS behind a reverse proxy that
handles TLS, you may need to update your identity provider's configuration so
it accepts `https://...` as a `redirect_uri`.

* Add link to mod_auth_openidc's documentation for the OIDCXForwardedHeaders Apache configuration directive

* Minor spelling

---------

Co-authored-by: Stefan Zwanenburg <stefan@zwanenburg.info>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-07-16 14:50:42 +02:00
Alexandre Alapetite
db5d458cb2 Fix get and order when saving user query (#5515)
fix https://github.com/FreshRSS/FreshRSS/issues/5514
2023-07-10 08:04:26 +02:00
dependabot[bot]
6f4c6f8993 Bump stylelint from 15.8.0 to 15.10.1 (#5513)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.8.0 to 15.10.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/15.8.0...15.10.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-08 10:02:21 +02:00
Luc SANCHEZ
f8f163d054 Chore/processing of depreciations and updating code to php72 minimum (#5504)
* processing of depreciations and updating of code to php7.2 minimum

* Autoformat many strange array indenting
And revert a few unwanted changes

---------

Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-07-07 22:36:27 +02:00
Luc SANCHEZ
7f9594b8c7 fix many "Only booleans are allowed in an if condition" (#5501)
* fix many "Only booleans are allowed in an if condition"

* Update cli/create-user.php

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>

* Update cli/i18n/I18nUsageValidator.php

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>

* Fix several regressions and other minor things

* Fix another regression

* Update lib/http-conditional.php

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>

---------

Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-07-07 21:53:17 +02:00
Alexandre Alapetite
1db606bc1b New extension hook entry_auto_read (#5505)
* New extension hook entry_auto_read
For extensions to be notified of articles being automatically marked as read for various reasons

* Documentation + entry_auto_unread
2023-07-05 11:00:26 +02:00
maTh
ebf62a4296 Delete deprecated themes: BlueLagoon & Screwdriver (#5374)
* delete theme BlueLagoon
* delete theme Screwdriver

Follow-up of #4807
Ref. #4295
2023-07-05 01:30:55 +02:00
otaconix
fc579bd2bc Allow choosing the OIDC remote user claim and scopes to request from the identity provider (#5481)
* Allow choosing the OIDC remote user claim and scopes to request from the identity provider

* Added comment to explain how checking whether an environment variable is set is done

* Use apostrophe's instead of single quotes for verb contractions in docs

* Move variables used for checking presence of environment variables inside IfDefine block
2023-06-30 12:58:20 +02:00
maTh
ee195354d9 Global view: reduce overhead (#5496) 2023-06-27 11:06:39 +02:00
maTh
2f48509678 docs: web scrapping with XPath (#5494)
* added docs

* add correct link

* typo

* A bit of typography

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-06-26 23:28:24 +02:00
maTh
666e951fa3 docs: add deep links (#5493)
* add deep links

* Update docs/en/index.md

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-06-25 00:17:02 +02:00
David Lynch
69994078d7 Fix macOS feed title meta-click behavior (#5492)
* Fix command-click on feed titles in macOS browsers

In macOS command-click is used for open-in-new-tab, not ctrl-click.

* Update CREDITS.md
2023-06-24 20:25:55 +02:00
maTh
fca8ae4207 added: new sharing service: Omnivore (#5477)
* add Omnivore

* fix i18n

* Update app/i18n/en/gen.php

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-06-20 09:06:23 +02:00