Commit Graph

5191 Commits

Author SHA1 Message Date
Alexandre Alapetite
d785ddde2a New option to automatically mark as read gone articles (#4426)
* New option to automatically mark as read gone articles
Option to automatically and immediately mark as read entries / articles that are no longer provided in their upstream RSS / ATOM / XPath feed

* Reduce SQL queries
Optimisation: Perform cache update only once
2022-06-25 11:15:51 +02:00
Alexandre Alapetite
07a52137a9 Fix last update & archive logic (#4422)
#fix https://github.com/FreshRSS/FreshRSS/issues/4401
2022-06-25 11:11:23 +02:00
Alexandre Alapetite
e14a72681e Fix OPML category encoding (#4427)
Category name was double-encoded
2022-06-25 11:09:08 +02:00
Alexandre Alapetite
2a0b47a8a4 No XPath error on empty list (#4425)
Set feed error state to true if the *list* of items cannot be find by XPath, but do not set the error state to true if that list happens to be empty (the resulting feed will be with an *empty* state instead of *error* state)
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/4220
2022-06-23 13:26:22 +02:00
Alexandre Alapetite
47ab9d5e77 Better trim base_url (#4423)
Avoid usual errors for instance with quotes, especially when provided through Docker / CLI
2022-06-21 10:46:50 +02:00
Alexandre Alapetite
5b31c8212f Minor dev composer update (#4424)
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/4419
2022-06-21 10:46:18 +02:00
Alexandre Alapetite
dcc77ee343 Initial support for PHP 8.2 (#4421)
* Initial support for PHP 8.2
Using dev image `freshrss/freshrss:latest` https://github.com/FreshRSS/FreshRSS/pull/4420

* Deprecated string interpolation
2022-06-19 20:10:13 +02:00
Alexandre Alapetite
a90d93979f Docker Alpine updates (#4420)
* Added PHP extensions `php-openssl`  (used by PHPMailer) and php-xml (used by SimplePie)
* Upgraded dev image `freshrss/freshrss:newest` to PHP 8.2.
2022-06-19 20:09:09 +02:00
Alexandre Alapetite
f365a9aeb4 Update all test dependencies (#4419)
* Update all test dependencies

* Remove old false-positive

* Minor update lock files

* Increase PHPStan memory for Fedora
https://github.com/FreshRSS/FreshRSS/pull/4400#issuecomment-1159514197

* Require PHP8+ for tests
Due to small changes of signature in `ob_implicit_flush` and `simplexml_load_string`, cf. https://github.com/FreshRSS/FreshRSS/pull/4123

* Missing lint in CSS files
2022-06-19 20:08:42 +02:00
Alexandre Alapetite
238e55b2fd Document fixes & tests (#4418)
* Document fixes & tests
#fix https://github.com/FreshRSS/FreshRSS/issues/4213
Help https://github.com/FreshRSS/FreshRSS/pull/4400#issuecomment-1159347683

* Link to tests.yml

* sudo

* Link to GitHub Actions

* Add Fedora and Alpine
2022-06-19 20:05:46 +02:00
Alexandre Alapetite
95af935a5f Docker entrypoint fix buffering (#4417)
Remove output buffering during auto-install of FreshRSS and auto-creation of the default user.
We were only getting outputs at the end of each command, which was a problem for getting errors and progress, for instance when automatically importing a very large OPML
2022-06-19 20:03:34 +02:00
Alexandre Alapetite
a6b4640a2f export-ignore (#4415)
https://www.git-scm.com/docs/gitattributes
2022-06-19 20:03:17 +02:00
Alexandre Alapetite
880f500bb3 Fix Minz link (#4414)
* Fix Minz link
https://github.com/marienfressinaud/MINZ returned 404
Found on https://framagit.org/marienfressinaud/MINZ instead
2022-06-16 20:25:31 +02:00
ryoku-cha
7ba3f0228d README.md - GReader Redate not required for Reeder 5 (#4413)
* README.md - GReader Redate not required for Reeder 5

Tried both as i still used Reeder 4 up until a month ago, when i installed FreshRSS. Then I switched to Reeder 5 which shows the Date and Time the corresponding Article was released.

I just commented on a corresponding Question/Issue, with Screenshots showing the difference.
https://github.com/javerous/freshrss-greader-redate/issues/1#issuecomment-1154228569
2022-06-13 21:00:55 +02:00
Alexandre Alapetite
ec11da4e84 Safer htmlspecialchars_utf8 (#4411)
* Safer htmlspecialchars_utf8
#fix https://github.com/FreshRSS/FreshRSS/issues/4410

* Undefined variable
2022-06-11 22:14:46 +02:00
Miika Launiainen
a398a135f5 Added themeing to missing "category" -icon (#4409)
* Color category icon, too
2022-06-11 15:38:41 +02:00
Alexandre Alapetite
f85c510ed4 New search engine (#4378)
* New possibility to invoke user queries from a search expression
From the search field: `S:"My query"`.
Can be combined with other filters such as `S:"My query" date:P3d` as long as the user queries do not contain `OR`.
A use-case is to have an RSS filter with a stable address or an external API call with the ability to update the user query.

* Draft of parenthesis logic

* More draft

* Working parenthesis (a OR b) (c OR d)

* Working (A) OR (B)

* Support nested parentheses + unit tests + documentation

* search:MySearch and S:3
2022-06-02 08:41:08 +02:00
Alexandre Alapetite
f988b996ab Fix update URL (#4399)
#fix https://github.com/FreshRSS/FreshRSS/issues/4395 maybe
2022-06-02 08:40:18 +02:00
Alexandre Alapetite
15de58a024 Docker readme volume for extensions (#4397)
* Docker readme volume for extensions
Forgotten from https://github.com/FreshRSS/FreshRSS/pull/4320
Keeping https://github.com/FreshRSS/FreshRSS/pull/2837

* Minor whitespace

* No extension volume for development
2022-05-31 10:04:07 +02:00
maTh
992b906062 Slider: close via shortcut (#4394)
* change close-slider behind slider

* open/close slider via anchor

* use shortcuts globaly

* deleted debugging console.log()
2022-05-30 23:06:50 +02:00
maTh
98f9409155 Improved: Feed config: title, website url, feed url (#4258)
* do not display "website" in dropdown menu, when it is empty

* feed name and URL required. input type = url

* Update app/views/helpers/feed/update.phtml

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

* Update app/views/helpers/feed/update.phtml

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

* fix spaces and tabs

* use classes indead of ID

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2022-05-30 10:51:47 +02:00
Alexandre Alapetite
15cdb60ba0 Fix warning with icons (#4390)
Fix warning in cases when the user context is not yet available, for instance during install
Fix regression from https://github.com/FreshRSS/FreshRSS/pull/4353
2022-05-30 10:34:39 +02:00
Alexandre Alapetite
b4ff1e03dd Docker: Alpine 3.16 (#4391)
https://alpinelinux.org/posts/Alpine-3.16.0-released.html
Apache 2.4.53, PHP 8.0.19
2022-05-30 10:34:24 +02:00
Alexandre Alapetite
516f0c090c Fix SQLite regression (#4389)
Revert SQLite part of https://github.com/FreshRSS/FreshRSS/pull/4387
https://github.com/FreshRSS/FreshRSS/pull/4347
Apparently INT and INTEGER are not perfectly synonym in SQLite!
> An INTEGER PRIMARY KEY column is an alias for the rowid, but an INT PRIMARY KEY column is not.
https://www.sqlite.org/stricttables.html#strict_tables
2022-05-26 23:22:06 +02:00
Alexandre Alapetite
f89819bd64 Custom logo HTML (#4369)
* Custom logo HTML
Add option for custom HTML logo/title in the main Web UI view.
Can potentially be different per user.
#fix https://github.com/FreshRSS/FreshRSS/pull/3830/files#r850472247

* logo_html in main config
With new `./data/config.custom.php` to provide custom values before install

* Docker documentation

* whitespace

* Auto relax CSP to allow images for HTML logo

* Documentation
2022-05-23 14:03:19 +02:00
Alexandre Alapetite
8668ca7230 Fix MySQL/MariaDB types (#4387)
#fix https://github.com/FreshRSS/FreshRSS/issues/4386
Forgotten from https://github.com/FreshRSS/FreshRSS/pull/4347
2022-05-23 10:45:44 +02:00
ibiruai
2ac92b2d7c Update i18n/ru (#4385) 2022-05-23 10:35:17 +02:00
maTh
f1e9104c2d CSS files: z-index modified (mostly deleted) (#4382) 2022-05-22 20:04:58 +02:00
maTh
c05b31bc90 Fix: Space between favicon and feed name (#4383)
* template.css

* fixed RTL
2022-05-22 16:04:19 +02:00
Alexandre Alapetite
e1f2ba85b1 Fix doc anchor (#4376)
* Fix doc anchor
The "search an article" link lead to a dead anchor
https://freshrss.github.io/FreshRSS/en/users/02_First_steps.html

* Fix wording
2022-05-19 21:31:44 +02:00
Alexandre Alapetite
cbf2bc085a Remove HTTP Referer for HTML download (#4372)
Having this header leads to errors from sites such as LinkedIn. The usage of this header is also decreasing. Finaly, we were not sending the actual Referer but just the same URL as the one being fetched.
I suggest to remove for now, and see whether anyone needs it, in which case an option would be possible.
2022-05-19 21:31:04 +02:00
Alexandre Alapetite
f5aaf5f460 New limit option when reloading a feed (#4370) 2022-05-19 21:30:40 +02:00
bulewhale235
c1eae57898 zh_cn xpath translations (#4379)
* add zh_cn translations at xpath
2022-05-19 16:33:57 +02:00
Alexandre Alapetite
0fc0060966 Fix slider when no article (#4375)
* Fix slider when no article
#fix https://github.com/FreshRSS/FreshRSS/issues/4373
https://github.com/FreshRSS/FreshRSS/pull/4291

* Use aside

* Forgotten

Co-authored-by: maTh <math-home@web.de>
2022-05-17 23:31:24 +02:00
Alexandre Alapetite
20eba951f7 Fix bug in user query 4360 (#4371)
Fix bug when taking advantage of https://github.com/FreshRSS/FreshRSS/pull/4360
At one place, the raw URL parameter was accessed instead of being reconstructed
2022-05-17 22:46:08 +02:00
Artur Weigandt
d6fd78b968 Allow CssXPath updates with composer (#4368)
* Install CssXPath with composer

* Fix code style in tests

* fix pathnames for tests and linting

* add irrelevant files to .gitignore

* Alphabetic order

* let composer sort the packages alphabetically

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2022-05-16 12:04:43 +02:00
Alexandre Alapetite
ffd1061850 User query automatic reconstruct of URL (#4360)
* User query automatic reconstruct of URL
(Invisible through the Web UI, only when working with configuration files manually)
Avoid the requirement of storing user queries with duplicated information (parsed parameters AND the resulting URL):

Before:
```
[
	'name' => 'Hello',
	'search' => 'Hello OR World',
	'state' => '3',
	'url' => './?search=Hello+OR+World&amp;state=3',
]
```

After:

```
[
	'name' => 'Hello',
	'search' => 'Hello OR World',
	'state' => '3',
]
```

* Fix test
2022-05-15 21:53:13 +02:00
maTh
807ea755e0 fix preview (#4291)
* fix

* Update extra.js

* reorga the scripts

* Update extra.js

* Several fixes
https://github.com/FreshRSS/FreshRSS/pull/4291#issuecomment-1125472321

* More fixes

* Cleaning

* fix pr 4291

* Reorganise some script functions

* Remove unused popup-txt
And associated function openPopupWithMessage

* Fix archiving categories
https://github.com/FreshRSS/FreshRSS/pull/4291#issuecomment-1126924602

* Fix stats
https://github.com/FreshRSS/FreshRSS/pull/4291#issuecomment-1126983134

* Fix direct subscription
E.g. http://localhost/i/?c=subscription&id=735

* Fix subscription add
https://github.com/FreshRSS/FreshRSS/pull/4291#issuecomment-1126991621

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2022-05-15 21:52:52 +02:00
Alexandre Alapetite
0cde4e898f Automatic simplification of layout for many feeds (#4357)
* Refactor OPML export categories
Simplify code to comply with types hints.
And renamed a property to plural.

* Automatic simplification of layout for many feeds
New advanced property to automatically simplify the layout when there are many (1k+)  feeds so that FreshRSS works out of the box with 20k+ feeds scenarios https://github.com/FreshRSS/FreshRSS/pull/4347

Merge https://github.com/FreshRSS/FreshRSS/pull/4356 first.
2022-05-15 13:47:31 +02:00
bulewhale235
5736ec67c4 fixed tagEntry redirection (#4366) 2022-05-15 13:46:34 +02:00
Artur Weigandt
5110d1db3e Update to PHPMailer 6.6.0 with composer (#4329)
* Install PHPMailer 6.5.1 with composer

* Fix folder name for phpmailer

* Update PHPMailer to v6.6.0, add LICENSE and README.md

* remove composer and autoload.php after install/update

* Fix path to PHPMailer for PHPStan

* Remove lib/composer.lock, lock PHPMailer at version 6.6.0

* Improve PSR-4 autoloading for PHPMailer

* Markdownlint ignore

* Delete some obvious comments

* ignores

* Support composer update --no-autoloader

* Automatic cleaning
With rules based on https://github.com/PHPMailer/PHPMailer/blob/master/README.md#minimal-installation

* Readme gitignore hint

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2022-05-14 23:38:16 +02:00
Alexandre Alapetite
7f0c378482 Fix favicons update (#4358)
Better update the favicons when the URL changes
2022-05-13 23:14:09 +02:00
Paweł Kalemba
6e369e83bc fix(i18n,polish): Fix some typos in polish internationalization (#4363) 2022-05-13 14:14:22 +02:00
Alexandre Alapetite
da0a333b94 Refactor OPML export categories (#4356)
* Refactor OPML export categories
Simplify code to comply with types hints.
And renamed a property to plural.

* Link to OPML namespace
2022-05-12 22:31:31 +02:00
Alexandre Alapetite
4a87206f28 OPML export/import of some proprietary FreshRSS attributes (#4342)
* OPML export/import of some proprietary FreshRSS attributes
#fix https://github.com/FreshRSS/FreshRSS/issues/4077
And one of the TODOs of https://github.com/FreshRSS/FreshRSS/pull/4220
XPath options, CSS Selector, and action filters

* Bump library patch version

* OPML namespace + documentation

* Add example
2022-05-12 22:15:10 +02:00
Alexandre Alapetite
9d1930d9ad Allow many (20k+) feeds (#4347)
* Allow many (20k+) feeds
Fix errors such as `SQL error listWhereRaw: ERROR: value "42926" is out of range for type smallint`
Start of UI performance improvements accordingly.
2022-05-09 15:59:21 +02:00
Alexandre Alapetite
893d4d14c0 OPML relax error check for non-strict mode (#4343)
#fix https://github.com/FreshRSS/FreshRSS/issues/3967
2022-05-09 12:57:11 +02:00
Alexandre Alapetite
05d263d67c Better documentation online cron (#4355)
* Better documentation online cron
#fix https://github.com/FreshRSS/FreshRSS/pull/3637#issuecomment-849073249
#fix https://github.com/FreshRSS/FreshRSS/issues/1676

* Forgotten line

* Simplify examples

* Rework structure slightly

* More clarifications
2022-05-09 12:56:29 +02:00
Alexandre Alapetite
80a228e9a6 Option icons-as-emojis for performance (#4353)
New mode to use only emojis instead of icons.
Considerably improves performances.
Needed for 20k+ feeds scenario https://github.com/FreshRSS/FreshRSS/pull/4347
2022-05-09 12:54:54 +02:00
Manuel Riel
d8ccb5800c Fix Docker button, add PikaPods as automated install option (#4351)
* Fix Docker icon, add PikaPods install option

* Use same button size

* Force button refresh

* French version

* Docker logo

* Remove image

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2022-05-07 14:28:28 +02:00