Thread:Extension talk:LiquidThreads/New Messages Issue - Cannot Mark as Read

I know that this extension is being redesigned, but on the 1.16 snapshot (which is r75373) with MW 1.16.5, we are having trouble with marking "New Messages" as read. When clicking either the individual "Mark as read" button, or the "Mark all as read" button, it appears to perform the task and returns a message stating that the thread was marked as read. However, when clicking "New Messages" again, the messages are back, and the count in the header never changes.

I found a function in NewMessagesController called markThreadAsReadByUser that is called when a user marks a new message as read. Its main purpose appears to be to delete a row from the user_message_state table using this code:

$dbw->delete( 'user_message_state', array( 'ums_user' => $user_id, 'ums_thread' => $thread_id ), __METHOD__ );

I replicated this process by deleting a relevant row from that table, and all that changed was the count in the header next to New Messages. The thread that I removed remains in the list.

Has anyone else noticed this behavior? Does anyone have an idea of how to troubleshoot / fix it?

...

Edit: I realized that the thread I deleted from the user_message_state table had a reply, and that's the reason it wasn't removed from my list. I deleted the reply thread, and now that thread is completely gone from the New Messages list. So appears that the only thing that is failing is the delete function itself.

Edit 2: It appears the problem is in the javascript function. Turning off javascript in the browser resolves the issue of the thread not being marked as read. I'm not too good at troubleshooting js, so I'm either going to try to figure out a fix, or I'll just hack the source to bypass the js functions for now. In the meantime, any ideas on a solution?