Commit Graph

290 Commits

Author SHA1 Message Date
Alexandre Alapetite
a7361a3e7c Implement JSON string concatenation with & operator (#7414)
Inspired by [JSONata syntax](https://docs.jsonata.org/expressions).
fix https://github.com/FreshRSS/FreshRSS/issues/6565
2025-03-13 22:40:41 +01:00
Alexandre Alapetite
af1b4cfa5f Changelog + credits 2025-03-13 22:20:03 +01:00
Olicorne
31c797b3fc docs: add link to freshrss_python_api (#7401)
as suggested here: https://github.com/FreshRSS/FreshRSS/discussions/7395

Signed-off-by: thiswillbeyourgithub <26625900+thiswillbeyourgithub@users.noreply.github.com>
2025-03-04 23:50:48 +01:00
Elanna Grossman
60b5459cac Update Reader Link Documentation (#7362)
* docs(docs): update Reeder link to point to Reeder Classic

* docs(CREDITS): add name to credits
2025-02-24 12:35:00 +01:00
Alexandre Alapetite
df82c23943 Release 1.26.0 2025-02-23 16:15:36 +01:00
kleintux
f59cb6ed4f Replace opml generateing nline tool with working link (#7346)
* Update 04_Subscriptions.md

* Update 04_Subscriptions.md
2025-02-21 11:29:40 +01:00
Alexandre Alapetite
6c6695b835 Docker Compose remove deprecated version (#7309)
Minor doc
2025-02-19 11:26:07 +01:00
Alexandre Alapetite
bf7a8bbdc5 API documentation link to more tips (#7305)
https://github.com/jocmp/capyreader/discussions/533#discussioncomment-11341808
While waiting for https://github.com/FreshRSS/FreshRSS/issues/7304
We should then consolidate the API synchronisation recommendations in our documentation
2025-02-06 23:14:20 +01:00
Logan
7e90dfd048 Add documentation for adding Pocket ID as OIDC provider (#7291)
* Add documentation for OIDC login via Pocket IT

* Images for the Pocket ID OIDC docs

* Update 16_OpenID-Connect.md

* Recompress images (too big)

* Fix typo and reduce long lines

* Remove advise on changing username
Which only work to some extent with SQLite (breaking a few minor things such as WebSub, API) and not at all with other databases

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-02-02 21:42:36 +01:00
Alexandre Alapetite
bb7236e263 Better authorization label for OIDC (#7264)
* Better authorization label for OIDC
Reword description of HTTP login method to include OIDC
fix https://github.com/FreshRSS/FreshRSS/issues/7254#issuecomment-2615838151
And remove several duplicated i18n entries.
And add to documentation https://www.authelia.com/integration/openid-connect/freshrss/

* Update app/i18n/it/admin.php

Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com>

* Update app/i18n/nl/admin.php

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

---------

Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
2025-01-28 15:33:17 +01:00
Alexandre Alapetite
d6c2daee51 Add search operator intext: (#7228)
* Add search operator intext:
fix https://github.com/FreshRSS/FreshRSS/issues/6188
https://github.com/FreshRSS/FreshRSS/discussions/7220

* Add example to doc
2025-01-25 09:16:13 +01:00
Roan-V
700eef13ed Add instructions for serving FreshRSS on a subdomain with Caddy (#7197)
* Add instructions for serving FreshRSS on a subdomain with Caddy

* Fix failing test
2025-01-08 14:45:47 +01:00
Roan-V
fa701b39f3 Simplify the Caddy configuraton (#7194)
* Simplify Caddyfile configuraton

* Fix missing bracket :)

* Fix failing test
2025-01-08 08:40:50 +01:00
ShaddyDC
7d3490a079 doc(openid-connect): Add initial setup instructions (#7174)
* doc(openid-connect): Add initial setup instructions

See discussion for reference: https://github.com/FreshRSS/FreshRSS/discussions/5684#discussioncomment-11707635

* style(openid-connect): Change lists to dash style

* Minimize changes

* Typography

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-01-06 10:30:42 +01:00
aftix
84f75e487c doc(openid-connect): clarify that OIDC is only supported for the Apache web server (#7135)
* doc(openid-connect): clarify that OIDC is only supported for the Apache web server

Fixes: https://github.com/FreshRSS/FreshRSS/issues/7134

* Update docs/en/admins/16_OpenID-Connect.md

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-12-23 22:16:07 +01:00
davralin
5900f8e198 doc(docker-cron): duplicate documentation from README to the official docs (#7127) 2024-12-21 23:53:39 +01:00
Alexandre Alapetite
ab9a4e292c OPML export/import for cssFullContentConditions (#7082)
Follow-up of 33fd07f6f2, which should have been a PR.
2024-12-10 14:57:25 +01:00
maTh
ce11150bbd docs: headlines added (#7075)
* Update contributing.md

* Update 02_First_steps.md

* Update docs/en/contributing.md

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-12-08 16:21:42 +01:00
Alexandre Alapetite
3b15f8a5c9 Parentheses in quoted search (#7055)
* 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-05 16:19:57 +01:00
maTh
79651b942d improve api management (#7048)
* ... and sharing user queries by link (not all languages)

* Profile page: API mgm: better headline, better help text

* i18n

* i18n: " and sharing user queries"

* i18n: link to documentation + apps list

* Update app/i18n/it/conf.php

* Update app/i18n/it/conf.php

* Update app/i18n/it/conf.php

* Update app/i18n/it/conf.php

* Update app/i18n/it/conf.php

* Update app/i18n/it/conf.php

* Update app/i18n/it/conf.php

* Update app/i18n/it/admin.php

Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com>

* Update app/i18n/it/conf.php

* Update app/i18n/fr/admin.php

* i18n

* French doc cf. English

* Update app/i18n/it/conf.php

Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com>

* Update conf.php

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com>
2024-12-04 22:41:08 +01:00
Luc SANCHEZ
15745d42b7 Upgrade code to php 8.1 (#6748)
* 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-28 17:11:04 +01:00
Alexandre Alapetite
278181572e Add extension hook simplepie_after_init (#7007)
* 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-21 08:22:13 +01:00
Alexandre Alapetite
df763eb8b3 Add hook entries_favorite (#6880)
Called when entries are starred or unstarred
2024-10-14 09:35:41 +02:00
Alexandre Alapetite
ccb132523a New feed mode: HTML + XPath + JSON dot notation (JSON in HTML) (#6888)
* 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-13 15:28:45 +02:00
Alexandre Alapetite
91624037c7 Apache protect more non-public folders and files (#6881)
* Apache protect more non-public folders

* Also protect root

* Do the same for /p/

* Simplify Require all denied
In case of Apache 2.2, it will just make an error 500 instead of 403

* .htaccess.dist

* Simplify

* Better comment
2024-10-11 09:25:43 +02:00
maTh
292f34a5aa Added: Share via telegram app (#6838)
* add telegram as sharing service

* Update 08_sharing_services.md
2024-09-29 19:43:57 +02:00
Alexandre Alapetite
e5320759eb Minor doc requirements (#6795)
* Minor doc requirements

* Uniformisation
2024-09-11 17:15:27 +02:00
Alexandre Alapetite
af37d88d85 Improved doc search (#6785)
* Improved doc search

* <&">
2024-09-07 23:25:02 +02:00
Alexandre Alapetite
1a552bd60e Regex search (#6706)
* 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-06 09:35:58 +02:00
Alexandre Alapetite
a81656c3ed Upgrade to PHP 8.1 (#6711)
* 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-06 09:06:46 +02:00
Alexandre Alapetite
2cd9130726 PostgreSQL suggestion of index improvement (#6705)
https://www.postgresql.org/docs/current/sql-createstatistics.html
https://www.postgresql.org/docs/current/sql-analyze.html
Requires PostgreSQL 10+ (which is already EOL - shipped with Ubuntu 18.04, Debian 10 Buster -, so update doc at the same time even when not using it) https://www.postgresql.org/docs/release/10.0/
2024-09-06 08:50:31 +02:00
Alexandre Alapetite
8ca70040b9 OIDC changelog + minor whitespace
+fix minor whitespace from https://github.com/FreshRSS/FreshRSS/pull/6730
2024-08-26 09:49:11 +02:00
pando85
82593f5968 Fix OIDC session params definition (#6730)
* Fix OIDC session params definition

- standardize environment variable names
- group all in the same configuration file
- use mod_auth_openidc default values
- fix `OIDCSessionMaxDuration` because it was not set with the previous
  code
- add documentation

* Add double quoting to prevent globbing and word splitting

* Revert line deleted by mistake
2024-08-25 19:57:30 +02:00
Alexandre Alapetite
692e30465d Update about running tests (#6709) 2024-08-14 21:54:34 +02:00
Alexandre Alapetite
d56d791baf Update composer shfmt typos (#6614) 2024-07-08 12:00:58 +02:00
maTh
493d46759e fix broken sharing services (part 2): delete Blogotext (#6225) 2024-06-10 19:43:48 +02:00
Alexandre Alapetite
8fc8ac3aef Fix code for Czech language (#6514)
Use the correct ISO 639-1 code: `cs` and not `cz` (which is the country)
https://www.loc.gov/standards/iso639-2/php/langcodes_name.php?iso_639_1=cs
2024-06-05 21:39:55 +02:00
hkcomori
99b1d551e6 Add core extensions: UserCSS, UserJS (#6267)
* Copy CustomCSS and CustomJS

Original: FreshRSS/Extensions@9f21984

* Rename CustomCSS -> UserCSS

* Rename CustomJS -> UserJS

* Change metadata

The name is used for the directory where the configuration
is stored and should not contain spaces.
Since the name was changed, I reset the version number and
changed to semantic versioning.

* Change data directory

Changed the location of the configuration file to
the user data directory, because it is not `static`.
That way, the user's configurations are gathered
in the user directory, which makes it easier to backup them.

* Edit documentations

Remove procedures to install the extension
because it is no longer necessary.

* Fix wrong variables in the configuration page

Remove permission error indication because the storage location
is now in the user data directory managed by the application.

* Remove the `xExtension-` prefix for core extensions

* Set version to 1.0.0 for UserCSS, UserJS

* Refactoring

* Remove unused variables

* Remove version 0.0.1 in Changelog

Version 0.0.1 will not be merged, so only version 1.0.0 will remain.

* public getFileUrl

* Revert more protected

* Use entrypoint for extension user path instead of name

* Add space to extension name

* Add `#[\Override]`

* Add explains of User CSS and User JS to docs

* Remove README of User CSS and User JS

* Add migration code for extension user path

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-06-05 20:58:19 +02:00
Shane Redman
8e3bfa1a47 Docs: fix minor typo in 09_AccessControl.md (#6465) (#6466)
chose -> choose
2024-05-15 21:38:39 +02:00
Alexandre Alapetite
2ed91026fc Correct casing for GitHub (#6460) 2024-05-15 08:58:10 +02:00
maTh
cd66ca54ca Docs: hidden configs (#6402)
* Create 17_configs_not_ui.md

* reorganize admin overview page. Added the link to the new doc

* Update 17_configs_not_ui.md

* Update 17_configs_not_ui.md

* Update 17_configs_not_ui.md

* fix typo
2024-05-01 14:01:40 +02:00
Alexandre Alapetite
329fd4bcf6 CLI database backup and restore (#6387)
* CLI database backup and restore
Can also be used to migrate from one database to another (e.g. MySQL to PostgreSQL) or to ease upgrade to a major PostgreSQL version (e.g. 15 to 16).

* +x

* Fix some cases

* Update to docker-compose-v2

* More documentation
2024-04-30 08:31:13 +02:00
maTh
154a36700c Refactoring: Rename dotpath into dotnotation (#6369)
* KIND_JSON_DOTPATH -> KIND_JSON_DOTNOTATION

* TYPE_JSON_DOTPATH => TYPE_JSON_DOTNOTATION

* json_dotpath => json_dotnotation

* dotPathsForStandardJsonFeed => dotNotationForStandardJsonFeed

* TYPE_JSON_DOTNOTATION = 'JSON+DotPath' => 'JSON+DotNotation'

* documentation: OPML.md

* convertJsonToRss()

* $dotpaths => $dotnotations

* FreshRSS_Feed_Exception

* comment

* Compatibility TYPE_JSON_DOTPATH

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-04-25 08:28:42 +02:00
Frans de Jonge
e19b8a4e0a Add some error prevention to Debian/Ubuntu installation docs (#6290)
Reverts a minor part of <https://github.com/FreshRSS/FreshRSS/pull/2164>.
People who want to use the root can easily figure out how to do that themselves.

Fixes #4955.
2024-04-12 23:19:23 +02:00
Alexandre Alapetite
350edf398c PHP 8.3 #[\Override] (#6273)
* PHP 8.3 #[\Override]
https://php.watch/versions/8.3/override-attr

With PHPStan `checkMissingOverrideMethodAttribute` https://phpstan.org/config-reference#checkmissingoverridemethodattribute

And modified the call to phpstan-next on the model of https://github.com/FreshRSS/Extensions/pull/228 (more robust than the find method, which gave some strange errors)

* Update extension example accordingly
2024-04-10 15:33:43 +02:00
Soniya Prasad
9d48121e05 Update documentation for Caddy reverse proxy with subfolder (#6219)
* Create 06_Reverse_Proxy_Setup.md

Update documentation for Caddy reverse proxy with subfolder

* Create 06_Reverse_Proxy_Setup.md in docs/en/developers/03_Backend

* fixed markdown syntax

* markdown syntax fix

* Update docs/en/developers/03_Backend/06_Reverse_Proxy_Setup.md

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

* implemented suggested changes

* Add link and re-organise

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-03-30 19:35:00 +01:00
Alexis Degrugillier
7da0e70a72 Add a way to modify CSP rules within an extension (#6246)
This will allow to change CSP rules to authorize the use of external scripts.
We might need to add some safeguard since it will be virtually possible to
load any script even malicious one.
2024-03-30 18:09:44 +01:00
dependabot[bot]
836982538b Bump the development-dependencies group with 6 updates (#6173)
* Bump the development-dependencies group with 6 updates

Bumps the development-dependencies group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [eslint](https://github.com/eslint/eslint) | `8.56.0` | `8.57.0` |
| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `16.6.1` | `16.6.2` |
| [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli) | `0.38.0` | `0.39.0` |
| [sass](https://github.com/sass/dart-sass) | `1.69.7` | `1.71.1` |
| [stylelint](https://github.com/stylelint/stylelint) | `15.11.0` | `16.2.1` |
| [stylelint-config-recommended-scss](https://github.com/stylelint-scss/stylelint-config-recommended-scss) | `13.1.0` | `14.0.0` |


Updates `eslint` from 8.56.0 to 8.57.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.56.0...v8.57.0)

Updates `eslint-plugin-n` from 16.6.1 to 16.6.2
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.6.1...16.6.2)

Updates `markdownlint-cli` from 0.38.0 to 0.39.0
- [Release notes](https://github.com/igorshubovych/markdownlint-cli/releases)
- [Commits](https://github.com/igorshubovych/markdownlint-cli/compare/v0.38.0...v0.39.0)

Updates `sass` from 1.69.7 to 1.71.1
- [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.69.7...1.71.1)

Updates `stylelint` from 15.11.0 to 16.2.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.11.0...16.2.1)

Updates `stylelint-config-recommended-scss` from 13.1.0 to 14.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/v13.1.0...v14.0.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: eslint-plugin-n
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: markdownlint-cli
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: stylelint-config-recommended-scss
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix conflict

* Fix Markdown

---------

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>
2024-03-06 10:40:28 +01:00
Alexandre Alapetite
5aeab896e9 Fix OPML export regression and add token in RSS link (#6160)
* OPML regression due to *shared user queries* (the XPath attributes were not exported anymore) https://github.com/FreshRSS/FreshRSS/pull/6052
* Add master token to HTML Meta RSS link and OPML link https://github.com/FreshRSS/FreshRSS/discussions/6159#discussioncomment-8678399
2024-03-05 14:26:52 +01:00
maTh
da43fff437 docs: Update 02_Prerequisites.md (Apache + PHP version) (#6148)
* apache version + php version

* format
2024-03-03 22:34:28 +01:00