removeChannelStates cleared messages and readStates but not hasMore. When a closed DM was reopened with the same channel ID, loadMessages saw the stale hasMore entry and skipped loading — showing an empty chat. Now clears hasMore so messages reload on reopen.