Fix DM activity handler not to send unnecessary read status update
Summary: This differential prevents DM activity handler from spamming unread status unpdates by sending updates only for threads that are unread when we enter them and using debouncing when receiving messages to currently active thread.
Test Plan:
- Add console log to each portion of sent dm's
- Ensure that when entering thick thread updates are sent once only if the thread was unread.
- Ensuure that after receiving stream of messages to thick thread, unread updates are sent only once 5 seconds after the last message.
Reviewers: ashoat, tomek, kamil
Reviewed By: tomek
Differential Revision: https://phab.comm.dev/D13383