Commit Graph

3411 Commits

Author SHA1 Message Date
Zhiyuan Zheng
ec7fd382e5 Update zh-cn translations (#5977)
* Add zh-cn translation.

* Update admin.php

* Update conf.php

* Update conf.php

* Update feedback.php

* Update gen.php

* Update sub.php
2023-12-26 11:38:15 +01:00
Alexandre Alapetite
c7a3281a73 Fix notifications (#5959)
The notification about wrong login was not working. Noticed while working on https://github.com/FreshRSS/FreshRSS/pull/5955
This was due to timing of when the notification is retrieved.
Simplified code to make the logic easier and more robust.
2023-12-22 11:03:32 +01:00
Alexandre Alapetite
79604aa4b3 Fix login (#5955)
fix https://github.com/FreshRSS/FreshRSS/issues/5953
Regression due to https://github.com/FreshRSS/FreshRSS/pull/5946
2023-12-20 16:36:55 +01:00
Alexandre Alapetite
a80a5f48a1 Pass PHPStan level 8 (#5946)
* Pass PHPStan level 8
And prepare for PHPStan level 9 https://phpstan.org/user-guide/rule-levels

* Revert wrong replace in comment

* Fix PHPStan level 8

* Update PHPStan and other dev dependencies

* Remove obsolete comment

* noVariableVariables and towards bleedingEdge
https://github.com/phpstan/phpstan-strict-rules
https://phpstan.org/blog/what-is-bleeding-edge

* More bleedingEdge

* A bit more PHPStan level 9

* More PHPStan level 9

* Prepare for booleansInConditions
Ignore int and null

* Revert wrong line

* More fixes

* Fix keep_max_n_unread

* Stricter attribute functions

* Stricter callHooks and more PHPStan level 9

* More typing

* A tiny more
2023-12-18 17:59:16 +01:00
Alexandre Alapetite
6bb45a8726 Add filter actions (auto mark read) at category and global levels (#5942)
* Add filter actions (auto mark read) at category level
fix https://github.com/FreshRSS/FreshRSS/issues/3497

* Add filter actions (auto mark read) at global level
fix https://github.com/FreshRSS/FreshRSS/issues/2788

* Fix feed category ID

* Minor comment
2023-12-15 23:04:29 +01:00
Alexandre Alapetite
a3ed826913 Remove variable default_category (#5945)
Not really used, and causing bug in https://github.com/FreshRSS/FreshRSS/pull/5942

```
Fatal error: Uncaught Error: Typed property FreshRSS_View::$default_category must not be accessed before initialization in /var/www/FreshRSS/app/views/helpers/category/update.phtml:218 Stack trace: #0 /var/www/FreshRSS/lib/Minz/View.php(93): include() #1 /var/www/FreshRSS/lib/Minz/View.php(143): Minz_View->includeFile() #2 /var/www/FreshRSS/app/views/category/update.phtml(9): Minz_View->renderHelper() #3 /var/www/FreshRSS/lib/Minz/View.php(93): include('...') #4 /var/www/FreshRSS/lib/Minz/View.php(115): Minz_View->includeFile() #5 /var/www/FreshRSS/lib/Minz/View.php(75): Minz_View->render() #6 /var/www/FreshRSS/lib/Minz/Dispatcher.php(59): Minz_View->build() #7 /var/www/FreshRSS/lib/Minz/FrontController.php(61): Minz_Dispatcher->run() #8 /var/www/FreshRSS/p/i/index.php(59): Minz_FrontController->run() #9 {main} thrown in /var/www/FreshRSS/app/views/helpers/category/update.phtml on line 218
```
2023-12-14 22:11:04 +01:00
Alexandre Alapetite
6a04503c7e Fix read_when_same_title_in_feed (#5937)
fix https://github.com/FreshRSS/FreshRSS/issues/5936
2023-12-10 14:05:11 +01:00
Alexandre Alapetite
b46ea88c35 Fix archiving (#5935)
fix https://github.com/FreshRSS/FreshRSS/issues/5934
Regression from https://github.com/FreshRSS/FreshRSS/pull/5830
2023-12-10 12:41:24 +01:00
Alexandre Alapetite
803fa8fdb5 Fix PHP7 susbtr (#5929)
fix https://github.com/FreshRSS/FreshRSS/issues/5928
`susbstr` might return false in PHP7
Regression from https://github.com/FreshRSS/FreshRSS/pull/5830
2023-12-06 11:58:49 +01:00
Alexandre Alapetite
8bff77c45e Fix export (#5927)
Regression from https://github.com/FreshRSS/FreshRSS/pull/5830
2023-12-06 08:51:42 +01:00
Alexandre Alapetite
f0d4f2762d Rework keepmax (#5905)
* Rework keepmax
fix https://github.com/FreshRSS/FreshRSS/issues/5702
fix https://github.com/FreshRSS/FreshRSS/issues/5870

* More WIP

* Minor progress

* Progress

* Beta

* Improved debug message

* Revert noCommit

* Fix variable reset

* Remove debug syslogs
2023-12-03 19:52:02 +01:00
András Marczinkó
eb2c2d9a01 Updated Hungarian translation (#5918)
* Updated Hungarian translation

* Fix typos config

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-12-03 14:08:48 +01:00
Alexandre Alapetite
8c18dc16a9 Allow reas-as-scroll in important view (#5906)
And within a single feed
See https://github.com/FreshRSS/FreshRSS/pull/5782#issuecomment-1810065152
2023-12-03 11:35:36 +01:00
Alexandre Alapetite
969758a73e Fix XPath encoding (#5912)
fix https://github.com/FreshRSS/FreshRSS/issues/5430
fix https://github.com/FreshRSS/FreshRSS/issues/5911
2023-11-30 09:46:53 +01:00
Alexandre Alapetite
203132b015 Pass FreshRSS version to JS client side for extensions (#5902)
fix https://github.com/FreshRSS/FreshRSS/issues/5542
2023-11-25 00:37:42 +01:00
Alexandre Alapetite
76cbfadcdf Fix types for extensions (#5901)
* Fix types for extensions
To accompany https://github.com/FreshRSS/Extensions/pull/185

* Avoid bug redeclared function
2023-11-24 14:50:03 +01:00
Alexandre Alapetite
b65ea97901 Fix PHP 7 compatibility strict_types (#5893)
* Fix PHP 7 compatibility
https://github.com/FreshRSS/FreshRSS/discussions/5892

* Multiple PHP 7 fixes

* PHPStan
2023-11-18 23:21:20 +01:00
Luc SANCHEZ
30c7a61a9b Use strict_types (#5830)
* Little's optimisations and booleans in conditions

* Apply strict type

* Apply strict type

* Apply strict type

* Fix multiple bugs with PHP 8.2 and 8.3

* Many declares missing, more errors fixed

* Apply strict type

* Another approach

* Stronger typing for Minz_Session

* Fix case of SQLite

---------

Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-11-16 22:43:00 +01:00
maTh
0504fc6766 Added: Display option for "My labels" (#5884)
* configs

* Update entry_bottom.phtml

* i18n strings

* fix phpstand found error

* reuse existing i18n string

---------

Co-authored-by: math-gh <>
2023-11-16 13:18:33 +01:00
Alexandre Alapetite
618ce380e7 More WebSub doc (#5862)
* More WebSub doc

* UI for WebSub + more documentation
And spellcheck Frech

* Links to WebSub doc from readme

* Add link to WebSub doc in admin interface

* Fix checkbox

* Plural
2023-11-14 23:28:01 +01:00
Alexandre Alapetite
9eba8726ac API fix add feed with title (#5868)
fix https://github.com/FreshRSS/FreshRSS/issues/5866
2023-11-14 12:58:57 +01:00
FireFingers21
b1d568697a Fix newlines not always displaying properly in description (#5859)
* Fix newlines not displaying properly

* Add name to credits

* Restore enclosure-description class

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

* Update app/Models/Entry.php

XHTML

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-11-13 20:20:14 +01:00
Alexandre Alapetite
d918ab8bc8 Fix updateTagName (#5842)
fix https://github.com/FreshRSS/FreshRSS/issues/5840
Regression from https://github.com/FreshRSS/FreshRSS/pull/5328
2023-11-09 23:59:43 +01:00
Ben Passmore
b9939bdaac Added ability to mark articles as read on focus. (#5812)
* Added ability to mark entries as read on focus.

Feature proposed in issue #5723.

* make-fix-all + i18n fr

* Use batch to save resources and increase performance

* Use "keep_unread"

* typo

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-11-09 11:12:04 +01:00
Alexandre Alapetite
44a7c54a5a Update WebSub documentation a bit (#5829)
* Update WebSub documentation a bit

* Marien prefers not to promote his hub too much :-)
2023-11-08 20:24:24 +01:00
Alexandre Alapetite
348028a290 New feature important feeds (#5782)
* New feature important feeds

* Fix PHPStan

* Initial style for important feeds + keep unread

* Change UI order

* Count important unread

* Never mark as read important feeds during scroll

* Fix i18n conf.iew.normal regression

* Fix reader view

* More fix reader view

* Create important.svg

* Fix title

* Fix counter

* Account for important during  mark-all-as-read

* Fix underline colour

* 📌

* Changelog

---------

Co-authored-by: math-gh <>
Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com>
2023-11-08 20:23:54 +01:00
Alexandre Alapetite
7d26dcc847 Remove unneeded execution permissions (#5831)
`chmod -x`
2023-11-08 13:21:36 +01:00
Alexandre Alapetite
00ae423924 Do not show message Add some feeds (#5827)
* Do not show message Add some feeds
I found this message misleading, as a view is most of the time empty due to a filter, not due to a lack of feeds.

* Remove i18n
2023-11-07 23:02:41 +01:00
Alexandre Alapetite
85345559c7 Compatibility PHP 8.2 for running automated tests (#5826)
https://php.net/pdo.errorinfo has slightly changed signature
2023-11-07 13:15:48 +01:00
Justin Tracey
df56d3b3bf document username:password@ syntax in proxy_help (#5805)
* document username:password@ syntax in proxy_help

* document without credentials too

Also mark translations as dirty.

* Update app/i18n/fr/sub.php

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-11-05 11:59:48 +01:00
maTh
d66dff4029 Fix: inputs in add a new feed (#5813)
Co-authored-by: math-gh <>
2023-11-04 03:16:21 +01:00
Alexandre Alapetite
8b2f7848eb Add support for enclosures thumbnail (#5806)
* Add support for enclosures thumbnail
fix https://github.com/FreshRSS/FreshRSS/issues/5170

* Changelog
2023-11-01 23:20:22 +01:00
Jan van den Berg
61f01d9c35 Fix typo in Dutch feedback.php (#5796) 2023-11-01 09:43:15 +01:00
Alexandre Alapetite
5a383c1054 Update DB recommendations (#5793)
* Update DB recommendations
Favour PostgreSQL, based on tests such as:
https://github.com/FreshRSS/FreshRSS/pull/5648#issuecomment-1715843198
https://github.com/FreshRSS/FreshRSS/issues/5707

SQLite is generally very fine, although with the challenge that the DB model cannot easily be updated https://www.sqlite.org/lang_altertable.html#why_alter_table_is_such_a_problem_for_sqlite
(We should ship a command-line update mechanism)

I have verified that FreshRSS still works with `mysql:5.5.62`
https://hub.docker.com/layers/library/mysql/5.5.62/images/sha256-d404d78aa797c87c255e5ae2beb5d8d0e4d095f930b1f20dc208eaa957477b74?context=explore

* sqlite
2023-10-31 23:37:16 +01:00
Alexandre Alapetite
ad8bae5aca Rework SQL field length (#5788)
* SQL auto-update field length
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/5756
Only for PostgreSQL and MySQL / MariaDB. Not possible for SQLite

* Account for MySQL 65535
Partial revert of https://github.com/FreshRSS/FreshRSS/pull/5756
> The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead.
2023-10-31 02:01:50 +01:00
Alexandre Alapetite
5ca9101ce8 Fix type regression filterActions (#5786)
Regression from https://github.com/FreshRSS/FreshRSS/pull/5720
2023-10-30 22:28:34 +01:00
Alexandre Alapetite
21a279179a Ready for year 2038 (#5570)
* Ready for year 2038
Fix https://github.com/FreshRSS/FreshRSS/discussions/5569
Requires PHP on a 64-bit platform to take advantage of it.
https://en.wikipedia.org/wiki/Year_2038_problem

* Allows dates past 2038
Rework of https://github.com/FreshRSS/FreshRSS/pull/3259
https://github.com/FreshRSS/FreshRSS/issues/3258

* Auto alter columns

* Changelog
2023-10-30 21:10:09 +01:00
Alexandre Alapetite
0324df6f88 SQL increase length of VARCHAR fields (#5756)
* SQL increase length of VARCHAR fields
Increase length of all fields, keeping the limits for:
* Unique indexes on UTF-8: 191 bytes for MySQL;
* Unique indexes on ASCII: 767 bytes for MySQL;
* Max URL for external tools: 32768 characters;
* Max VARCHAR: 65535 bytes for MySQL;
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/5038
Fix https://github.com/FreshRSS/FreshRSS/issues/4986

* Fix length test
2023-10-30 20:47:50 +01:00
Alexandre Alapetite
06d0099504 Require PHP 7.4+ (#5720)
* Require PHP 7.4+
https://github.com/FreshRSS/FreshRSS/discussions/5474

* Update Docker oldest
Alpine 3.13 with PHP 7.4.26

* Add missing packets to Docker oldest

* Update to typed properties
https://php.net/migration74.new-features#migration74.new-features.core.typed-properties

* More types
2023-10-30 20:47:27 +01:00
Luc SANCHEZ
4a02352ccc applies several small optimizations (#5511)
declare(strict_types=1);
Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
2023-10-30 20:40:13 +01:00
maTh
baab354ca2 Improve table scrolling (#5774)
* class table-wrapper added

* class scrolbar-thin added

---------

Co-authored-by: math-gh <>
2023-10-29 20:49:33 +01:00
maTh
1712d83c34 Improve purge policy UI label (#5773)
Co-authored-by: math-gh <>
2023-10-29 19:16:19 +01:00
maTh
98aa0b474e Fix UI inputs manage feed (#5765)
* fix input width

* fix feed edit path_entries_filter

---------

Co-authored-by: math-gh <>
2023-10-28 13:52:32 +02:00
maTh
6836be6d33 Better i18n string for feed submenu for mark as read (#5762)
* Update aside_feed.phtml

* Revert "Update aside_feed.phtml"

This reverts commit b406229e24.

* Update aside_feed.phtml

---------

Co-authored-by: math-gh <>
2023-10-27 22:57:01 +02:00
Frans de Jonge
ee04355b28 [i18n] Update Dutch translations (#5759) 2023-10-27 17:08:07 +02:00
Alexandre Alapetite
619d3f54a3 Fix searching thumbnails (#5750)
fix https://github.com/FreshRSS/FreshRSS/issues/5749
2023-10-26 16:33:50 +02:00
maTh
e1ad4fc733 Navigation buttons: Group icons (.group instead of .stick) (#5737)
* replace stick with group + update the themes

* Update nav_menu.phtml

---------

Co-authored-by: math-gh <>
2023-10-24 23:43:50 +02:00
robertdahlem
83cf7301f4 Do not update feeds after import (#5629)
* Add checkbox to not update feeds after import to avoid duplicate feeds when importing multiple files.

* Import without updating feeds, but now unconditionally

* Added hint to click "Update feeds" to all translations

* Update app/i18n/fr/feedback.php

* Fix i18n

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-10-22 19:03:51 +02:00
maTh
6f228453e4 margins in feed navigation bar (#5695)
Co-authored-by: math-gh <>
2023-10-09 20:26:16 +02:00
VYSE V.E.O
b82c41f6b9 Test if set_time_limit exists (#5675)
* Fix @set_time_limit as @-operator after PHP8 no longer suppresses disabled functions

* preserve @ decorator

* Fix whitespace

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-09-27 21:40:05 +02:00