192 Commits

Author SHA1 Message Date
Alexandre Alapetite
3cd7168612 Capy Reader update (#8339)
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/8184
One more  for synchronisation, which has become better.
✔️ User labels properly implemented https://github.com/jocmp/capyreader/issues/786#issuecomment-3685125608
First client to pass all my criteria since defunct News+.
2025-12-23 11:59:36 +01:00
Alexandre Alapetite
1a3912f25a Improve configuration checks (#8334)
Add a distinction between recommended and required extensions.
Add check for recommended php-intl extension as follow-up of https://github.com/FreshRSS/FreshRSS/pull/8329#issuecomment-3677686581
Improve related checks such as ZIP.
Reduce duplicated translations and tests.
2025-12-21 19:26:08 +01:00
Zexin Yuan
e6cb6e65a4 Improve simplified chinese translation (#8313)
* Improve simplified chinese translation

* Update translation progress

* Add yzx9 to contributors
2025-12-13 12:25:14 +01:00
X.
73b37cdebe Translate English phrases to Chinese in gen.php (#8308)
* Translate English phrases to Chinese in gen.php

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-12-12 08:28:27 +01:00
Inverle
d55f017ccd Implement button for toggling sidebar on all views (#8201)
* Implement button for toggling sidebar on all views

Closes https://github.com/FreshRSS/FreshRSS/issues/7673, https://github.com/FreshRSS/FreshRSS/issues/7100, https://github.com/FreshRSS/FreshRSS/issues/6119, https://github.com/FreshRSS/FreshRSS/issues/5338, https://github.com/FreshRSS/FreshRSS/issues/2792, https://github.com/FreshRSS/FreshRSS/issues/4224, https://github.com/FreshRSS/FreshRSS/issues/4136

https://github.com/user-attachments/assets/0629e465-6450-440e-b38b-430e9ff73ef9

Keyboard shortcut for doing the same: <kbd>t</kbd>

* Partially fix other views

Repartition page looks broken on Swage

* Correction

`close-aside` wasn't meant to be removed

* i18n(conf): fr

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

* make fix-all

* Fix settings slider not opening in reader view

* make readme

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-12-04 08:48:03 +01:00
Alexandre Alapetite
5e0093aa00 Fix MariaDB updateCachedValues (#8255)
Changed syntax for an even wider compatibility.
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/8254
Regression from https://github.com/FreshRSS/FreshRSS/pull/6957
MariaDB images on Docker Hub go back to 10.6, so changed documentation to indicate support from that version, as I cannot easily test even older versions.
2025-11-26 23:47:29 +01:00
Horváth Zsolt
a2f309a800 Update hungarian translation (#8244)
* Update hungarian translation

* Change translation to make it consistent

Co-authored-by: András Marczinkó <andris155@users.noreply.github.com>
2025-11-24 21:59:18 +01:00
McFev
67c22389c2 i18n(ru): 100% complete (#8197)
* i18n(ru): 100% complete

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-11-09 11:57:50 +01:00
scollovati
6fb2044563 [i18n] updated Italian translation (#8186) 2025-11-05 09:39:00 +01:00
Alexandre Alapetite
b6c63d2239 Better transitions between groups of articles (#8174)
fix https://github.com/FreshRSS/FreshRSS/issues/7520
fix https://github.com/FreshRSS/FreshRSS/issues/8168
fix https://github.com/FreshRSS/FreshRSS/discussions/8172
2025-11-04 12:49:21 +01:00
Josiah Campbell
5535067f64 Update list of Capy Reader capabilities in README (#8184)
Reference

- [Fetch read
  articles](https://github.com/jocmp/capyreader/discussions/532)
- [Manage labels](https://github.com/jocmp/capyreader/issues/786)
- [Fetch more in individual views](https://github.com/jocmp/capyreader/discussions/532)
2025-11-03 00:04:53 +01:00
McFev
11863fa00e i18n(ru): 100% complete (#8155)
* i18n(ru): 100% complete

* make fix-all

* i18n(ru): 100% complete

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-24 23:20:16 +02:00
Tommaso Ferrari
581b81006a Add option to apply filter actions to existing articles (#7959)
* Add option to apply filter actions to existing articles

* make fix-all

* Fixes

* Another approach with preview
New approach: 20479475c9

<img width="666" height="202" alt="image" src="https://github.com/user-attachments/assets/bb68ede4-60c8-4e0c-9317-c5ed7a6ad7df" />

Additional improvements:
* Also implemented at category level, and at global level
* Also implemented for favourites at global level

Shortcomings:
* Does not always work reliably with advanced regex, since the DB's flavour is not necessarily the same than PHP's

Related: https://github.com/FreshRSS/FreshRSS/pull/8141

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-22 21:28:33 +02:00
Darkentia
6edb658dfb Update gen.php (#8146)
* Update gen.php

Fully translated English to Greek (Μετάφραση απο Αγγλικά σε Ελληνικά)

* make fix-all + fixes

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-22 13:05:26 +02:00
Alexis Degrugillier
eee8b8c03f Add support for extension compatibility (#8081)
The compatibility does support only a minimum version of FreshRSS. If we need
something a bit more clever in the future, it is possible to handle a rule
with a bit more complexity.

See https://github.com/FreshRSS/FreshRSS/issues/5903

* Update app/Controllers/extensionController.php

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

* Update app/i18n/pl/admin.php

Co-authored-by: Inverle <inverle@proton.me>

* Minor move phpstan-type

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: Inverle <inverle@proton.me>
2025-10-21 23:49:06 +02:00
Inverle
def9e8c75f i18n: pl (#8134)
Translates new strings mainly for *Unread dates* and *Advanced Search*
2025-10-18 17:56:18 +02:00
Alexandre Alapetite
14fc3e9b64 Add to search UI the user modification date (#8122)
* Add to search UI the user modification date
Follow-up of:
* https://github.com/FreshRSS/FreshRSS/pull/8103
* https://github.com/FreshRSS/FreshRSS/pull/8093

* Easier UI to cancel filtering by date

* Add blank <option> to ease deselection of <select>
2025-10-16 21:23:32 +02:00
Alexandre Alapetite
f08f7dcff9 Sort by article length (#8119)
* Sort by article length
fix https://github.com/FreshRSS/Extensions/issues/378
Very basic using simply SQL `LENGTH()` function.

<img width="492" height="217" alt="image" src="https://github.com/user-attachments/assets/7cf37303-76c8-4411-b8b1-075e81535b60" />

* Improve content length retrieval
2025-10-16 21:15:44 +02:00
Alexandre Alapetite
e070c3ed2b Implement search form (#8103)
* Add UI for advanced search
To help users with the seach operators.
Obviously not as powerful as a manually-written search query.
Lack in particular negation and logical *and* for now, but I might try to do something about it.

<img width="939" height="1438" alt="image" src="https://github.com/user-attachments/assets/0bcad39b-eff3-4f44-876b-a2552af2af00" />

* Consistency: allow multiple user queries like S:1,2

* Fix user query and add tests
2025-10-15 00:08:40 +02:00
Alexandre Alapetite
b7bd18148e Option to show user labels instead of tags in RSS share (#8112)
* Option to show user labels instead of tags in RSS share
fix https://github.com/FreshRSS/FreshRSS/discussions/8108#discussioncomment-14668813

<img width="711" height="182" alt="image" src="https://github.com/user-attachments/assets/8effb2cd-fffb-4f00-b628-54e963e8b2dc" />
2025-10-14 15:43:43 +02:00
scollovati
faaa770bc0 [i18n] updated Italian translation (#8115)
* [i18n] updated Italian translation

* make fix-all

* [i18n] italian unsafe_csp_header

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-14 13:02:40 +02:00
Alexandre Alapetite
5eba322cbd New stats overview of dates with most unread articles (#8089)
New view with direct links to dates with most unread articles:

<img width="734" height="581" alt="image" src="https://github.com/user-attachments/assets/159a39b3-3a06-4ae9-9cc0-62ae36d9db9c" />
2025-10-14 11:05:17 +02:00
Minna N.
f8a9d75312 Translate new user_modified strings (#8092)
* Translate new user_modified strings

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-12 11:07:47 +02:00
Alexandre Alapetite
a33cab041b Readme reformat automated install (#8086)
While waiting for a better reorganisation
https://github.com/FreshRSS/FreshRSS/issues/7628
2025-10-12 00:48:22 +02:00
Federico Scodelaro
673067a52d Last user modified (#7886)
* feat: Add user modified functionality

Closes https://github.com/FreshRSS/FreshRSS/issues/7862

Changes proposed in this pull request:

This is an implementation of the proposed feature. It allows entries to have a new field that will be updated whenever an item is marked as read/unread or bookmark/removed from bookmarks. And a new sort criteria to sort by it.

How to test the feature manually:

1. Mark items from a feed as read/unread
2. Mark items from a feed as bookmark / remove bookmark
3. Sort by the new criteria

* feat: Add sort functionality
* feat: Add sort nav button
* fix: Use correct migrations
* fix: Add internationalization
* fix: Linter errors
* chore: PR comments

* Update app/i18n/fr/index.php
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>

* Update app/i18n/pl/index.php
Co-authored-by: Inverle <inverle@proton.me>

* Update app/i18n/nl/index.php
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>

* make fix-all
* Fixes
* More fixes sort
* Fix wrong index
* Fix unneeded column
* Fix auto-create indexes
* Some copilot suggestions
* One more fix
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: Inverle <inverle@proton.me>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
2025-10-11 00:43:38 +02:00
Valentinas Čirba
ec1f5ee61b Add deployment option for Hostinger in README (#8002)
* Add deployment option for Hostinger in README

* French

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-07 20:32:37 +02:00
Minna N.
ad19f49485 Update Finnish translation (#8073)
* Update Finnish translation

* Remove TODOs and add one IGNORE

* make fix-all

* Remove DIRTY tag

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-06 22:22:09 +02:00
Alexis Degrugillier
b6f4276c6c Change regional language codes (#8065)
* Change regional language codes

According to `ISO-639-1` and `ISO-3166-1 alpha-2` recommendations, regional
languages must be written with the language code in lowercase and the region
in uppercase. For instance, we should have `en-US` instead of `en-us`.

Folders have been updated to reflect those recommendations and regional
language codes have been updated in the translation files.

* Update README files

* Fix configuration for typos

* Revert language order in documentation

* Remove unnecessary code

* Change language configuration getter

* Fix phpstan error

* Fix typo

* Add types

* escape regex

* Move language logic to avoid magic or deprecated methods

* Minor fix on regex
2025-10-06 21:09:01 +02:00
Inverle
be49726ebb Replace translation status flags with text section (#7842)
* Replace translation status flags with text section

* make fix-all

* Update README.md

Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com>

* Improve with suggestions

* Improve with further suggestions

* fix headers

* BCP 47
https://developer.mozilla.org/en-US/docs/Glossary/BCP_47_language_tag

* en-US: `TODO` -> `IGNORE`

* i18n: fr

* i18n: fr

* i18n: fr

* Links

---------

Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-10-02 23:00:16 +02:00
Alexandre Alapetite
0eab229d52 API client "Your News": one star sync (#8051)
Due to high bandwidth in current sync https://github.com/FreshRSS/FreshRSS/pull/8041#issuecomment-3357569847
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/7714
2025-10-01 23:14:06 +02:00
TijnvandenEijnde
fcc272f692 Add your news to readme (#7714)
* Added Your News to README.md

https://github.com/FreshRSS/FreshRSS/issues/7694

* Reversed iOS table entry, reverted changes and modiffied Android entry to show both Android, iOS and remove checkmark for free software

* Removed checkmark for labels because it is not supported
2025-10-01 13:46:17 +02:00
Denys Nykula
6d0bec14e5 Translate to Ukrainian (#7961) 2025-09-14 21:17:30 +02:00
Inverle
f9a42adade Show translation status in README.md (#7715)
* Show translation status in README.md

* Fix colon

* markdownlint: Allow tag `<translations>`

* Use mostly Unicode flags instead

* Only `oc.svg` remains in an image format
* `check.translation.php` still supports `.png` even though there aren't any PNGs as of right now

* Fix CodeSniffer

* Attempt approach with generating local SVGs

* Fixes for local SVG approach

* Cleanup old code

* PHPStan fix

* Remove decimal precision from percentages

* Suggestions + better error messages

* codesniffer fix v2

* Revert `ghSearchUrl` change

* Generate readme

* Fix syntax highlight, maybe

* Regenerate

* Update help message

* Use existing translation files instead of .txt

* Add test against wrong Unicode flag

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-07-16 16:11:51 +02:00
Glyn Normington
b0a3ae1e7a Clarify MINZ usage (#7426)
* Clarify MINZ usage

MINZ (archived, read-only) is not a dependency
of FreshRSS, which would be very concerning.

Instead, FreshRSS copied MINZ and has evolved
it since then under the same license.

Ref: https://github.com/FreshRSS/FreshRSS/discussions/7425

* Move credits to README

* Delete credits from web UI

* Additional changes

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-03-24 14:04:10 +01:00
Yuanlin Lin
66a8d4a355 feat: Add one-click deploy to Zeabur button on README.md (#7271)
* feat: add Zeabur button in README.fr.md

* Add one-click deploy to Zeabur button on README.md

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2025-03-08 12:15:54 +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
d2a7a73590 Update table of Android clients (#7034)
fix https://github.com/FreshRSS/FreshRSS/issues/6382
2024-11-28 21:24:36 +01:00
Alexandre Alapetite
604b186638 API client update Readrops (#7027)
* API client update Readrops
(Going through the list of clients) Contributes to https://github.com/FreshRSS/FreshRSS/issues/6382
Readrops become better since my last test

* Link to issue
2024-11-28 11:21:43 +01:00
Alexandre Alapetite
c1c2dd83e4 Add Capy Reader, Android app (#7022)
Contributes to https://github.com/FreshRSS/FreshRSS/issues/6382
but without re-ordering the other ones yet
2024-11-26 17:00:22 +01:00
Christophe Henry
af5d8b8b48 Remove 'ChristopheHenry' android app (#6947) 2024-10-27 13:35:02 +01: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
Kaiwalya Koparkar
41bc15a9ff feat: Added Elestio as one-click deploy option (#6726)
* feat: Added Elestio as one-click deploy option

* update: Added my name with other contributors

* update: Removed the name from credits list

* update: Added Elestio one-click deploy button to French Readme

* fix: Removed the non-translated words from button
2024-08-23 16:40:15 +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
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
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
386c982443 Doc Web git update (#5995)
https://github.com/FreshRSS/FreshRSS/discussions/5991
2023-12-29 13:36:43 +01:00
martinrotter
ee99e7e2cc Update README.md - RSS Guard (#5872)
* Update README.md

* French

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-11-16 13:19:01 +01:00