Fix 'Auto Watch Reply' in corner cases when not all thread info is available.

This commit is contained in:
ccd0 2019-01-25 00:36:10 -08:00
parent f658663cfe
commit a47449c834

View File

@ -144,7 +144,7 @@ ThreadWatcher =
if Conf['Auto Watch'] if Conf['Auto Watch']
ThreadWatcher.addRaw boardID, threadID, {} ThreadWatcher.addRaw boardID, threadID, {}
else if Conf['Auto Watch Reply'] else if Conf['Auto Watch Reply']
ThreadWatcher.add g.threads[boardID + '.' + threadID] ThreadWatcher.add g.threads[boardID + '.' + threadID] or new Thread(threadID, g.boards[boardID] or new Board(boardID))
onIndexUpdate: (e) -> onIndexUpdate: (e) ->
{db} = ThreadWatcher {db} = ThreadWatcher
siteID = Site.hostname siteID = Site.hostname
@ -374,7 +374,7 @@ ThreadWatcher =
ThreadWatcher.setPrefixes threads ThreadWatcher.setPrefixes threads
for {siteID, boardID, threadID, data} in threads for {siteID, boardID, threadID, data} in threads
# Add missing excerpt for threads added by Auto Watch # Add missing excerpt for threads added by Auto Watch
if not data.excerpt? and siteID is Site.hostname and (thread = g.threads["#{boardID}.#{threadID}"]) if not data.excerpt? and siteID is Site.hostname and (thread = g.threads["#{boardID}.#{threadID}"]) and thread.OP
ThreadWatcher.db.extend {boardID, threadID, val: {excerpt: Get.threadExcerpt thread}} ThreadWatcher.db.extend {boardID, threadID, val: {excerpt: Get.threadExcerpt thread}}
nodes.push ThreadWatcher.makeLine siteID, boardID, threadID, data nodes.push ThreadWatcher.makeLine siteID, boardID, threadID, data
{list} = ThreadWatcher {list} = ThreadWatcher
@ -451,7 +451,7 @@ ThreadWatcher =
ThreadWatcher.rm siteID, boardID, threadID ThreadWatcher.rm siteID, boardID, threadID
return return
data.isDead = true data.isDead = true
data.excerpt = Get.threadExcerpt thread data.excerpt = Get.threadExcerpt thread if thread.OP
ThreadWatcher.addRaw boardID, threadID, data ThreadWatcher.addRaw boardID, threadID, data
addRaw: (boardID, threadID, data) -> addRaw: (boardID, threadID, data) ->