use unreadCount instead of list of id
in nextMsg, only get channel if we may need to update it