Limit the refresh rate increase for inactive threads to 90 seconds for visible/active tabs.
Reset the thread inactivity counter when switching to a tab.
This commit is contained in:
parent
a63dad61b6
commit
41ef2b976a
@ -2875,7 +2875,13 @@
|
||||
$.on(input, 'click', this.update);
|
||||
}
|
||||
}
|
||||
return $.add(d.body, dialog);
|
||||
$.add(d.body, dialog);
|
||||
return $.on(d, 'visibilitychange ovisibilitychange mozvisibilitychange webkitvisibilitychange', function() {
|
||||
Updater.unsuccessfulFetchCount = 0;
|
||||
if (Updater.timer.textContent < -Conf['Interval']) {
|
||||
return Updater.timer.textContent = -Updater.getInterval();
|
||||
}
|
||||
});
|
||||
},
|
||||
cb: {
|
||||
interval: function() {
|
||||
@ -2883,7 +2889,7 @@
|
||||
val = parseInt(this.value, 10);
|
||||
this.value = val > 5 ? val : 5;
|
||||
$.cb.value.call(this);
|
||||
return Updater.timer.textContent = "-" + (Updater.getInterval());
|
||||
return Updater.timer.textContent = -Updater.getInterval();
|
||||
},
|
||||
verbose: function() {
|
||||
if (Conf['Verbose']) {
|
||||
@ -2937,7 +2943,7 @@
|
||||
return;
|
||||
}
|
||||
Updater.unsuccessfulFetchCount++;
|
||||
Updater.timer.textContent = "-" + (Updater.getInterval());
|
||||
Updater.timer.textContent = -Updater.getInterval();
|
||||
/*
|
||||
Status Code 304: Not modified
|
||||
By sending the `If-Modified-Since` header we get a proper status code, and no response.
|
||||
@ -2975,7 +2981,7 @@
|
||||
return;
|
||||
}
|
||||
Updater.unsuccessfulFetchCount = 0;
|
||||
Updater.timer.textContent = "-" + (Updater.getInterval());
|
||||
Updater.timer.textContent = -Updater.getInterval();
|
||||
scroll = Conf['Scrolling'] && Updater.scrollBG() && lastPost.getBoundingClientRect().bottom - d.documentElement.clientHeight < 25;
|
||||
$.add(Updater.thread, nodes.reverse());
|
||||
if (scroll) {
|
||||
@ -2987,6 +2993,9 @@
|
||||
var i, j;
|
||||
i = +Conf['Interval'];
|
||||
j = Math.min(this.unsuccessfulFetchCount, 9);
|
||||
if (!(d.hidden || d.oHidden || d.mozHidden || d.webkitHidden)) {
|
||||
j = Math.min(j, 6);
|
||||
}
|
||||
return Math.max(i, [5, 10, 15, 20, 30, 60, 90, 120, 300, 600][j]);
|
||||
},
|
||||
timeout: function() {
|
||||
|
||||
@ -2306,12 +2306,18 @@ Updater =
|
||||
|
||||
$.add d.body, dialog
|
||||
|
||||
$.on d, 'visibilitychange ovisibilitychange mozvisibilitychange webkitvisibilitychange', ->
|
||||
# Reset the counter when we focus this tab.
|
||||
Updater.unsuccessfulFetchCount = 0
|
||||
if Updater.timer.textContent < -Conf['Interval']
|
||||
Updater.timer.textContent = -Updater.getInterval()
|
||||
|
||||
cb:
|
||||
interval: ->
|
||||
val = parseInt @value, 10
|
||||
@value = if val > 5 then val else 5
|
||||
$.cb.value.call @
|
||||
Updater.timer.textContent = "-#{Updater.getInterval()}"
|
||||
Updater.timer.textContent = -Updater.getInterval()
|
||||
verbose: ->
|
||||
if Conf['Verbose']
|
||||
Updater.count.textContent = '+0'
|
||||
@ -2355,7 +2361,7 @@ Updater =
|
||||
return
|
||||
|
||||
Updater.unsuccessfulFetchCount++
|
||||
Updater.timer.textContent = "-#{Updater.getInterval()}"
|
||||
Updater.timer.textContent = -Updater.getInterval()
|
||||
|
||||
###
|
||||
Status Code 304: Not modified
|
||||
@ -2389,7 +2395,7 @@ Updater =
|
||||
return unless count
|
||||
|
||||
Updater.unsuccessfulFetchCount = 0
|
||||
Updater.timer.textContent = "-#{Updater.getInterval()}"
|
||||
Updater.timer.textContent = -Updater.getInterval()
|
||||
scroll = Conf['Scrolling'] && Updater.scrollBG() &&
|
||||
lastPost.getBoundingClientRect().bottom - d.documentElement.clientHeight < 25
|
||||
$.add Updater.thread, nodes.reverse()
|
||||
@ -2399,6 +2405,9 @@ Updater =
|
||||
getInterval: ->
|
||||
i = +Conf['Interval']
|
||||
j = Math.min @unsuccessfulFetchCount, 9
|
||||
unless d.hidden or d.oHidden or d.mozHidden or d.webkitHidden
|
||||
# Don't increase the refresh rate too much on visible tabs.
|
||||
j = Math.min j, 6
|
||||
Math.max i, [5, 10, 15, 20, 30, 60, 90, 120, 300, 600][j]
|
||||
|
||||
timeout: ->
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user