The OP is making this way more complicated and a much bigger issue than it needs to be - as are several posters on the thread.
The only thing her friend did wrong was not saying when she suggested a takeaway, “As long as you don’t mind vegetarian; I won’t have meat in the house”. But maybe she forgot. It happens. Maybe most of her friends know this and she suddenly thought “Oh shit - OP hasn’t been around for takeaway before. Does she know I don’t have meat in the house?” Given that Indian food is quite heavily vegetable-based, it’s not unreasonable to think most people who like curry would also like vegetable curry, rather than “really hating” it - although of course the OP is absolutely entitled to feel that way. It just wouldn’t necessarily occur to a lot of people.
If she didn’t just forget, why did she wait? Do we assume it was some weird manipulative attempt to force the OP to eat a vegetarian meal? And if that was the case, surely she wouldn’t have bothered giving the OP any notice? Why not wait until she’s there with the menu in front of her and make it a fait accompli?
While an hour is not ideal, it IS some notice, if not much. I don’t buy this “OP was caught on the hop; she’d look like an arse if she cancelled now” business. She didn’t have to make a split decision - she had an hour to decide she didn’t want to order vegetable curry. That’s a good 50 minutes more than you’d get to make a decision on a restaurant! And surely if it’s so appallingly rude that the friend hadn’t mentioned the meet issue earlier, that would have negated any rudeness on the OP’s part had she cancelled altogether?
Let’s say the OP’s friend messaged her at 6 ahead of her supposed arrival at 7. If we give OP half an hour to get to her friend’s house, half an hour for the food to arrive once ordered and then half an hour to eat, that still means the OP could have decided as late as 6.30 that she didn’t fancy vegetable curry, messaged her friend, taken an hour to eat something else and get ready and still have arrived at her friend’s at 8 for drinks.
OP could have said she didn’t fancy vegetable curry and would just come for drinks. She could have said “Shall we go to the restaurant instead then, if you’re not happy having meat in the house?” She could have cancelled altogether. She did none of those things. Instead she still went, she ordered the vegetable curry, ate it despite hating it and then found a way to
make it all her friend’s fault.