| Age | Commit message (Collapse) | Author |
|
#fix https://github.com/FreshRSS/FreshRSS/issues/5156
|
|
* XML+XPath
#fix https://github.com/FreshRSS/FreshRSS/issues/5075
Implementation allowing to take an XML document as input using an XML parser (instead of an HTML parser for HTML+XPath)
* Remove noise from another PR
* Better MIME for XML
* And add glob *.xml for cache cleaning
* Minor syntax
* Add glob json for clean cache
|
|
* code improvement for phpstan and humans ;)
* code improvement for phpstan and humans ;)
* code improvement for phpstan and humans ;)
* code improvement for phpstan and humans ;)
* PHPSTAN level 6
* PHPStan level 9
* Avoid return mixed
---------
Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* More robust application of access permissions
We were in particular missing directory traversal `+X` in our current recommendations.
Extracted to own shell script so it can easily be invoked.
Update access permissions in Docker to account to be more robust.
#fix https://github.com/FreshRSS/FreshRSS/discussions/5037
* Minor simplification
* Restrict mkdir permissions
Default mkdir permissions are 0777, which is not good for security, so downgrade to 0770.
|
|
* Type hinting and doc
* fix cs
* Remove declare strict
* Remove declare strict
* Pass PHPStan level 9
Revert too boolean syntax
* Minor wording
* Fix revert typo
---------
Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
And app/FreshRSS.php
Contributes to https://github.com/FreshRSS/FreshRSS/issues/4112
|
|
* Fix types hint in UserQuery.php
In particular, we had a mix of strings and integers for the query state
Pass PHPStan level 9
* Unneeded null check
|
|
Fix 3 related error handling when updating the feed URL with an invalid URL. Previously leading to unclear 500 page with additional PHP errors.
|
|
* Increase max feed URL length and drop unicity
#fix https://github.com/FreshRSS/FreshRSS/issues/4338
Drop the unicity constraint on our feed URL. In practice, this did not add much value as identical feeds could have different URLs. And it generated several problems, for instance during renaming or automatic redirections such as from HTTP to HTTPS, with collisions for which we dot not have any elegant handling.
I have kept a high limit of 32768 because cURL does not seem to have any limit except memory, which might lead to memory problems. This is the highest server-side value reported by https://www.sistrix.com/ask-sistrix/technical-seo/site-structure/url-length-how-long-can-a-url-be
* Same for Web site URL
For consistency
|
|
* Safer timezone set
Add missing tzdata in Docker :newest
Fallback to UTC if no timezone is defined at all
#fix https://github.com/FreshRSS/FreshRSS/pull/4906#issuecomment-1386747169
* Better refactoring
Show fallback timezone everywhere
|
|
* fix: Fix undefined GLOB_BRACE on Alpine
The manual states that:
> Note: The GLOB_BRACE flag is not available on some non GNU systems,
> like Solaris or Alpine Linux.
This generated an error on Alpine.
Reference: https://www.php.net/manual/function.glob.php
* fix: List details of feeds for OPML exportation
The details are necessary to export the XPath information, the CSS full
content path and read actions filters.
* Update LibOpml to 0.4.0
* Refactor OPML importation to be more robust
First, it fixes two regressions introduced by the update of lib_opml:
- title attribute is used when text attribute is missing;
- the OPML category attribute is used as a fallback for feeds categories.
In a related way, if also fixes a problem when a feed had both a parent
category outline and a category attribute. Before, it only considered the
attribute as its category, but now it considers the parent outline.
Then, it counts category limit correctly by not increasing
`$nb_categories` if the category already exists.
* Exclude lib_opml from the CodeSniffer
* Fix variable names when logging some errors
* Fix catch of LibOpml Exception
* Make sure to declare the category
* Exclude lib_opml from PHPStan analyze
* Disable markdownlint for lib_opml
* Fix typos
* Use auto-loading and allow updates via Composer
* Fix broken links to lib_opml
* Bring back the ability to import the OPML frss:opmlUrl attribute
* Refactor the logs of OPML errors
* Update lib_opml to the version 0.5.0
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
Related to https://github.com/FreshRSS/FreshRSS/pull/4991
Required a few changes in code to pass the tests
|
|
#fix https://github.com/FreshRSS/FreshRSS/issues/4987
|
|
* first draft
* fix: theme slider: properties box
* improved colors
* option to enable/disable dark mode
* fixes
* Update app/i18n/fr/conf.php
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* i18n english improved
* fix dark background color for favorites + hover colors
* select list: no, auto
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* Better enclosures
#fix https://github.com/FreshRSS/FreshRSS/issues/4702
Improvement of https://github.com/FreshRSS/FreshRSS/pull/2898
* A few fixes
* Better enclosure titles
* Improve thumbnails
* Implement thumbnail for HTML+XPath
* Avoid duplicate enclosures
#fix https://github.com/FreshRSS/FreshRSS/issues/1668
* Fix regex
* Add basic support for media:credit
And use <figure> for enclosures
* Fix link encoding + simplify code
* Fix some SimplePie bugs
Encoding errors in enclosure links
* Remove debugging syslog
* Remove debugging syslog
* SimplePie fix multiple RSS2 enclosures
#fix https://github.com/FreshRSS/FreshRSS/issues/4974
* Improve thumbnails
* Performance with yield
Avoid generating all enclosures if not used
* API keep providing enclosures inside content
Clients are typically not showing the enclosures to the users (tested with News+, FeedMe, Readrops, Fluent Reader Lite)
* Lint
* Fix API output enclosure
* Fix API content strcut
* API tolerate enclosures without a type
|
|
* User-defined time zone
#fix https://github.com/FreshRSS/FreshRSS/issues/2754
* Update app/i18n/nl/conf.php
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Timezone when creating a new user
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
|
|
* delete bookmark.svg
* optimize Pafat theme
|
|
* Better restrict tag search
#fix https://github.com/FreshRSS/FreshRSS/issues/4877
Search only on full tag names and not on parts of tag names
* Better whitespace handling
|
|
* HTML+XPath allow content as HTML
#fix https://github.com/FreshRSS/FreshRSS/issues/4869
* Wrong variable reuse
* Allow both HTML and expressions
|
|
Before, the feeds were not ordered every time there was a change in the category
feed list. This behavior was causing discrepancies in the displayed list.
Now, the feeds are ordered every time there is a change in the category feed list.
See #4790
|
|
Fix regressions from https://github.com/FreshRSS/FreshRSS/pull/4561
Example:
```
PHP Fatal error: Uncaught TypeError: Argument 1 passed to checkToken() must be an instance of FreshRSS_UserConfiguration, instance of Minz_Configuration given, called in /var/www/FreshRSS/p/api/greader.php on line 1091 and defined in /var/www/FreshRSS/p/api/greader.php:223
Stack trace:
#0 /var/www/FreshRSS/p/api/greader.php(1091): checkToken()
#1 {main}
thrown in /var/www/FreshRSS/p/api/greader.php on line 223
```
Improvement of https://github.com/FreshRSS/FreshRSS/pull/4110
|
|
* Typing function checkToken
* Typing function and rename
Co-authored-by: Luc SANCHEZ <luc.sanchez@zol.fr>
|
|
* Add visibility
* Tab use
* Update app/Models/Days.php
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
https://github.com/FreshRSS/FreshRSS/issues/4820
Not a root-cause fix though (cannot reproduce so far)
|
|
* Fix path_entries encoding
#fix https://github.com/FreshRSS/FreshRSS/issues/4815
* Fix preview
|
|
* fix
|
|
Improvement of https://github.com/FreshRSS/FreshRSS/pull/4220
|
|
* Add support for custom XPath date/time format
#fix https://github.com/FreshRSS/FreshRSS/issues/4701
Improvement of https://github.com/FreshRSS/FreshRSS/pull/4220
* Format is not XPath
* Remove TODOs in en-GB
|
|
#fix https://github.com/FreshRSS/FreshRSS/issues/4704
From https://github.com/FreshRSS/FreshRSS/pull/4407
|
|
Minor regression from https://github.com/FreshRSS/FreshRSS/pull/4688
|
|
#fix https://github.com/FreshRSS/FreshRSS/issues/4687
|
|
|
|
#fix https://github.com/FreshRSS/FreshRSS/issues/4600
We first need to commit the SQL transaction before being able to auto-update.
Avoid error such as:
> 25P02: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block
|
|
* Workaround invalid OPMLs
#fix https://github.com/FreshRSS/FreshRSS/issues/4590
Accept OPML files lacking text attributes
* Tolerate missing head element
|
|
* API protection limit content size
We had no limit to the length of an article sent through our GReader API to clients, which was a problem:
The article https://devblogs.microsoft.com/dotnet/performance_improvements_in_net_7/
from the feed https://devblogs.microsoft.com/dotnet/feed/
is about 700KB long, which makes some clients (tested with News+) fail.
We should try other clients to verify that 500KB is a safe enough limit.
* Light optimisation
* Use class constant
|
|
While waiting for https://github.com/readrops/Readrops/pull/163
#fix https://github.com/FreshRSS/FreshRSS/issues/4567
|
|
* Fix MariaDB case sensitivity
#fix https://github.com/FreshRSS/FreshRSS/issues/4535
Collation regression from https://github.com/FreshRSS/FreshRSS/pull/4505
* faster
* Minor syntax
* Minor parentheses
|
|
* error page: true HTML page
* error page: http500 erorr
* error page: add CSP header
* 'log.txt' replaced by LOG_FILENAME
* use ADMIN_LOG
* log.txt => LOG_FILENAME
* error message: add <title>
* Docs created
* delete: documentation on error message page
* line break added
* added: new line at the end
* typo fixed
* Update lib/lib_rss.php
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Update lib/lib_rss.php
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Minz HTTP 500
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
Regression from https://github.com/FreshRSS/FreshRSS/pull/4202
> Warning: Declaration of FreshRSS_EntryDAOSQLite::markRead($ids, $is_read = true) should be compatible with FreshRSS_EntryDAO::markRead($ids, bool $is_read = true) in /var/www/FreshRSS/app/Models/EntryDAOSQLite.php on line 3
|
|
* XPath ability to define the UID manually
* Fix error in i18n
|
|
* Easier full-text search possibility
Contributes to https://github.com/FreshRSS/FreshRSS/issues/1331
Avoid concats in searches to make text indexes easier to build
* Fix tests
* Documentation
|
|
* Basic support for negative searches with parentheses
* `!((author:Alice intitle:hello) OR (author:Bob intitle:world))`
* `(author:Alice intitle:hello) !(author:Bob intitle:world)`
* `!(S:1 OR S:2)`
* Minor documentation / comment
* Remove syslog debug line
|
|
* Update feedController.php
* Update subscriptionController.php
* Update DatabaseDAO.php
* Update Entry.php
* Update Feed.php
* Update FeedDAO.php
* Update install.sql.mysql.php
* Update install.sql.pgsql.php
* Update install.sql.sqlite.php
* Update sub.php
* Update opml.phtml
* Update ImportService.php
* Update update.phtml
* Update feed.js
* Update install.sql.mysql.php
* Update install.sql.pgsql.php
* Update install.sql.sqlite.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update sub.php
* Update FeedDAO.php
* Update feedController.php
* Update subscriptionController.php
* Update Entry.php
* Update Feed.php
* Update feedController.php
* Update subscriptionController.php
* Update ImportService.php
* Update opml.phtml
* Update update.phtml
* Update update.phtml
* Update update.phtml
* Update DatabaseDAO.php
* Update app/Models/Entry.php
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Update app/i18n/fr/sub.php
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Update p/scripts/feed.js
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Update app/Controllers/feedController.php
* make fix-all
* Update documentation
* css_path_filter help message
* i18n en-us ignore
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* Get content by parsing: fix base for protocol-relative URLs
* Guess missing URL scheme for base
* Light refactoring
|
|
So that it is both cleaner and easier to call from other controllers and extensions
|
|
* Refactor entry to GReader API format
Some code was copied in two locations and not completely uniform.
Cleaning of related variables and functions (e.g. better types for entries and categories as objects vs. as IDs).
Usecase: I need to call the same GReader-compatible serialization from an extension
* Fixed some edge cases
* Keep summary instead of content
`summary` and `content` seems to be used interchangeably in the Google Reader API. We have been using `summary` for our client API and `content` in our export/import, so stick to that.
|
|
* Add database field attributes for entries
Just like we already have for categories, feeds, etc.
No core use yet, but allows in particular extensions to save per-entry data
* Fix PHPStand
* Fix wrong variable
|
|
* First draft for normal view
* Revert changes on the entry header
* Update normal.phtml
* Update normal.phtml
* RTL CSS
* CSS fixes
* Better tags style
* fix
* Update swage.scss
* fix
* Update swage.scss
* fixed .content header
* font-size in rem
* improved template
* dropdown menu if more than 7 tags
* configuration: show tags in topline
* Simplify loop logic
* Minor space
* config tags via reading (i18n still missed)
* fixed the whitespaces
* optimizations
* optimize header+footer
* Update normal.phtml
* fix css
* new config: show author+date in footer
* config feed name display
* improve HTML
* fix whitespaces
* i18n
* i18n: German translations
* fix i18n German
* fixed: uncouple from bottomline config
* reverted: tobline_tags
* equalities
* fixed: author in footer
* fixed data-leave-validation
* improved max numbers i18n label
* Config works now also in the reader view
* fix: footer border
* reader view: style article-header-topline
* fixed whitespace
* i18n fr
* Minor i18n fr
* Fix mistake i18n fr
* i18n fr more precise expression
* Fix JavaScript
* removed the link icon in the title
* clean CSS
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* Dynamic OPML draft
#fix https://github.com/FreshRSS/FreshRSS/issues/4191
* Export dynamic OPML
http://opml.org/spec2.opml#1629043127000
* Restart with simpler approach
* Minor revert
* Export dynamic OPML also for single feeds
* Special category type for importing dynamic OPML
* Parameter for excludeMutedFeeds
* Details
* More draft
* i18n
* Fix update
* Draft manual import working
* Working manual refresh
* Draft automatic update
* Working Web refresh + fixes
* Import/export dynamic OPML settings
* Annoying numerous lines in SQL logs
* Fix minor JavaScript error
* Fix auto adding new columns
* Add require
* Add missing 🗲
* Missing space
* Disable adding new feeds to dynamic categories
* Link from import
* i18n typo
* Improve theme icon function
* Fix pink-dark
|
|
* 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
|