Commit Graph

3083 Commits

Author SHA1 Message Date
maTh
c308a975e0 i18n: german (#7068)
* part1

* Update sub.php
2024-12-08 16:20:01 +01:00
UserRoot-Luca
bea829c512 i18n: Italian (#7069)
* i18n: Italian

Italian translation

* Update app/i18n/it/conf.php

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

* Update app/i18n/it/sub.php

* Update

* Update app/i18n/it/sub.php

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

* Update app/i18n/it/sub.php

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

* Update app/i18n/it/sub.php

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

* Update

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-12-06 14:59:24 +01:00
Alexandre Alapetite
7fa4344c8b Fix invalid login message (#7066)
fix https://github.com/FreshRSS/FreshRSS/issues/7061
2024-12-05 21:04:42 +01:00
Alexandre Alapetite
b5bf5760bf Avoid Unicode escape of authors in HTML UI (#7056)
fix https://github.com/FreshRSS/FreshRSS/issues/2770
2024-12-05 16:20:15 +01:00
Alexandre Alapetite
3b15f8a5c9 Parentheses in quoted search (#7055)
* Parentheses in quoted search
Allow parentheses in quoted search like `author:"Bob (Team1)"`
Related to https://github.com/FreshRSS/FreshRSS/pull/7054

* Doc
2024-12-05 16:19:57 +01:00
Alexandre Alapetite
8464203735 Rework UI authors (#7054)
Add separators, and mutualise code
fix https://github.com/FreshRSS/FreshRSS/issues/7032
2024-12-05 16:19:27 +01:00
Alexandre Alapetite
5701598eda Revert "Implement showing and hiding header depending on scroll (#7029)" (#7064)
This reverts commit be9b6c7290.
https://github.com/FreshRSS/FreshRSS/pull/7029
2024-12-05 13:16:40 +01:00
maTh
79651b942d improve api management (#7048)
* ... and sharing user queries by link (not all languages)

* Profile page: API mgm: better headline, better help text

* i18n

* i18n: " and sharing user queries"

* i18n: link to documentation + apps list

* Update app/i18n/it/conf.php

* Update app/i18n/it/conf.php

* Update app/i18n/it/conf.php

* Update app/i18n/it/conf.php

* Update app/i18n/it/conf.php

* Update app/i18n/it/conf.php

* Update app/i18n/it/conf.php

* Update app/i18n/it/admin.php

Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com>

* Update app/i18n/it/conf.php

* Update app/i18n/fr/admin.php

* i18n

* French doc cf. English

* Update app/i18n/it/conf.php

Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com>

* Update conf.php

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com>
2024-12-04 22:41:08 +01:00
killerog
b6f3bbe185 #4870 opml category text field (#7053)
* Added OPML import field description

* Update CREDITS.md

Almost forgot to add myself to the credits

* make fix-all

* i18n:fr

---------

Co-authored-by: Rogier Schoenmaker <rogier@spreadit.nl>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-12-04 22:31:18 +01:00
Frans de Jonge
be9b6c7290 Implement showing and hiding header depending on scroll (#7029)
* Implement showing and hiding header depending on scroll

References #7011.

* header.phtml: adjust indentation

* minor efficiency improvement

* Update p/scripts/main.js

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

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-12-04 22:30:04 +01:00
Alexandre Alapetite
594ef04df2 Fallback to GUID if article link is empty (#7051)
* Fallback to GUID is entry link is empty
fix https://github.com/FreshRSS/FreshRSS/issues/7050

* FILTER_NULL_ON_FAILURE
2024-12-03 14:06:14 +01:00
Alexandre Alapetite
7b1563696e i18n: "still reachable" (#7049)
* i18n: "still reachable"
fix wording
https://github.com/FreshRSS/FreshRSS/pull/7030#discussion_r1866650296
and address risk of confusion
https://github.com/FreshRSS/FreshRSS/issues/7025#issuecomment-2509400455

* Fix English

* Rewording

* Update app/i18n/nl/sub.php

Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>

---------

Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
2024-12-03 13:01:06 +01:00
Alexandre Alapetite
2c7e5b829f New button to delete errored feeds from a category (#7030)
* New button to delete errored feeds from a category
fix https://github.com/FreshRSS/FreshRSS/issues/7025
fix https://github.com/FreshRSS/FreshRSS/issues/7026

* Remove English TODO

* in error state

* Feeds with errors
2024-12-03 12:59:45 +01:00
Alexandre Alapetite
d89563ab40 Fix CSS selector for removing elements (#7037)
fix https://github.com/FreshRSS/FreshRSS/issues/7014
Case of negative filter matching the positive filter
2024-11-30 21:17:45 +01:00
maTh
a41aadf02a article footer small display (#7031) 2024-11-30 12:53:14 +01:00
Luc SANCHEZ
15745d42b7 Upgrade code to php 8.1 (#6748)
* revert
Fix code indentation
Fix code

Upgrade code to php 8.1

* fix remarques

* code review

* code review

* code review

* Apply suggestions from code review

* code review

* Fixes

* Many remainging updates of array syntax

* Lost case 'reading-list'

* Uneeded PHPDoc

---------

Co-authored-by: Luc Sanchez <l.sanchez-prestataire@alptis.fr>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-11-28 17:11:04 +01:00
Alexandre Alapetite
3d8dd6e1fa Fix tag ID uniqueness (#6990)
* Fix tag ID uniqueness
fix https://github.com/FreshRSS/FreshRSS/pull/6052#discussion_r1837266309

* Update app/views/helpers/index/tags.phtml

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

---------

Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com>
2024-11-25 09:17:17 +01:00
Alexandre Alapetite
278181572e Add extension hook simplepie_after_init (#7007)
* Add extension hook simplepie_after_init
fix https://github.com/FreshRSS/FreshRSS/issues/7006

* Add documentation note

* fix doc get_headers

* Syntax void

* Forgotten code
2024-11-21 08:22:13 +01:00
Alexandre Alapetite
0f4bcdad9b Fix HTML pattern in install (#7009)
Slashes now need to be escaped because of `v` mode:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Character_class#v-mode_character_class

https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern#overview

Edge:
> Pattern attribute value [0-9A-Z/a-z_.\-]{1,64}(:[0-9]{2,5})? is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: /[0-9A-Z/a-z_.\-]{1,64}(:[0-9]{2,5})?/v: Invalid character in character class

Firefox:
> Impossible de vérifier <input pattern='[0-9A-Z/a-z_.\-]{1,64}(:[0-9]{2,5})?'> car « /[0-9A-Z/a-z_.\-]{1,64}(:[0-9]{2,5})?/v » n’est pas une expression régulière valide : invalid character in class in regular expression
2024-11-19 23:05:09 +01:00
Andriy Utkin
966f211202 Avoid race condition in users' homedir creation (#7000) 2024-11-18 10:57:50 +01:00
maTh
5b9248f45f New: Label menu in article row (#6984)
* configs

* add the icon in the entry header line

* rename comment

* Update main.js

* CSS

* comment typo fix

* fix gloabl view my labels menu

* improved: my labels dropdown with triangle now. yay!
2024-11-15 09:14:23 +01:00
Alexandre Alapetite
916987717e Fix redirect create user (#6995)
fix https://github.com/FreshRSS/FreshRSS/issues/6994
2024-11-14 00:15:39 +01:00
Olexandr Shaposhnyk
846e19afde [Feature] 6975: Redirect to shortcut page on pressing '?' (#6981)
* [Feature] 6975: Redirect to shortcut page on pressing '?'

* [Feature] 6975: Redirect to shortcut page on pressing '?'

* Simplify code

* Re-order for performance

* Remove shift key

---------

Co-authored-by: Olexandr Shaposhnyk <oshaposhnyk@intelliboard.net>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-11-13 13:00:39 +01:00
Alexandre Alapetite
df28324c34 Fix regex search for tags (#6972)
https://github.com/FreshRSS/FreshRSS/issues/6949#issuecomment-2452363378
2024-11-02 01:02:12 +01:00
maTh
0735c9f70c Fixed: article footer dropdowns (my labels, article tags, sharing) (#6959)
* fix dropdown triangle in mobile view

* Nord theme

* mobile view: width improved. Each theme can decide about border-radius

* Ansum/Mapco theme

* fix pink dark theme: label icon in pink now too

* my labels: line breaks improved

* article tags: headline added
2024-11-01 16:32:04 +01:00
Patrick Hyatt
df86cbb361 Rebuild Feed .ico and .txt on cache clear (#6961)
* - Modify Feed.faviconPrepare signature to allow forced retrieval of the favicon   - Add faviconRebuild which clears file cache and re-retrieves icons   - Call faviconRebuild when clearCache is fired

* Update app/Models/Feed.php

* - PHPStan fix : Use static method call vs dynamic

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-11-01 16:22:54 +01:00
Ramazan Sancar
643a31558c upd: Turkish translations have been completed. Changes have been made to words in previous translations. (#6960)
* upd: Update Turkish translation

* upd: "Ramazan Sancar" was added to Credits.md.

* upd: Turkish translations have been completed. Changes have been made to words in previous translations.
upd: fixed ellipsis usage.

* Update app/i18n/tr/gen.php

* add: Turkish translations have been made for Core Extensions (User CSS, UserJS).

* Update app/i18n/tr/sub.php

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

* Update app/i18n/tr/sub.php

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

* Update app/i18n/tr/sub.php

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

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-11-01 10:42:28 +01:00
Minna N.
66cedacfec Translation Finnish (#6954)
* Add Finnish translation

* Add missing translations

* Fixes

---------

Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-10-30 22:12:11 +01:00
Alexandre Alapetite
493b8d5ce2 Fix regex parentheses of referenced search (#6950)
fix https://github.com/FreshRSS/FreshRSS/issues/6949
2024-10-29 08:12:30 +01:00
Alexandre Alapetite
6c58b90518 Fix regex for references to user queries (#6936)
https://github.com/FreshRSS/FreshRSS/pull/6926#issuecomment-2432712495
2024-10-24 22:34:29 +02:00
Alexandre Alapetite
7a5ce0fe20 Web export SQLite (#6931)
* Web export  SQLite
https://github.com/FreshRSS/FreshRSS/discussions/6930

* Implement download

* Fix operator precedence

* Set Last-Modified

* Sort by time, newest first

* Fix Last-Modified

* Use DateTimeInterface::RFC7231

* Add not_applicable message
2024-10-23 21:55:52 +02:00
Alexandre Alapetite
60dd22d3b3 Allow regex parentheses (#6926)
* Allow regex parentheses
While waiting for a new better search parser, auto-escape parentheses in regex expressions to allow them like in `/^(ab|cd)/`

* Allow escaped parenthesis in regex

* A couple more tests
2024-10-22 16:00:07 +02:00
Alexandre Alapetite
aea9ba0d62 New option mark article as read if identical title in category (#6922)
* New mark articles as read if identical title in category
fix https://github.com/FreshRSS/FreshRSS/issues/6143

* i18n todo forgotten
2024-10-21 13:41:16 +02:00
Alexis Degrugillier
ad2c6e6fbf Add privacy settings on extension list retrieval (#4603)
* Add privacy settings on extension list retrieval

There is a new privacy page to handle all configuration related to privacy. At
the moment, only privacy related to extensions can be configured.

The new settings allow to change the location of the extension list file and to
choose if the selected file is cached for a day or retrieved for each request.

Fix #4570

* Update code to pass PHPStan

* make fix-all

---------

Co-authored-by: maTh <math-home@web.de>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-10-20 20:51:49 +02:00
Alexandre Alapetite
a766ebfb68 Prepare options for category-level filter actions (#6920)
* Prepare options for category-level filter actions
Slightly move some options and add some help messages
Contributes to https://github.com/FreshRSS/FreshRSS/issues/6866
Prepare https://github.com/FreshRSS/FreshRSS/issues/6143

* Remove redudant help
Text changed by https://github.com/FreshRSS/FreshRSS/pull/6922 to be more precise
2024-10-19 19:24:29 +02:00
Mike
24a4fcb5c3 Add move to next unread Label on mark as read. (#6886)
* Add move to next unread Label on mark as read.

The Labels, unlike the Feeds and Categories, don't move to the next
unread when "move to next unread on mark all as read" user feature is
enabled.
Labels are more complex than Feeds and Categories because Entries can be
in more than Label at a time. So when marking all Entries in the Label
as read, it can cause other Labels to end up with all their Entries
marked as read as well. The calculation of what the next
Label/Feed/Category is to jump to normally happens when generating the
link for the "Mark as Read" buttons, but it can't for Labels.

To address the problem for Labels, use a placeholder value during the
pre-calculation of the "Mark as Read" button link. When that placeholder
value is encountered during the "Mark as Read" action, the next Label
with unread Entries will be calculated immediately after the mark as
read action has been processed.

Fix all the translations of the 'jump_next' text to remove the '(feed or
categories' part that no longer applies.
Attempt to fix the inconsistent Russian, Italian, and Polish
translations of 'jump_next' text, which phrased the '(feed or
categories)' part differently.

* Minor code formattting

* Fixes

* Optimize next label lookup.

Only get the tag list once, and actually error check that it returned successfully.
Fix a typo in a comment as well.

* Fix fallback when all Labels are read.

Fix the missing check for whether we're in the fallback case or not.

* Update app/i18n/ru/conf.php

* Update app/Controllers/entryController.php

* Minor changes

* One more minor

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-10-17 10:38:25 +02:00
Alexandre Alapetite
d9a82e6b9e Use HTML5 hidden (#6910)
https://html.spec.whatwg.org/multipage/interaction.html#the-hidden-attribute
Remove remains of `aria-hidden` mostly not used anymore in our logic.
fix https://github.com/FreshRSS/FreshRSS/issues/6909
2024-10-17 09:00:08 +02:00
Miguel Lares
e04f0b3493 i18n es Added missing translations (#6908) 2024-10-16 09:52:40 +02:00
Alexandre Alapetite
f77b45656d Fix add feed with MariaDB / MySQL (#6900)
* Fix add feed with MariaDB / MySQL
fix https://github.com/FreshRSS/FreshRSS/issues/6897
Regression from https://github.com/FreshRSS/FreshRSS/pull/4487

* Type fix
2024-10-15 17:14:50 +02:00
Alexandre Alapetite
b552d9f4bc Fix PHPCS ControlSignature (#6896)
Regression from https://github.com/FreshRSS/FreshRSS/pull/6666
We were not checking anymore for whitespace rules in e.g. `if (true) {`
2024-10-15 10:56:33 +02:00
Alexandre Alapetite
df763eb8b3 Add hook entries_favorite (#6880)
Called when entries are starred or unstarred
2024-10-14 09:35:41 +02:00
Alexandre Alapetite
256dcc21bb New unicity policies for feeds with bad GUIDs (#4487)
New set of unicity criteria options.

New tolerance heuristic:

> `$invalidGuidsTolerance` (default 0.05) The maximum ratio (rounded) of invalid GUIDs to tolerate before degrading the unicity criteria.
> Example for 0.05 (5% rounded): tolerate 0 invalid GUIDs for up to 9 articles, 1 for 10, 2 for 30, 3 for 50, 4 for 70, 5 for 90, 6 for 110, etc.
> The default value of 5% rounded was chosen to allow 1 invalid GUID for feeds of 10 articles, which is a frequently observed amount of articles.
2024-10-14 09:34:16 +02:00
Miguel Lares
40c4d798f0 Added missing Spanish translations (#6894)
* Added missing translations

* Update app/i18n/es/conf.php

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2024-10-14 09:30:24 +02:00
Alexandre Alapetite
ccb132523a New feed mode: HTML + XPath + JSON dot notation (JSON in HTML) (#6888)
* New feed mode: HTML + XPath + JSON dot notation (JSON in HTML)
Same as `JSON+DotNotation` but first extracting the JSON string from an HTML document thanks to an XPath expression.
Example: `//script[@type='application/json']`
fix https://github.com/FreshRSS/FreshRSS/discussions/6876

* JavaScript UI to show/hide new field

* Casing xPathToJson

* Slight renaming
2024-10-13 15:28:45 +02:00
Alexandre Alapetite
91624037c7 Apache protect more non-public folders and files (#6881)
* Apache protect more non-public folders

* Also protect root

* Do the same for /p/

* Simplify Require all denied
In case of Apache 2.2, it will just make an error 500 instead of 403

* .htaccess.dist

* Simplify

* Better comment
2024-10-11 09:25:43 +02:00
Andrea Draghetti
b30a8fa652 Update Translation (#6872) 2024-10-08 11:17:26 +02:00
maTh
ca7221e885 refactor labels article menu (#6864)
* refactor labels menu with template

* reduce network traffic
2024-10-05 16:23:21 +02:00
Alexandre Alapetite
2d0897ea74 Allow dynamic search operator in user queries (#6851)
* Allow dynamic search operator in user queries
fix https://github.com/FreshRSS/FreshRSS/issues/6849

* Other approach
2024-10-02 08:20:15 +02:00
maTh
2489b6259a fix regression user query page (#6859) 2024-10-01 21:42:43 +02:00
maTh
925d6ee666 improved: 'My Labels' field be searchable (#6753)
* datalist-labels

* Update main.js
2024-10-01 13:34:50 +02:00