| Age | Commit message (Collapse) | Author |
|
Fix some wrong variables found by https://github.com/FreshRSS/FreshRSS/issues/4016
|
|
Take advantage of PHP7+ null-coalescing operator `??` to make code more standard, shorter, and faster instead of custom function with no extra functionality.
Allows code to be better tested and fix two PHPstan errors:
```
------ -----------------------------------------
Line app/Controllers/configureController.php
------ -----------------------------------------
410 Cannot unset offset 'rid' on string.
------ -----------------------------------------
------ ------------------------------------
Line lib/Minz/FrontController.php
------ ------------------------------------
70 Cannot unset offset 'c' on string.
71 Cannot unset offset 'a' on string.
------ ------------------------------------
```
https://github.com/FreshRSS/FreshRSS/issues/4016
|
|
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/4012
|
|
* include Chart.js
* page: main statistics. Flotr.js replaced with Chart.js
* main stats + repartition
* Delete: repartition.js + stats.js
* delete flotr2
* add libs in README
* polish
* code polish
* fixed amount of week days and months
* added manget link for LibreJS
* added: @license-end
* phpcbf + jshint formatting
* delete old code
* fix stats
* fix Comments
* finally I found the issue and fixed its best
* fix the month stats
* Whitespace fixes
* Remove flotr2
* Rename to chart.min.js
* Remove console.log
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* Detect enclosure as images using file extension
Support e.g. https://www.sciencesetavenir.fr/atom.xml , which does not include any type hint.
```html
<link rel="enclosure" href="https://example.net/assets/img/ZZZ.jpg" title="YYY"/>
```
Useful for https://github.com/FreshRSS/FreshRSS/pull/3805
* Add AVIF and WebP
|
|
* Re-order some feed options
* Option to auto mark as read existing titles
* Option to keep at max n unread articles per feed
|
|
* header: h1 deleted - full logo included
* template: config - display
* WIP
* shortcut configs. added fieldset. do not display the border by default
* system.phtml
* subscription: add feed or category
* wip
* wip
* Update bookmarklet.phtml
* Update archiving.phtml
* Update queries.phtml
* Update profile.phtml
* Update manage.phtml
* auth+update
* Update template.rtl.css
* fixed FreshRSS logo (Theme: Mapco)
* Update mapco.rtl.css
* Update _layout.scss
* fixed FreshRSS logo (theme: Dark)
* fix: FreshRSS logo (Theme: BlueLagoon)
* fix: FreshRSS logo (Theme: Ansum)
* fixed: FreshRSS logo (Theme: Alternative Dark)
* fix: FreshRSS logo (Theme: Pafat)
* fix: FreshRSS logo (Theme: Screwdriver)
* fix: FreshRSS logo (theme: Swage)
* Minor lint
* little fix: FreshRSS logo (Theme: Origine)
* Fix: FreshRSS logo (Theme: Origine Compact)
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* UI: Add optional thumbnail and summary on feed items
Implements #561
* UI: Thumbnail: Own column, Custom size, Lazy load
* UI: Thumbnail: Remove unnecessary CSS rule
Remove rule already defined in base theme, no override needed
* CSS lint + RTL
* Improve thumbail and summary generation
* Support img alt
* Missing htmlspecialchars
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
Fix error from https://github.com/FreshRSS/FreshRSS/pull/2275 but that line was not used just yet anyway
|
|
* Fallback for feeds with empty title
Address a part of https://github.com/FreshRSS/FreshRSS/issues/3776 for existing feeds
* Also strip www prefix
* Reuse fallback logic
|
|
#fix https://github.com/FreshRSS/FreshRSS/issues/3735
Before, we were relying on an exception during the first stages of user initalisation. Now the check is explicit and cleaner, producing a more appropriate HTTP response for the API.
|
|
* Search labels
#fix https://github.com/FreshRSS/FreshRSS/issues/3704
* Documentation
* Allow list without quotes
* Allow boolean AND searches
* Allow searching any label
* fix labels alias
|
|
Cf. https://github.com/FreshRSS/FreshRSS/pull/3709#issuecomment-885334063
|
|
* Fix array_chunk key index bug
#fix https://github.com/FreshRSS/FreshRSS/issues/3630
We still want array entries indexed sequentially from zero https://php.net/function.array-chunk
* One missing
|
|
Mainly wrong `@return` types in comments
|
|
Follow up of https://github.com/FreshRSS/FreshRSS/pull/3553
|
|
#fix https://github.com/FreshRSS/FreshRSS/issues/3564
Bug introduced by https://github.com/FreshRSS/FreshRSS/pull/3361
|
|
When a feed returns an HTTP 410 Gone, mute the corresponding feed, i.e. stop refreshing it.
Example of such feed, Les Décodeurs (Libération) https://rss.liberation.fr/rss/100893/
|
|
|
|
#fix https://github.com/FreshRSS/FreshRSS/issues/3552
|
|
|
|
* SimplePie prevent cache polution
#fix https://github.com/FreshRSS/FreshRSS/pull/3367#issuecomment-766250249
#fix https://github.com/FreshRSS/FreshRSS/pull/3494#issuecomment-790113663
* Fix bug
* Minor improvement
* Update cache filename in FreshRSS (1/2)
* cacheFilename temp
* New SimplePie get_cache_filename()
* Fix typos
* Update lib/SimplePie/SimplePie.php
Typo
* Include user-agent and timeout
* fix array_merge
* Declaration
* force_feed was lost in a commit
|
|
* Reload full content when changed
If an article is changed, reload also its full content when applicable.
* Compute hash before getting full content
* Revert mix two PRs
* Update app/Controllers/feedController.php
|
|
|
|
* Draft of fix for updateEntry
#fix https://github.com/FreshRSS/FreshRSS/issues/3130
* Fix for SQLite
* Update app/Models/EntryDAO.php
Fixed in https://github.com/FreshRSS/FreshRSS/pull/3500
* Unbuffered streaming only for MySQL
|
|
* Update Travis line length
* Also check whitespace in CSS files
* Fix line length ext.php
* More syntax, string templates
* Fix exclude-pattern
* Test JS files as well
|
|
Before, every + sign was converted to a space to allow to search for
spaces. But the documentation stated that to search for space one has
to enclose the string in quotes. This has a confusing behavior when
searching for a string containing a + sign.
Now, the + conversion is kept only for the tag search since it's the
only one documented that way.
See #3454
|
|
It uses the favorite option to keep a similar experience through out the application and also to limit the number of options.
See #3263
|
|
Before, the feeds in the list weren't properly ordered. Uppercase
values were before lowercase values.
Now, the feed order is forced to ignore the case.
See #3228
|
|
Before, when appending or prepending the content of the CSS selector
content, it was added to the content. It was working fine for the
first call but every subsequent calls were pilling the retrieved
content on top of the already retrieved content. Thus we had an ever
growing content with a lot of duplication.
Now, the CSS selector content is identified by an HTML comment which
is used to remove the content for every subsequent calls.
The bug was introduced in #3453
|
|
Before, when retrieving article contents with CSS selector, the content
of the RSS feed was replaced by the content of the CSS selector. It works
well in most of the cases but if there is a different content in the feed
and in the selector, the former is lost.
Now, there is a parameter to decide which action is performed after retrieving
the content. By default, the previous behavior is kept. But now, it is
possible to append or prepend the CSS selector content to the feed content.
See #3451
|
|
#fix https://github.com/FreshRSS/FreshRSS/issues/3402
Explicit `INSERT OR IGNORE` / `ON CONFLICT DO NOTHING` for the
`addEntry()` method, which does expect some duplicates.
|
|
* Working curlopt_params
* Examples
* curl_params for fetching the article
* cleanup
* clarification
* Remove debugging
* Options corrected
* Removed Debugging
* i18n not needed (right now)
* Translations and UI rework
* Checks in update.phtml
* Unset Proxy&Cookies
* remove clutter
* minor fuckup
* i18n added properly
* resolve Errors
* linting errors
* linting errors, again
* Review
* Minor revert
* Minor i18n: de
Co-authored-by: maru <maru@nyx.im>
Co-authored-by: Aeris <a3x@eris.cc>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
#fix https://github.com/FreshRSS/FreshRSS/issues/3358
Assume enclosures without a mime type, without a length, but with either
a width or a height are images
|
|
There was an erroneous '; at the end of the commitNewEntries DELETE query, resulting in an exception during actualization with this output:
```
FreshRSS starting feeds actualization at 2021-01-11T14:06:09+00:00
FreshRSS actualize candrews...
PHP Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''' at line 1 in /var/www/localhost/htdocs/FreshRSS/lib/Minz/Pdo.php:45
Stack trace:
#0 /var/www/localhost/htdocs/FreshRSS/lib/Minz/Pdo.php(45): PDO->exec()
#1 /var/www/localhost/htdocs/FreshRSS/app/Models/EntryDAO.php(167): Minz_Pdo->exec()
#2 /var/www/localhost/htdocs/FreshRSS/app/Controllers/feedController.php(505): FreshRSS_EntryDAO->commitNewEntries()
#3 /var/www/localhost/htdocs/FreshRSS/app/Controllers/feedController.php(548): FreshRSS_feed_Controller::actualizeFeed()
#4 /var/www/localhost/htdocs/FreshRSS/lib/Minz/Dispatcher.php(119): FreshRSS_feed_Controller->actualizeAction()
#5 /var/www/localhost/htdocs/FreshRSS/lib/Minz/Dispatcher.php(47): Minz_Dispatcher->launchAction()
#6 /var/www/localhost/htdocs/FreshRSS/lib/Minz/FrontController.php(81): Minz_Dispatcher->run()
#7 /var/www/localhost/htdocs/FreshRSS/app/actualize_script.php(75): Minz_FrontController->run()
#8 {main}
thrown in /var/www/localhost/htdocs/FreshRSS/lib/Minz/Pdo.php on line 45
Results:
```
|
|
* Do not import feed causing DB error
The DB error might be that the new feed tries to redirect to an already
existing feed, in which case
#fix https://github.com/FreshRSS/FreshRSS/issues/3339
* Add feed bug
|
|
* Change user query wording
There was some misunderstanding in the use of the user query feature,
probably because of the wording. I've change it to make it more obvious.
* Fix feedback when a query is bookmarked
Before, the displayed query name was not the one intended. Now, the name is the one of the current bookmark
* Document user queries
I've added a few words on how to use the user queries because it seems there was some misunderstanding. See #3219
|
|
Before, share options were displayed in the order defined in the
configuration file. So the order reflected the share history and
was not really usable.
Now, share options are displayed in alphabetical order which makes
much more sense.
|
|
* Avoid manual intialisations of system or user configuration
More consistent use of Context
* Simplify FreshRSS_Context::initUser
* Remove a few manual get_user_configuration
* A bit of debugging
* Fix context user init
* Fix install
* Fix concurrency
Concurrent requests could lead to bad race condition
* Fix actualize cron
Fix case when system i initialised several times
|
|
Before, we had 5 classes in the ModelPdo file. It was bad for 2 reasons.
The first reason is that it is considered bad practice to have multiple
class in one file. This is especially true when using autoloading. On top
of that it is less readable considering the size of the file. The second
reason is that so far we were lucky. Everytime we needed to access the
database, it was through the ModelPdo class which loads all the other
classes. If we want to access directly the connection, it wont be loaded.
On top of that, the system is configured to work on a single database,
but as we have every connection definition in a single file, all classes
were loaded at the same time. Thus using memory and processing time for
nothing.
Now, we have a file for each class. To work with autoloading, classes
were slightly renamed to match autoloading rules.
|
|
This reverts commit e1ee58816ba76734e4115fc12898b13de665b220.
|
|
It's a follow-up of what was started in #3297.
|
|
Before, we had 5 classes in the ModelPdo file. It was bad for 2 reasons.
The first reason is that it is considered bad practice to have multiple
class in one file. This is especially true when using autoloading. On top
of that it is less readable considering the size of the file. The second
reason is that so far we were lucky. Everytime we needed to access the
database, it was through the ModelPdo class which loads all the other
classes. If we want to access directly the connection, it wont be loaded.
On top of that, the system is configured to work on a single database,
but as we have every connection definition in a single file, all classes
were loaded at the same time. Thus using memory and processing time for
nothing.
Now, we have a file for each class. To work with autoloading, classes
were slightly renamed to match autoloading rules.
|
|
#fix https://github.com/FreshRSS/FreshRSS/issues/3169#issuecomment-685983797
Supplement https://github.com/FreshRSS/FreshRSS/pull/3170
When we get the long-term login cookie (i.e. when starting a new session), renew it at the same time for the same duration
|
|
* bump default logout from 30 to 365 days
* * Change cookie duration to constant
* Change cookie duration to three months
* use class
* use 90 days (otherwise login form says 91.3 days)
* change class
* also this works now
Co-authored-by: Martin Rys <martin@rys.pw>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
|
|
Before user queries with labels were not translated. Actually, it was not
even processed.
Now those user queries are translated properly.
See #3215
|
|
#fix https://github.com/FreshRSS/FreshRSS/issues/3258
|
|
* feature(normal) - Remember opened categories in the left menu
Session storage based implementation to remember opened categories in left menu
Issue Ref: #2248
* lib_phpQuery updates
* Updates covering feedback points and functionality fixes
* Feedback updates
* Revert "lib_phpQuery updates"
This reverts commit dcd23b9418405a2d14ee03c1fcadf90c04b267e1.
* First review
Change variable name to "remember" instead of "open".
Start using localStorage instead of sessionStorage.
Simplify code.
* Simplify remember categories init function
Replace 'session' with 'local' in function names and comment
Set open categories CSS as same as when category is opened in 'active' unfold mode
* Remove URLSearchParams check in remember categories init function
* Delete open categories on login and logout
* JSHint check fix
* Second review
* Make new mode the default for new users
* Always open active category
* Reduce / simplify code
* i18n French
* Revert default value
Wait a bit more for this decision / change
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* Fix sanitize feed description
#fix https://github.com/FreshRSS/FreshRSS/issues/3221
* Simplification
|
|
* Minz allow parallel sessions
#fix https://github.com/FreshRSS/FreshRSS/issues/3093
* Array optimisation
* Array optimisation missing
* Reduce direct access to $_SESSION except in install process
* Fix session start headers warning
* Use cookie only the first time the session is started:
`PHP Warning: session_start(): Cannot start session when headers
already sent in /var/www/FreshRSS/lib/Minz/Session.php on line 39`
* New concept of volatile session for API calls
Optimisation: do not use cookies or local storage at all for API calls
without a Web session
Fix warning:
```
PHP Warning: session_destroy(): Trying to destroy uninitialized session
in Unknown on line 0
```
* Only call Minz_Session::init once in our index
It was called twice (once indirectly via FreshRSS->init())
* Whitespace
* Mutex for notifications
Implement mutex for notifications
https://github.com/FreshRSS/FreshRSS/pull/3208#discussion_r499509809
* Typo
* Install script is not ready for using Minz_Session
|