The First Amendment protects a person's right to say what they want, but doesn't protect anyone from getting offended. Honestly, I have no problem with it because you legitimize or delegitimize someone just by hearing what they have to say, hateful or not. So if the person says racists things, let them say it, then put them on your list of people that are not worth listening to. Let them dig their own hole and stay in it, and don't allow yourself to get down there with them. That's what they want. The only thing the First Amendment does NOT condone is violence against another person or group. So when someone starts saying that they will go out and pummel someone to the ground on the streets, and tries to do it, because X, Y, and Z, that person, at that time, loses their right to even say that. Or if they say they're going to blow a building up with people in it, and proceeds to move in on it, that, again, means they lose that right.
So violence is a no go. Talking crap is permitted, so if Neo-Nazi says whites are the best and hopes everyone else dies out, let them say it. If someone from Antifa says blacks are oppressed and whites should just die out, they can say that. Let idiots be idiots, and don't get bent of shape because of their idiocy (unless if they start getting violent and in which case let the authorities shut it down). Not everyone is going to like you, despite your best efforts, and vice versa. Anyone that doesn't like it, well, let me be the first to welcome you to reality.