Fun fact: the U.S. Constitution does not require citizenship to vote.
I'll repeat that: the U.S. Constitution does not say that only citizens can vote. It does not ban non-citizens from voting.
A federal *statute* contains this requirement, as do many states' laws. But if the law was changed to, eg, allow any permanent resident to vote as well, that would be fine constitutionally (and probably a good idea imho).
So don't let people get away with just assuming that "only citizens can vote" is a given. It's not. It's a policy choice.