Last year I had a month where a lot of truly shit things happened. During that month, a friend who has a loooooooong history of being a snarky, negative jerk sent me a message that typically tried to take the shine off the one good thing that had happened to me.
Because this friend could also be kind and funny and we had a long friendship, I would usually ignore her snarky, back-bitey comments and just privately roll my eyes. But in this instance, like you, I had zero tolerance for bullshit and told her to fuck right off if she couldn't refrain from trying to rain on my parade.
She was quite put out and accused me of taking my bad month out on her. Which, to be fair, had I not already been at the end of my tether, I probably would have just ignored her. I said maybe my tolerance was at zero, but I was sick of her negativity and bitchiness.
A year on, I happened to think of her the other day, and had zero regret about telling her to fuck off, as I have not needed to carry the emotional weight of her self-centred negativity and bitchiness once since then.
There is no rule that says you have to put up with people who start acting in a selfish and horrible way just because you've been friends for a long time. Presumably you would know if there were circumstances that made her behaviour more understandable (eg a controlling/abusive husband, she's trying to save up for a divorce, husband also cheating, etc etc). So give yourself a pat on the back for cutting her off like a gangrenous toe.