Perhaps another things, which Mn is particular bad about, is remember that most people are fundamentally nice.
They don't intend to hurt you, or say something tactless or let you down. I'm sure we can all remember times when we've done that unintentionally.
So when someone says something assume (the first time at any rate) it wasn't about you, or intended to be nasty. You don't need to challenge them every time, and make them know how upset you are.
If people feel that you can take offense easily they'll be more awkward found you and then it's harder to make friends.
My dd2 was born without a hand. When I was pregnant with dc#3 someone asked how the scan went and I said "all healthy" and they said without a flicker of acknowledgement this might not be the best thing to say, "well, I always said for mine as long as they have all their fingers and toes".
I am confident that they were just using it as an expression and the inappropriateness didn't occur to them. I'm not sure they ever lined up that expression and dd2.
I am still friends with them. I never said anything to them. I'm sure I could have challenged them and they would have apologised. Probably several times.
Challenging them I don't think it would have helped anyone. It wouldn't have made me feel better and it would have made them feel really bad.
If they'd said it, or similar again, I probably would have said something.
On the flip side, especially when I'm getting to know people I try to make sure that I don't put them out. So I make sure I'm early to meetups, offer pay for drinks first, etc. I said to my dc it's about banking goodwill. It means that eg when you're late people assume you have a good reason.
And I tend to find when you're reliable, people are reliable with you*
*Yes, we all have that friend who's a bit doolally who is as likely as not to turn up a day late, but work with that rather than taking offense. Giving them a ring the day before and check they're still okay. You can do it in a casual way "would you like to meet at Costa or the centre tomorrow at 12:30?" or direct "just checking 12:30 at Costa is fine still?"
I have a friend who's always late so we have a running joke. I say to them "12:30 to meet?" she says "fine" and I'll say "see you at 13:00 then." It works. I normally get there for 12:45 and just beat them. We then have a joke that they're not as late as normal!