Commit Graph

288 Commits

Author SHA1 Message Date
pe1uca
6d76dfe822 Improve add feed (#8683)
* Reorder add feed and add category

Implements some suggestions made in https://github.com/FreshRSS/FreshRSS/issues/2014

Changes proposed in this pull request:

- Move "Add feed" as the first section of the Subscriptions add page.  
- Add checkbox "Keep adding feeds" to stay on the "add" page.  

How to test the feature manually:

1. Navigate to the page "Add a feed or category"  
2. See new order.  
3. Type URL of a new feed, select a category, and check "Keep adding feeds "  
4. See FreshRSS confirm the feed was added while staying in the same page.  

* Add checkbox to stay in the add feed page

* Update i18n

* PHP CS

* Manually set i18n progress

* Change i18n

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-04-16 08:23:43 +02:00
Alexandre Alapetite
295266adf6 i18n:fr 8672 (#8682)
Not in time for https://github.com/FreshRSS/FreshRSS/pull/8672
2026-04-07 23:16:32 +02:00
Christian Weiske
1acc646222 Show time since when a feed has problems + new timeago() method and i18n plurals (#8670)
Closes https://github.com/FreshRSS/FreshRSS/issues/8508

Changes proposed in this pull request:

- Use an integer for `Feed::error` everywhere (follow up to #8646)
- Extract `Entry::machineReadableDate()` into function for use in HTML templates
- Add `timeago()` function that converts a unix timestamp into a "4 weeks ago" string
- Show the last successful feed update, and the last erroneous update

How to test the feature manually:

1. Update a feed
2. Modify the feed URL in the database and set it to a non-existing URL
3. Update the feed again
4. Open the "Manage feed" and see the expanded error message:

>  Blast! This feed has encountered a problem. If this situation persists, please verify that it is still reachable.
> Last successful update 3 hours ago, last erroneous update 1 hour ago. 

You can hover the relative dates to see the timestamp.

* Make Feed::error an int everywhere

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

* Extract timestamptomachinedate()

.. for later usage in the feed error time display.

* Show time since when a feed has problems

We add our own "timeago" function that converts a unix timestamp
into a "4 weeks ago" string.

Resolves: https://github.com/FreshRSS/FreshRSS/issues/8508

* Add new translation keys

* i18n fr, en-US

* Minor XHTML preference

* Slightly shorter rewrite, also hopefully easier to read

* Rewrite to allow (simple) plural
I also moved some functions around for hopefully a more generic and better structure.
I made some changes for the sake of speed (e.g. second-based logic instead of datetime intervals).
Note: I used automatic translation as I was worried it would be too complicated to explain to translators... I proofread the few languages I have some familiarity with.

* Add reference to CLDR

* Slightly more compact syntax

* Always show last update, fix case of unknown error date

* Remove forgotten span

* No need for multi-lines anymore

* Fix error date thresshold

* plurals forms

* Extract gettext formula conversion script to cli

* Simplify a bit

* Escort excess parentheses to the door

* Simplify

* Avoid being too clever in localization

* Fix German

* Fix plural TODO parsing

* Ignore en-US translation

* make fix-all

* git update-index --chmod=+x cli/compile.plurals.php

* Heredoc indent PHP 7.3+

* compileAll: Continue on error

* PHP strict comparisons

* Light logical simplification

* Cache plural_message_families

* Avoid case of empty value

* A bit of documentation

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: Frans de Jonge <frans@clevercast.com>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
2026-04-07 22:56:02 +02:00
Inverle
cc64991c16 Implement setting for iframe referrer allowlist (#8672)
* Implement setting for iframe referrer allowlist

* Improve config label
2026-04-07 18:29:27 +02:00
Matheus Roberson
cf5cfeff58 Add a form to create new user queries on the User Queries page (#8623)
* Add form to create user queries
Closes https://github.com/FreshRSS/FreshRSS/issues/6361

Changes proposed in this pull request:

- Add a form to create new user queries on the User Queries page
- Fix the controller to properly handle request data

How to test the feature manually:

1. Open FreshRSS
2. Open Settings
3. Click User queries
4. Create new user query 

* Add tranlation key for title in create new user query
* Fix 'for' conflict with aside in labels
* Fix input widths

* i18n: fr

* make fix-all

* Fix conditions in configureController

* Remove token condition

* Fix ctype_digits condition

* Fix errors

* Fix phpStan error

* Fix syntax and state for checkboxes

* Add new way to create user queries in docs

* Compress image more

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-04-03 22:29:44 +02:00
Kachelkaiser
e9199fcce9 German translation updates (#8557)
* German Translation updates

* Fix German translations in admin.php

* Fix capitalization in encoding support warning

* Update German translations in admin.php

* Fix capitalization in encoding support warning

* Update German Translation of conf.php

* Update German translations for feedback messages

* Update German translations in index.php

* Update German translations in install.php

* Update German translations in sub.php

* Fix German translations for email validation messages

* make fix-all

* Update ZIP extension message in German translation

* make fix-all

* Update app/i18n/de/conf.php

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

* Update app/i18n/de/admin.php

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

* Update app/i18n/de/conf.php

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

* Global replace of Twitter → X (Twitter)

* Also ignore Twitter in German

* Update sensitive parameter description in German

* Ungelesene Artikel

* fix typo

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
2026-03-11 17:52:44 +01:00
Gabbi
ae041d8389 Update database title translation to Italian (#8566)
* Update database title translation to Italian

* Update app/i18n/it/install.php

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-03-09 10:35:49 +01:00
Daniel
366a5d0a15 i18n: complete Spanish translation (100%) (#8572)
* i18n: complete Spanish translation (100%)

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-03-06 16:38:36 +01:00
Gabbi
989910f8e0 Translate database connection messages to Italian (#8554)
* Translate database connection messages to Italian

Added missing Italian translations to FreshRSS/app/i18n/it/install.php

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-03-03 15:42:20 +01:00
rid3r45
3e4d5bb041 Add option to hide sidebar by default (#8515) (#8528)
* Add option to hide sidebar by default (#8515)

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

Changes proposed in this pull request:

- Add `sidebar_hidden_by_default` user preference (default: `false`)
- Add a checkbox in the Display settings page to toggle this preference
- Hide the sidebar on page load in `normal` and `reader` views when the preference is enabled and no session state exists
- Add English translation key; mark all other languages as `TODO` for translators

How to test the feature manually:

1. Go to Settings → Display, tick "Hide sidebar by default", save
2. Go back to the main view (normal or reader): the sidebar should be hidden on load
3. Toggle the sidebar manually — it should open/stay open for the rest of the session
4. Open a new tab: the sidebar should be hidden again
5. Go to Settings → Display, untick the option, save: the sidebar should now be visible on load as usual
6. Check that the sidebar is always visible on Settings pages regardless of the preference

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: PR comment

* Update app/i18n/pl/conf.php

* i18n: fr

* make fix-all

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Inverle <inverle@proton.me>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-03-02 13:32:10 +01:00
Christian Weiske
560b772e43 Re-add database status in installation check (#8510)
* Re-add database status in installation check

It got disabled in 2014 to get a beta out.
Time to re-enable it.

Tested on SQLite.

"checkTable" now only verifies that at least the expected columns
exist, but does not fail on additional columns provided by
e.g. extensions.

Related: https://github.com/FreshRSS/FreshRSS/issues/678

* make fix-all

* i18n

* Simpler and more correct content_bin

* Fix PostgreSQL

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-03-02 12:43:35 +01:00
Inverle
63c8fe1285 docs: Fix broken or dead links (#8548)
* docs: Fix broken or dead links
Used the following commands to find broken links:
1. `lychee -E --dump https://freshrss.github.io/FreshRSS/en/ --include freshrss.github.io --output links.txt`
2. `lychee -v --suggest --archive wayback --timeout 5 -u "Mozilla/5.0 (X11; Linux x86_64; rv:148.0) Gecko/20100101 Firefox/148.0" --files-from links.txt --output output.txt`
3. `cat output.txt`

Then did the same for https://freshrss.github.io/FreshRSS/fr/

We could look into using lychee in CI:
https://github.com/lycheeverse/lychee?tab=readme-ov-file#github-action-usage

* Replace PostgreSQL 16 link with current version

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

* Remove paragraph about bug message format

* Update README with official app website links

* Replace broken French images with English versions

* Fix broken Fever API docs link in French docs

* Replace GNU Social link with new one in `shares.php`

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-03-02 08:21:23 +01:00
Inverle
6f8633762f i18n: pl (#8536) 2026-02-28 19:37:15 +01:00
Alessandro Pisa
630f4cb36f Complete Italian translations (#8517)
* Complete Italian translations

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-02-22 00:11:37 +01:00
Martin Riedel
d7848e9fd6 Translation of several german phrases. (#8491)
* Translate notification enable message to German

* Translate English phrases to German in admin.php

* Translate UI strings to German

Translated various UI strings from English to German.

* Update German translations in index.php

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-02-05 12:28:56 +01:00
PeterVavercak
ee7eb67f3c Implement sort order per feed (#8234)
* added local feed sorting

Addresses https://github.com/FreshRSS/FreshRSS/issues/4761

- Added number of sorted feeds and associative array for feed sorting option in Context.
- Number of sorted feeds and local sorting option by its index saved into Minz Request Parameters.
- Number of sorted feeds and local sorting options deleted when choosing another Option Of Global Sorting.
- Added option of allowing sorting by feed in configuration.
- Added variable for allowing local sorting in userConf.
- Added function to get feeds by current get in context.
- Added menu button for all individual feed sorting.
- New database options for individual feed sorting in EntryDAO.
- Considered choosing new entries based on chosen load limit.
- Local sorting parameter saved into continuation value in Index Controller.

How to test the feature manually:

1. At the bottom of Reading Configuration menu turn on individual sorting option menu 
2. Choose Sorting by feed option
3. Choose feed at next sorting menu and choose sorting option for that feed

* added feed sorting option

* added sort feeds display

* added template for sort feed name

* added title to feed sorting button

* added comments

* added local sorting option

* Added Docs

* css reset

* added getter and seter for local sort

* added getter and seter for local sort

* allowed sorting per feed

* allowed sorting per feed

* added sorting option for category

* deleted changes from NetryDAO

* add setting up sorting for category

* docs reset

* i18 reset

* updated i18 for category

* added i18 for categories

* added i18 for category

* added setting sorting for feeds and category

* removing userConf.allow-local-sort

* removing userConf.allow-local-sort

* removing white space

* added credits

* removed feeds_by_get

* removed whitespace

* changed escaping for values

* added escaping to user set values

* added in_array

* added secondary sort and order

* added secondary sort and order

* fixed readme

* removed whitespace change

* reseted i18n

* added translations

* added feed setting translations

* fixed i18n

* fixed i18n

* changes in sort order per feed

* changes in sort order per feed

* added secondary sort order

* primary sort

* changed to preferred sort order

* i18n

* Revert wrong whitespace changes

* Re-order new options

* added blank option

* fixed escaping

* fixed default sort in feed

* fixed default sort recovery

* siplyfied option

* added rand option

* Revert unrelated change

* Minor plaintext

* Whitespace and formatting fixes

* Avoid unneeded SQL requests and processing

* Improve syntax

* Improve logic

* Reuse existing translations as much as possible

* i18n

* Remove some options that make little sense

* Separators

* Fix old transation key

* Add help messages

* Progress on secondary sort

* raw name

* Pass parameters. Add TODO

* Progress

* Minor ordering

* Fix parenthesis

---------

Co-authored-by: root <root@LAPTOP-C8TCHHPN.localdomain>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-02-01 13:12:47 +01:00
Alexandre Alapetite
5beebfcd45 Initial conventions for AI agents and humans: AGENTS.md, SKILLS.md, instructions.md (#8478)
Not stable yet, but initial structure
https://agents.md
https://agentskills.io/specification
https://code.visualstudio.com/docs/copilot/customization/custom-instructions
https://code.visualstudio.com/docs/copilot/customization/agent-skills
2026-02-01 13:06:53 +01:00
rupak
b59a2101b4 Add option to enable notifications (#8458)
Closes https://github.com/FreshRSS/FreshRSS/issues/7330

- Default behavior is same
- Added FreshRSS_Context::userConf()->html5_disable_notif so that, it determines weather user wants notification. (will not show any even it has permission) (i want default false so disable, so old configs get proper default values)
- Added button such that checking it makes it request permission too 
<img width="707" height="119" alt="image" src="https://github.com/user-attachments/assets/a0fdbc4d-9f15-4644-8753-f0e6c979677f" />

- test notification actually happening (how can i trigger it, do i have to wait it), this code fixes permissions.
2026-01-29 21:34:35 +01:00
Martín González Gómez
2b53203e88 Update Spanish translation (#8464)
* Update Spanish translation

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-01-25 00:25:05 +01:00
junkfood
9942a40c59 Update the support status of ReadYou in readme (#7729)
* Update README.md

* Update, i18n:fr

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-01-24 18:20:14 +01:00
rupak
85f14f92fd Message for closed registration (#8462)
* Add closed msg field

i18n

fix

* Display based on registration type

* Save as FreshRSS_Context::systemConf()->closed_registration_message instead

* Improve messages

* Revert unrelated changes

* make fix-all

* Minor whitespace

* Simplify logic

* Fix invalid use of empty() and sympler syntax

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-01-24 15:31:43 +01:00
Eve Coull
cb3ea90490 Mark Capy Reader podcast support as true (#8444)
* Update README.md

Capy Reader has added podcast support under their Experimental section of the General settings. As such, I'm setting it as supported in the app table, along with a link to its GitHub discussion showing how to enable it.

- Changed Capy Reader podcast support to True, with link to GitHub discussion

* Readme.fr

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-01-24 15:29:13 +01:00
Ciro Mota
0a4dc87f0f feat(i18n): Added missing translations and fix others (#8411)
* feat(i18n): Added missing translations and fix others

* feat(i18n): Fix #8401 proposed

* IGNORE

* make fix-all

* feat(i18n): Fix missing TODO

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-01-07 09:01:19 +01:00
Inverle
a044120ecf Update Polish translation (#8408) 2026-01-05 22:06:47 +01:00
Frans de Jonge
8cac68a394 Update Dutch translation (#8403)
* Dutch translation

Fixes #8401 for Dutch, plus a few other things.

* todo

* more todo

* more todo

* pdo

* more todo

* gen.php todo

* index.php todo

* update readme
2026-01-05 22:03:52 +01:00
S. Neuhaus
66a3272cfe Fix german translation (#8402)
* fix german translation issues

* Update translation for 'unread' in German

* Update translation for 'unread' in German

* add TODO items in German translation

* make fix-all

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-01-05 22:02:09 +01:00
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