diff --git a/backend.php b/backend.php
index a73e54078..cc5fd46c6 100644
--- a/backend.php
+++ b/backend.php
@@ -214,7 +214,8 @@
}
}
- if ($mode == "prefetch" && $csync) {
+
+ if (get_pref($link, "SYNC_COUNTERS") || ($mode == "prefetch" && $csync)) {
print "";
getAllCounters($link, $omode);
print "";
@@ -299,7 +300,8 @@
$viewfeed_ctr_interval = 60;
}
- if (time() - $_SESSION["get_all_counters_stamp"] > $viewfeed_ctr_interval) {
+ if (get_pref($link, "SYNC_COUNTERS") ||
+ time() - $_SESSION["get_all_counters_stamp"] > $viewfeed_ctr_interval) {
print "";
getAllCounters($link, $omode, $feed);
print "";
diff --git a/feedlist.js b/feedlist.js
index 5ae604493..1f851e0e8 100644
--- a/feedlist.js
+++ b/feedlist.js
@@ -542,7 +542,11 @@ function request_counters() {
var date = new Date();
var timestamp = Math.round(date.getTime() / 1000);
+// if (getInitParam("sync_counters") == "1" ||
+// timestamp - counters_last_request > 10) {
+
if (timestamp - counters_last_request > 10) {
+
debug("scheduling request of counters...");
window.setTimeout("request_counters_real()", 1000);
counters_last_request = timestamp;
diff --git a/functions.php b/functions.php
index 04ddaadbb..5a72f681f 100644
--- a/functions.php
+++ b/functions.php
@@ -2227,7 +2227,10 @@
/* getting all counters is a resource intensive operation, so we
* rate limit it a little bit */
- if (time() - $_SESSION["get_all_counters_stamp"] > 5) {
+
+
+ if (get_pref($link, "SYNC_COUNTERS") ||
+ time() - $_SESSION["get_all_counters_stamp"] > 5) {
if (!$omode) $omode = "flc";
@@ -3018,6 +3021,9 @@
print "";
+ print "";
+
print "";
}
diff --git a/localized_schema.php b/localized_schema.php
index 083e2eb24..9325160df 100644
--- a/localized_schema.php
+++ b/localized_schema.php
@@ -72,5 +72,6 @@
__("Automatically expand articles in combined mode");
__("Purge unread articles");
__("Show special feeds when hiding read feeds");
+ __("Prefer more accurate feedlist counters to UI speed");
?>
diff --git a/sanity_check.php b/sanity_check.php
index 383edab4c..ee715a823 100644
--- a/sanity_check.php
+++ b/sanity_check.php
@@ -2,7 +2,7 @@
require_once "functions.php";
define('EXPECTED_CONFIG_VERSION', 17);
- define('SCHEMA_VERSION', 37);
+ define('SCHEMA_VERSION', 38);
if (!file_exists("config.php")) {
print __("Fatal Error: You forgot to copy
diff --git a/schema/ttrss_schema_mysql.sql b/schema/ttrss_schema_mysql.sql
index d3082da01..59a8c83b5 100644
--- a/schema/ttrss_schema_mysql.sql
+++ b/schema/ttrss_schema_mysql.sql
@@ -209,7 +209,7 @@ create table ttrss_tags (id integer primary key auto_increment,
create table ttrss_version (schema_version int not null) TYPE=InnoDB;
-insert into ttrss_version values (37);
+insert into ttrss_version values (38);
create table ttrss_enclosures (id serial not null primary key,
content_url text not null,
@@ -332,6 +332,8 @@ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_
insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('VFEED_GROUP_BY_FEED', 1, 'false', 'Group headlines in virtual feeds',2,
'When this option is enabled, headlines in Special feeds and Labels are grouped by feeds');
+insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('SYNC_COUNTERS', 1, 'false', 'Prefer more accurate feedlist counters to UI speed',3);
+
create table ttrss_user_prefs (
owner_uid integer not null,
pref_name varchar(250),
diff --git a/schema/ttrss_schema_pgsql.sql b/schema/ttrss_schema_pgsql.sql
index 6d70ddc6f..c0cddfbad 100644
--- a/schema/ttrss_schema_pgsql.sql
+++ b/schema/ttrss_schema_pgsql.sql
@@ -189,7 +189,7 @@ create index ttrss_tags_owner_uid_index on ttrss_tags(owner_uid);
create table ttrss_version (schema_version int not null);
-insert into ttrss_version values (37);
+insert into ttrss_version values (38);
create table ttrss_enclosures (id serial not null primary key,
content_url text not null,
@@ -306,6 +306,8 @@ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_
insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('VFEED_GROUP_BY_FEED', 1, 'false', 'Group headlines in virtual feeds',2,
'When this option is enabled, headlines in Special feeds and Labels are grouped by feeds');
+insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('SYNC_COUNTERS', 1, 'false', 'Prefer more accurate feedlist counters to UI speed',3);
+
create table ttrss_user_prefs (
owner_uid integer not null references ttrss_users(id) ON DELETE CASCADE,
pref_name varchar(250) not null references ttrss_prefs(pref_name) ON DELETE CASCADE,
diff --git a/schema/versions/mysql/38.sql b/schema/versions/mysql/38.sql
new file mode 100644
index 000000000..df544d03b
--- /dev/null
+++ b/schema/versions/mysql/38.sql
@@ -0,0 +1,3 @@
+insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('SYNC_COUNTERS', 1, 'false', 'Prefer more accurate feedlist counters to UI speed',3);
+
+update ttrss_version set schema_version = 38;
diff --git a/schema/versions/pgsql/38.sql b/schema/versions/pgsql/38.sql
new file mode 100644
index 000000000..df544d03b
--- /dev/null
+++ b/schema/versions/pgsql/38.sql
@@ -0,0 +1,3 @@
+insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('SYNC_COUNTERS', 1, 'false', 'Prefer more accurate feedlist counters to UI speed',3);
+
+update ttrss_version set schema_version = 38;