| Age | Commit message (Collapse) | Author |
|
Add statistics support for Sqlite by tweeking one query and rewrite an other. The rewrite implied a complete refactor of the MySql query as well.
Now the code is more flexible and make less queries to the database.
See #527
|
|
https://github.com/marienfressinaud/FreshRSS/issues/538
|
|
This base theme is not visible by default (no name). You can use it
to create new theme.
Fix https://github.com/marienfressinaud/FreshRSS/issues/533 (comment)
|
|
Would be nice to test with other versions of MySQL too.
Comparison before/after:
mysql> EXPLAIN SELECT e.id, e.guid, e.title, e.author,
UNCOMPRESS(content_bin) AS content, e.link, e.date, e.is_read,
e.is_favorite, e.id_feed, e.tags FROM `freshrss_alex_entry` e INNER JOIN
(SELECT e1.id FROM `freshrss_alex_entry` e1 INNER JOIN
`freshrss_alex_feed` f ON e1.id_feed=f.id WHERE f.priority > 0 AND
(e1.id >= 1381615200000000 OR e1.is_read=0 OR e1.is_favorite=1 OR
(f.keep_history <> 0)) ORDER BY e1.id DESC LIMIT 31) e2 ON e2.id=e.id
ORDER BY e.id DESC;
+----+-------------+------------+--------+-------------------------------------+----------+---------+---------------+------+----------------------------------------------+
| id | select_type | table | type | possible_keys
| key | key_len | ref | rows | Extra
|
+----+-------------+------------+--------+-------------------------------------+----------+---------+---------------+------+----------------------------------------------+
| 1 | PRIMARY | <derived2> | ALL | NULL
| NULL | NULL | NULL | 31 | Using temporary; Using
filesort |
| 1 | PRIMARY | e | eq_ref | PRIMARY
| PRIMARY | 8 | e2.id | 1 |
|
| 2 | DERIVED | f | range | PRIMARY,priority,keep_history
| priority | 1 | NULL | 137 | Using where; Using
temporary; Using filesort |
| 2 | DERIVED | e1 | ref |
PRIMARY,id_feed,is_favorite,is_read | id_feed | 2 | freshrss.f.id
| 452 | Using where |
+----+-------------+------------+--------+-------------------------------------+----------+---------+---------------+------+----------------------------------------------+
4 rows in set (3.50 sec)
mysql> EXPLAIN SELECT e.id, e.guid, e.title, e.author,
UNCOMPRESS(content_bin) AS content, e.link, e.date, e.is_read,
e.is_favorite, e.id_feed, e.tags FROM `freshrss_alex_entry` e INNER JOIN
(SELECT e1.id FROM `freshrss_alex_entry` e1 INNER JOIN
`freshrss_alex_feed` f ON e1.id_feed=f.id WHERE f.priority > 0 AND e1.id
<=9000000000000000 AND (e1.id >= 1381615200000000 OR e1.is_read=0 OR
e1.is_favorite=1 OR (f.keep_history <> 0)) ORDER BY e1.id DESC LIMIT 31)
e2 ON e2.id=e.id ORDER BY e.id DESC;
+----+-------------+------------+--------+-------------------------------------+---------+---------+---------------------+-------+---------------------------------+
| id | select_type | table | type | possible_keys
| key | key_len | ref | rows | Extra
|
+----+-------------+------------+--------+-------------------------------------+---------+---------+---------------------+-------+---------------------------------+
| 1 | PRIMARY | <derived2> | ALL | NULL
| NULL | NULL | NULL | 31 | Using temporary;
Using filesort |
| 1 | PRIMARY | e | eq_ref | PRIMARY
| PRIMARY | 8 | e2.id | 1 |
|
| 2 | DERIVED | e1 | range |
PRIMARY,id_feed,is_favorite,is_read | PRIMARY | 8 | NULL
| 70084 | Using where |
| 2 | DERIVED | f | eq_ref | PRIMARY,priority,keep_history
| PRIMARY | 2 | freshrss.e1.id_feed | 1 | Using where
|
+----+-------------+------------+--------+-------------------------------------+---------+---------+---------------------+-------+---------------------------------+
4 rows in set (0.01 sec)
|
|
See https://github.com/marienfressinaud/FreshRSS/issues/532
|
|
|
|
Add a parameter to choose wether or not the user want to display a confirmation dialog when clicking on "mark all as read" actions.
|
|
https://github.com/marienfressinaud/FreshRSS/commit/805c91da98c2f582e279f3c853fba9e43f572419#diff-101042bec0ff3ac9d691b2e77fca3313R7
|
|
|
|
Temporarily disable 30-day statistics for SQLite
https://github.com/marienfressinaud/FreshRSS/issues/100
https://github.com/marienfressinaud/FreshRSS/issues/90
|
|
https://github.com/marienfressinaud/FreshRSS/issues/250
|
|
https://github.com/marienfressinaud/FreshRSS/issues/250
|
|
Refactor statistics
|
|
|
|
https://github.com/marienfressinaud/FreshRSS/issues/100
Warning: MySQL has been changed too, so bugs may have been introduced
|
|
https://github.com/marienfressinaud/FreshRSS/issues/100
|
|
https://github.com/marienfressinaud/FreshRSS/issues/100
|
|
https://github.com/marienfressinaud/FreshRSS/issues/100
|
|
Ensure to try the website favicon before trying the feed URL favicon
(which might be on e.g. FeedBurner with an anonymous favicon).
|
|
|
|
Add support for HTTP 301 Moved Permanently in SimplePie
FreshRSS will automatically update the address of a feed, only in this
case.
|
|
|
|
I made a new controller to handle statistics. The old statistics have been moved in that controller and a new action has been added to display idle feeds. I also added a menu in the left panel to navigate between the statistics pages.
See #90
|
|
- _t() is a wrapper for Minz_Translate::t()
- Improve coding style of Translate.php
- _i() is a wrapper for FreshRSS::icon()
- queries.phtml shows how they work
- It is a lot easier to read files with these functions :)
|
|
- Coding style
- More checks server side
- Default query name is "Query n°X"
- List of queries is moved into nav_menu, in a dropdown
- Better system to remove fields in JS (to a.remove elements, give an
attibute data-remove="id_to_remove")
- Fix a bug in lib/Mine/Request.php (htmlspecialchars_utf8 can be applied on
arrays now)
- Few theme improvements
- Add an element .no-mobile to apply to elements which should not appear on
mobiles
See https://github.com/marienfressinaud/FreshRSS/pull/498
|
|
aledeg-user-queries
Conflicts:
app/layout/nav_menu.phtml
|
|
- 4 options: thin, medium, large and no limit
- Thin is by default
|
|
- Dropdown menu is transformed into stick buttons
- 3 new icons (view-normal, view-global, view-reader)
- Link to access RSS is now next to these buttons (should we kept it
here?)
|
|
For now, process them in the same order as specified by the user
Specifying for instance `date:` first will be much faster than
specifying a free text word first.
https://github.com/marienfressinaud/FreshRSS/issues/511
|
|
Now also accepts combination of #tag and intitle: and inurl: and author:
and the new date: and pubdate:
https://github.com/marienfressinaud/FreshRSS/issues/511
Each search prefix stop at the first space (we should add a possibility
to have quotes for multiple words)
So if you want two words in title, write "intitle:word1 intitle:word2"
Examples of dates:
date:2014
date:2014-02/2014-04 or date:201402/201404
date:P1W for the last week
|
|
https://github.com/marienfressinaud/FreshRSS/issues/504
|
|
https://github.com/marienfressinaud/FreshRSS/issues/504
|
|
It's an intermediary step to remove the favorite button.
I add a button to store the current query as a favorite query. It redirects automatically to the configuration page where it is possible to name and remove user queries.
To make the queries more straigtforward, I removed the default behavior when searching for a string. This way, when we search for a string, the filter is not defaulted to all articles.
|
|
|
|
See
http://programmers.stackexchange.com/questions/23852/bitwise-or-vs-adding-flags
https://github.com/marienfressinaud/FreshRSS/pull/486
https://github.com/marienfressinaud/FreshRSS/issues/376
|
|
|
|
|
|
|
|
I made the conversion in every file I can think of.
It should not have any reference to the string 'all' for the state context
|
|
The RSS action has now its own button. I also reorganized the button display order to be more natural.
I did not find an appropriate Unicode replacement for the Rss icon.
|
|
I extract drop-down menu actions to make them as button action in the page header.
I removed the favorite button on the category list because it is a duplicate from the button action.
Now button action act as filters and you can combine them.
It is a test to see if we can keep it like that. There is still work to do to extract other actions from the drop-down list.
I did not want to change everything if we don't keep it.
See #376 and #277
|
|
- Remove massiveImportAction and addCategories from FeedController
- Fix typo for some methods (camelCase)
- addCategoryObject and addFeedObject return id if corresponding object already
exists in DB
- introduce addEntryObject. Return -1 if Entry already exist (in order to keep
quite good performances)
- Complete importArticles method
Need some more tests + better performance
|
|
- use a new OPML library (https://github.com/marienfressinaud/lib_opml)
- import has been completely rewritten (far better!)
- introduce addFeedObject and addCategoryObject (in DAO for the moment).
Permit to add easily feeds and categories (check if they already exist in DB)
- introduce html_chars_utf8 (wrap htmlspecialchars for UTF-8)
|
|
https://github.com/marienfressinaud/FreshRSS/issues/462
|
|
I add a button on the configure user interface to reveal the password for 2 seconds and hide it after that period.
See #442
I am not sure if the fallback unicode text for the icon is correct. I can not make it work.
|
|
https://github.com/marienfressinaud/FreshRSS/issues/13
https://github.com/marienfressinaud/FreshRSS/issues/440
|
|
|
|
|
|
Change the storage and display of sharings to improve the time needed to generate the page.
Instead of looking for a default value when displaying the sharing links, they are added
during the configuration.
|
|
https://github.com/marienfressinaud/FreshRSS/issues/443
Needed for e.g. EasyRSS
|