Fix: Use ids for chat last seen instead of timestamp
I didn't notice this was a problem when making the previous chat fixes as I was using WS when testing. Basically previously it compared Date.now() from when marking things as read and a chat message created_at property, which is very flimsy considering you have long delays between the created_at and the chat message actually arriving when not using WS. When adding the delay to mark-as-read it just made the problem more apparent. Now it should be waterproof as it tracks last seen message ids.