Fix a bug where background fetch could mark a channel as read