Add timer for thread watcher.
This commit is contained in:
parent
f4ee994bf7
commit
240a57c72c
@ -560,6 +560,10 @@ Config =
|
|||||||
false
|
false
|
||||||
'Only show watched threads from the current board.'
|
'Only show watched threads from the current board.'
|
||||||
]
|
]
|
||||||
|
'Auto Update Thread Watcher': [
|
||||||
|
true
|
||||||
|
'Periodically check status of watched threads.'
|
||||||
|
]
|
||||||
'Auto Watch': [
|
'Auto Watch': [
|
||||||
false
|
false
|
||||||
'Automatically watch threads you start.'
|
'Automatically watch threads you start.'
|
||||||
|
|||||||
@ -33,11 +33,7 @@ ThreadWatcher =
|
|||||||
Header.addShortcut sc
|
Header.addShortcut sc
|
||||||
$.addClass doc, 'fixed-watcher'
|
$.addClass doc, 'fixed-watcher'
|
||||||
|
|
||||||
now = Date.now()
|
ThreadWatcher.fetchAuto()
|
||||||
if (@db.data.lastChecked or 0) < now - 2 * $.HOUR
|
|
||||||
@db.data.lastChecked = now
|
|
||||||
ThreadWatcher.fetchAllStatus()
|
|
||||||
@db.save()
|
|
||||||
|
|
||||||
Post.callbacks.push
|
Post.callbacks.push
|
||||||
name: 'Thread Watcher'
|
name: 'Thread Watcher'
|
||||||
@ -151,6 +147,17 @@ ThreadWatcher =
|
|||||||
fetchCount:
|
fetchCount:
|
||||||
fetched: 0
|
fetched: 0
|
||||||
fetching: 0
|
fetching: 0
|
||||||
|
fetchAuto: ->
|
||||||
|
clearTimeout ThreadWatcher.timeout
|
||||||
|
return unless Conf['Auto Update Thread Watcher']
|
||||||
|
{db} = ThreadWatcher
|
||||||
|
interval = if Conf['Show Unread Count'] then 5 * $.MINUTE else 2 * $.HOUR
|
||||||
|
now = Date.now()
|
||||||
|
if now >= (db.data.lastChecked or 0) + interval
|
||||||
|
db.data.lastChecked = now
|
||||||
|
ThreadWatcher.fetchAllStatus()
|
||||||
|
db.save()
|
||||||
|
ThreadWatcher.timeout = setTimeout ThreadWatcher.fetchAuto, interval
|
||||||
fetchAllStatus: ->
|
fetchAllStatus: ->
|
||||||
ThreadWatcher.db.forceSync()
|
ThreadWatcher.db.forceSync()
|
||||||
ThreadWatcher.unreaddb.forceSync()
|
ThreadWatcher.unreaddb.forceSync()
|
||||||
@ -410,9 +417,10 @@ ThreadWatcher =
|
|||||||
createSubEntry: (name, desc) ->
|
createSubEntry: (name, desc) ->
|
||||||
entry =
|
entry =
|
||||||
type: 'thread watcher'
|
type: 'thread watcher'
|
||||||
el: UI.checkbox name, " #{name}"
|
el: UI.checkbox name, " #{name.replace ' Thread Watcher', ''}"
|
||||||
entry.el.title = desc
|
entry.el.title = desc
|
||||||
input = entry.el.firstElementChild
|
input = entry.el.firstElementChild
|
||||||
$.on input, 'change', $.cb.checked
|
$.on input, 'change', $.cb.checked
|
||||||
$.on input, 'change', ThreadWatcher.refresh if name is 'Current Board' or name is 'Show Unread Count'
|
$.on input, 'change', ThreadWatcher.refresh if name in ['Current Board', 'Show Unread Count']
|
||||||
|
$.on input, 'change', ThreadWatcher.fetchAuto if name in ['Show Unread Count', 'Auto Update Thread Watcher']
|
||||||
entry
|
entry
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user