unread msg count updates properly