Commit Graph

5936 Commits

Author SHA1 Message Date
dependabot[bot]
c05ca141b2 Bump squizlabs/php_codesniffer from 3.8.1 to 3.9.0 (#6172)
Bumps [squizlabs/php_codesniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer) from 3.8.1 to 3.9.0.
- [Release notes](https://github.com/PHPCSStandards/PHP_CodeSniffer/releases)
- [Changelog](https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PHPCSStandards/PHP_CodeSniffer/compare/3.8.1...3.9.0)

---
updated-dependencies:
- dependency-name: squizlabs/php_codesniffer
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-06 10:07:58 +01:00
Alexandre Alapetite
3a4fd0d506 GitHub Actions and Dependabot (#6164)
* GitHub Actions and Dependabot
fix https://github.com/FreshRSS/FreshRSS/issues/6163

* Also for npm
2024-03-06 10:01:09 +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
Clemens Neubauer
9711f1477d version_compare raise exception if param is not a string (#6155)
* in file "metadata.json" it's possible that the data of version is not a string. in this case the check of the version raise an exception.

* Apply suggestions from code review

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-03-05 10:30:40 +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
Alexandre Alapetite
5e54d5bc58 Reduce API memory consumption (#6137)
`echo json_encode(...)` is very memory demanding for large responses, so optimised.
Contributes to https://github.com/FreshRSS/FreshRSS/issues/6136
https://github.com/FreshRSS/FreshRSS/pull/6013#discussion_r1506779881
2024-03-01 10:08:25 +01:00
Alexandre Alapetite
96484d22a1 Minz remove use of deprecated variable (#6132)
and related improvements to clarify inheritance
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/6130
2024-03-01 10:08:05 +01:00
Kasimir Cash
4b29e666b0 Command Line Parser Concept (#6099)
* Adds logic for validation

* Adds validation to do-install

* Adds help to do-install

* Adds validation & help to reconfigure

* Adds validation to check.translation

* Adds validation to manipulate.translation

* Small fixes to help texts

* Refactors language option validation

* Adds default options to validation

* Fixes validation with regex

* Refactors readAs functions

* Updates to new regex validation format

* Fixes typing around default values

* Adds file extension validation

* Restandardises validation & parsing typing around array of strings

* Adds NotOneOf validation

* Adds ArrayOfString read as

* Refactors existing validation

* Adds validation throughout cli

* Removes unused file

* Adds new CL parser with goal of wrapping CLI behaviour

* Hides parsing and validation

* Rewites CL parser to make better use of classes

* Rolls out new parser across CL

* Fixes error during unknown option check

* Fixes misnamed property calls

* Seperates validations into more appropriate locations

* Adds common boolean forms to validation

* Moves CommandLineParser and Option classes into their own files

* Fixes error when validating Int type

* Rewrites appendTypedValues -> appendTypedValidValues now filters invalid values from output

* Renames  ->  for clarity

* Adds some docs clarifying option defaults and value taking behaviour

* Refactors getUsageMessage for readability

* Minor formatting changes

* Adds tests for CommandLineParser

* Adds more tests

* Adds minor fixs

* Reconfigure now correctly updates config

* More fixes to reconfigure

* Fixes required files for CommandLineParserTest

* Use .php extension for PHP file

* PHPStan ignore instead of wrong typing

* Refactors to support php 7.4

* Moves away from dynamic properties by adding 'Definintions' to all commands

* Renames target to definition for clarity

* Stops null from being returned as a valid value in a certain edge case

* Adds PHPStan ignore instead of incorrect typing

* Refactors tests to take account of new typing solution

* Marks file as executable

* Draft CLI rework

* Finish rewrite as object-oriented

* Fix PHPStan ignore and make more strongly typed

* Rename class Option to CliOption

* Light renaming + anonymous classes

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-02-28 13:23:28 +01:00
maTh
5de794ee0f delete rss view shortcut (#6131) 2024-02-27 23:57:23 +01:00
Alexandre Alapetite
358e6e05ca Fix type in FreshRSS_User_Mailer (#6130)
fix https://github.com/FreshRSS/FreshRSS/issues/6129
2024-02-27 17:54:35 +01:00
Alexandre Alapetite
bdf899164b System option for number of feeds to refresh in parallel (#6124)
* System option for number of feeds to refresh in parallel
fix https://github.com/FreshRSS/FreshRSS/issues/6123

* Forgot refreshDynamicOpml
2024-02-26 09:01:49 +01:00
Alexandre Alapetite
bfd277065c Improve feed refresh (#6117)
* Improve feed refresh
Better account for some edge cases for cron and automatic labels
fix https://github.com/FreshRSS/FreshRSS/issues/6089
fix https://github.com/FreshRSS/FreshRSS/issues/6109

* Apply labels also to new entries already marked as read

* Add case most relevant for cron
2024-02-26 09:01:25 +01:00
Alexandre Alapetite
39cc1c11ec New feature: shareable user query (#6052)
* New feature: shareable user query
Share the output of a user query by RSS / HTML / OPML with other people through unique URLs.
Replaces the global admin token, which was the only option (but unsafe) to share RSS outputs with other people.
Also add a new HTML output for people without an RSS reader.

fix https://github.com/FreshRSS/FreshRSS/issues/3066#issuecomment-648977890
fix https://github.com/FreshRSS/FreshRSS/issues/3178#issuecomment-769435504

* Remove unused method

* Fix token saving

* Implement HTML view

* Update i18n for master token

* Revert i18n get_favorite

* Fix missing i18n for user queries from before this PR

* Remove irrelevant tests

* Add link to RSS version

* Fix getGet

* Fix getState

* Fix getSearch

* Alternative getSearch

* Default getOrder

* Explicit default state

* Fix test

* Add OPML sharing

* Remove many redundant SQL queries from original implementation of user queries

* Fix article tags

* Use default user settings

* Prepare public search

* Fixes

* Allow user search on article tags

* Implement user search

* Revert filter bug

* Revert wrong SQL left outer join change

* Implement checkboxes

* Safe check of OPML

* Fix label

* Remove RSS button to favour new sharing method
That sharing button was using a global admin token

* First version of HTTP 304

* Disallow some recusrivity
fix https://github.com/FreshRSS/FreshRSS/issues/6086

* Draft of nav

* Minor httpConditional

* Add support for offset for pagination

* Fix offset pagination

* Fix explicit order ASC

* Add documentation

* Help links i18n

* Note about deprecated master token

* Typo

* Doc about format
2024-02-26 09:01:03 +01:00
Alexandre Alapetite
25166c218b RSS thumbnails (#5972)
* Added addtional media:content for thumbnails

* Fix whitespace

* More attributes for enclosures

* Fix variable

* Fix variable

* No duplicates

---------

Co-authored-by: root <root@ha-server.lan>
2024-02-26 09:00:35 +01:00
Alexandre Alapetite
84d88d4b5d Improve TTL+muted logic (#6115)
Fix https://github.com/FreshRSS/FreshRSS/issues/6111
2024-02-21 09:47:05 +01:00
Alexandre Alapetite
3eb3574b13 No warning for muted feeds (#6114)
* No warning for muted feeds
fix https://github.com/FreshRSS/FreshRSS/issues/6113

* Revert subscription
2024-02-21 09:46:47 +01:00
Alexandre Alapetite
7d6a64a522 Web scraping support encodings such as EUC-JP (#6112)
* Web scraping support encodings such as EUC-JP
fix https://github.com/FreshRSS/FreshRSS/issues/6106

* Typo
2024-02-18 10:53:44 +01:00
Alexandre Alapetite
53d40ea3bb Traefik 2.11 in docker-compose example (#6098)
https://github.com/traefik/traefik/releases/tag/v2.11.0
2024-02-17 14:44:57 +01:00
hkcomori
f992a7007e Fix Japanese translation (#6108) 2024-02-17 14:44:39 +01:00
Alexandre Alapetite
2989470e88 applyFilterActions after extensions (#6091)
fix https://github.com/FreshRSS/FreshRSS/issues/6090
2024-02-15 10:31:02 +01:00
Alexandre Alapetite
06570b30f0 composer update (#6075)
Update PHPStan, fixing some bugs needed for https://github.com/FreshRSS/FreshRSS/pull/6052
(One syntax fix caught by new version)
Update also PHPUnit
2024-01-30 12:57:14 +01:00
maTh
4d95ef7164 Improve the padding of the notification banner (#6074) 2024-01-29 12:37:02 +01:00
Alexandre Alapetite
6228f959f7 Fix default category name (#6073)
fix https://github.com/FreshRSS/FreshRSS/issues/6071
2024-01-28 22:16:24 +01:00
Guilherme Gall
d36e11085d Update CREDITS.md (#6069) 2024-01-26 12:25:33 +01:00
Thomas Renes
0c023a7b5c Fix: Favicon with protocol-relative URLs have duplicate slashes. (#6068)
The URL of favicons with protocol-relative URL's already start with "//" so by adding it again it will result in "http:////url" and the icon will never be retrieved.
2024-01-26 11:08:10 +01:00
Guilherme Gall
d61734a5e0 Fix typos in pt-br translation (#6067) 2024-01-26 09:45:17 +01:00
FabioL
86631d24b9 Added credits for translations (#6064)
* Updated italian translations

* Minor fixes

* Workaround bug with `array (`

* Added credits for translations

* Alphabetic order

* Revert lost line

---------

Co-authored-by: loviuz <loviuz@mailbox.org>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-01-25 00:23:36 +01:00
Alexandre Alapetite
c0812032dd SimplePie log HTTP status of requests (#6061)
To make debugging of e.g. https://github.com/FreshRSS/FreshRSS/issues/6056 easier
2024-01-24 11:50:18 +01:00
FabioL
c66382cc91 Updated italian translations (#6060)
* Updated italian translations

* Minor fixes

* Workaround bug with `array (`

---------

Co-authored-by: loviuz <loviuz@mailbox.org>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-01-24 00:54:26 +01:00
maTh
415490dd7c Fix: left hand side navigation of TOS item when selected (#6055) 2024-01-22 12:23:23 +01:00
Alexandre Alapetite
9672905711 Read You not offline (#6050)
Fix https://github.com/FreshRSS/FreshRSS/pull/4633
2024-01-21 14:03:45 +01:00
th0mcat
79bf7d4967 Add Read You (#4633)
* Add Read You

* Update README.fr.md

* Add Read You

* Add Read You

* Add Read You

* Add Read You

* Beta version ready
https://github.com/Ashinch/ReadYou/pull/536
https://github.com/Ashinch/ReadYou/discussions/478
https://github.com/Ashinch/ReadYou/discussions/542

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-01-21 13:56:08 +01:00
Alexandre Alapetite
4a0e8a7058 Native array return type forgotten (#6046)
Native type forgotten from
https://github.com/FreshRSS/FreshRSS/pull/5269
https://github.com/FreshRSS/FreshRSS/pull/5213
2024-01-18 10:12:53 +01:00
Kasimir Cash
9b1f971333 Fixes reversed behaviour by ignore (#6041) 2024-01-17 08:45:11 +01:00
Kasimir Cash
6d14813840 Standardise command line option parsing (#6036)
* Separates long & short options for parsing

* Adds parsing for short options + doc rewrites

* Fixes undefined constant in check.translation

* Standardises CL option parsing

* Refactors option parsing

* Renames getLongOptions -> getOptions

* Removes unused code

* Converges on string typing for options

* Updates docs & help files

* Updates array syntax array( ) -> [ ]
2024-01-17 08:42:43 +01:00
Alexandre Alapetite
314077a457 PHPStan prepare exceptions (#6037)
Take advantage of
https://phpstan.org/blog/bring-your-exceptions-under-control

Minimum changes to pass `tooWideThrowType` and `implicitThrows`.

Revert some mistakes from:
https://github.com/FreshRSS/FreshRSS/pull/5504
Preparation needed before new PRs of the same type:
https://github.com/FreshRSS/FreshRSS/pull/5962

Fix several wrong PHPDocs and catches:

> Method ... has ...Exception in PHPDoc @throws tag but it's not thrown.

> Dead catch - ...Exception is never thrown in the try block.
2024-01-15 10:36:30 +01:00
Alexandre Alapetite
52f6c8399b Explicit PHP version for Composer (#6039)
* Explicit PHP version for Composer
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/6038
Ensure that we do not depend on incompatible libraries like in
https://github.com/FreshRSS/FreshRSS/pull/6030

* Explicit version for PHPStan
Due to changes in types, we only support PHPStan in PHP 8 mode
2024-01-15 10:32:30 +01:00
Alexandre Alapetite
74ed1e6c57 Fix PHP 7.4 compatibility (#6038)
Some recent PRs have broken PHP 7.4 compatibility due to `mixed` typing.
2024-01-13 17:02:39 +01:00
eta-orionis
9c97d8ca72 JSONFeeds, JSON scraping, and POST requests for feeds (#5662)
* allow POST requests for feeds

* added json dotpath and jsonfeed subscriptions. No translation strings yet

* debug and fix jsonfeed parser

* bugfix params saved when editing feed

* added translations for JSON features

* Update docs for web scraping

* make fix-all
and revert unrelated changes, plus a few manual fixes, but there are still several type errors

* Fix some i18n

* refactor json parsing for both feed types

* cleanup unnecessary comment

* refactored generation of SimplePie for XPath and JSON feeds

* Fix merge error

* Update to newer FreshRSS code

* A bit of refactoring

* doc, whitespace

* JSON Feed is in two words

* Add support for array syntax

* Whitespace

* Add OPML export/import

* Work on i18n

* Accept application/feed+json

* Rework POST

* Fix update

* OPML for cURL options

* Fix types

* Fix Typos

---------

Co-authored-by: Erion Elmasllari <elmasllari@factorsixty.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-01-10 08:23:45 +01:00
Kasimir Cash
9a80dde238 2297 cli parameters consistency (#6028)
* Updates do-install params

* Adds parseCliParams to _cli.php

* Updates do-install to use parseCliParams

* Updates reconfigure to use parseCliParams

* Fixes bug mail_login => email

* Update create-user to use parseCliParams

* Minor refactor

* Updates update-user to use parseCliParams

* Fix no_default_feeds => no-default-feeds

* Refactors arrays

* Updates CLI Readme

* Adds docblocks to _cli functions

* Sets vars in _cli functions

* Fixes indentation

* Meeting coding standards around colons

* Meeting PHPStan standards

* Removes stray whitespace

* Meeting PHPStan Next Level standards

* More specific typing

* Maintaining types

* Typing around getopt()

* Fixes typo

* Fixes typo perameters -> parameters

* Removes unused variable

* Rewrites deprecation warning message
2024-01-09 23:01:17 +01:00
Alexandre Alapetite
c89073d60e Update dev dependencies (#6023) 2024-01-05 08:45:21 +01:00
Alexandre Alapetite
4704c11d17 Update to PHPMailer 6.9.1 (#6022) 2024-01-05 08:45:07 +01:00
Simone
889746cb10 Update CREDITS.md (#6019) 2024-01-03 16:40:20 +01:00
Simone
6075ee8158 i18n: Italian: fixed-typo (#6018)
Non sure if there are other occurrences.
2024-01-03 16:21:36 +01:00
Alexandre Alapetite
70e71b8364 Auto-label (#5954)
Add labels automatically to incoming articles
fix https://github.com/FreshRSS/FreshRSS/issues/2380
fix https://github.com/FreshRSS/FreshRSS/issues/2420
fix https://github.com/FreshRSS/FreshRSS/issues/3279
fix https://github.com/FreshRSS/FreshRSS/discussions/4947
fix https://github.com/FreshRSS/FreshRSS/issues/5728
fix https://github.com/FreshRSS/FreshRSS/issues/5599
2024-01-03 11:23:06 +01:00
Alexandre Alapetite
1e5f5078ed Sanitize parsing list of extensions (#6016)
fix https://github.com/FreshRSS/FreshRSS/issues/6015
2024-01-03 10:26:09 +01:00
Alexandre Alapetite
e240ee1caf API allow negative feed IDs (#6010)
For future features (e.g. save articles by URL, save a manual note, ...), it would be good to allow special feeds, and to use negative integers for that. The rest of FreshRSS seems to be already ready, and there was only the Google Reader API, which required positive integers for feed IDs.
I quickly tested apps such as News+, EasyRSS, Rreadrops, which seem fine with that, but help welcome to test compatibility more thoroughly.
2024-01-02 19:23:09 +01:00
laxmanpradhan
77108ea19e Authentik oAuth setup documentation updates (#5969)
* Update 16_OpenID-Connect-Authentik.md

updated docs

* Add files via upload

* Update 16_OpenID-Connect-Authentik.md

Updated documentation with many clarifications. The most important one is the redirect URL which must include the port or it will not work. To ensure compatibility, I have recommended both URLs be added, with and without the port. Example docker-compose also added with traefik reverse proxy.

* Reduce screenshot size

* Fixes and improvements

* Allow changing auth to HTTP

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-12-30 23:45:31 +01:00
Alexandre Alapetite
a3ebfe76ea Docker Debian disable unused PHP modules (#5994)
https://github.com/FreshRSS/FreshRSS/issues/5993
2023-12-30 23:42:57 +01:00
András Marczinkó
0c178fe562 Translated the websub help line in the Hungarian translation (#6005) 2023-12-30 23:41:15 +01:00