| 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
|
|
https://github.com/marienfressinaud/FreshRSS/issues/536
|
|
- It was impossible to set default view to "Show all articles"
- "0" was compared to 0 ("O" === 0 => false)
- cast value from Minz_Request into integer
|
|
- If MySQL database was configured and user choosed SQLite, an error was
raised at the first submit.
- Cast STEP into integer
|
|
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/513
|
|
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.
|
|
|
|
See #519
Before, when clicking on the big tick to mark all articles as read, it triggers directly the action.
Now, it asks for a confirmation to block unwanted user clicks.
|
|
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/524
|
|
Change behavior when selecting an article
|
|
https://github.com/marienfressinaud/FreshRSS/issues/250
|
|
|
|
https://github.com/marienfressinaud/FreshRSS/issues/250
|
|
Refactor statistics
|
|
See #524
Before, when the configuration was set so the article is marked as read when selected, if you mark it as unread while it is open and then close it, it is marked again as read. This behavior was not straightforward.
Now, the article is not marked again as read.
|
|
Following introduction of user-queries
https://github.com/marienfressinaud/FreshRSS/commit/2b8dc666345d334f50bf2f4f32f0b127edb40c3a#diff-be03dd1f6b53ebb2682ba9dd334bc273
|
|
|
|
https://github.com/marienfressinaud/FreshRSS/issues/100
Warning: MySQL has been changed too, so bugs may have been introduced
|
|
Preparation of https://github.com/marienfressinaud/FreshRSS/issues/250
Will also be used to disable automatic update for selected feeds
|
|
https://github.com/marienfressinaud/FreshRSS/issues/100
|
|
https://github.com/marienfressinaud/FreshRSS/issues/100
|
|
https://github.com/marienfressinaud/FreshRSS/issues/100
|
|
Now the install.php is kept in ./app/ and the trigger is
./data/do-install.php
There is no need anymore to have write access in ./p/i/
|
|
Ensure to try the website favicon before trying the feed URL favicon
(which might be on e.g. FeedBurner with an anonymous favicon).
|
|
|
|
https://github.com/marienfressinaud/FreshRSS/commit/300c508d9e4732a7c6e8025ee62f934f7ecc5328
|
|
|
|
Add support for HTTP 301 Moved Permanently in SimplePie
FreshRSS will automatically update the address of a feed, only in this
case.
|
|
Conflicts:
app/Controllers/statsController.php
app/Models/StatsDAO.php
app/i18n/en.php
app/i18n/fr.php
app/layout/aside_stats.phtml
app/layout/header.phtml
app/views/index/stats.phtml
app/views/stats/idle.phtml
app/views/stats/index.phtml
app/views/stats/main.phtml
|
|
|
|
|
|
|
|
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 :)
|
|
|
|
|
|
- Menu button is a down arrow
- Bookmark icon has moved near of "add a query"
See https://github.com/marienfressinaud/FreshRSS/pull/498
|
|
Wording
|
|
https://github.com/marienfressinaud/FreshRSS/issues/328#issuecomment-43250647
|
|
|
|
|
|
- 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
|