I host a lot of Shabbat dinners for friends, and for a few recent meals, I've had guests cancel on me at the last minute. I've already made all the food, sometimes even set the table, and then I get an email that for some reason or other they can't make it. A last minute email is better than having people just not show up, which I've also had happen, but I can't imagine ever doing something this rude to a friend who's invited me for dinner. How should I respond when this happens, and is there any way to communicate to people before a meal that when they accept, I really expect them to show up?
I also host a lot of meals, and I think anyone who does has had this happen to them. I often host large-scale meals for grad students, many of whom I don't necessarily know personally. I've always speculated that they see the meal as an "event" rather than a dinner I'm preparing and hosting in my home, so perhaps they consider their attendance somewhat optional, not realizing that a certain amount of food has been prepared with them in mind.
However, even giving people a supreme benefit of the doubt, a personal invitation from a friend is hard to misinterpret. You’re absolutely right that this is rude, and you’re totally justified in being offended. There are a few questions you need to ask yourself before you decide how to respond: Is this an isolated incident, or a pattern? Do I value this person's friendship enough to overlook this behavior? Is this someone I trust enough to be honest about my feelings?
If this is an isolated incident, then you’re best off trying to put it out of your head and move on. Invite them again in the future and hope that they'll confirm that this was, indeed, an isolated incident. If this is a pattern, then plan to see this friend at bigger events or meals at other people’s homes, and don’t issue personal dinner invitations any more. If it’s someone whose friendship matters more than any particular experience, then even a pattern of bad behavior can sometimes be overlooked. If the person is more like an acquaintance, then at least you've learned more more about his/her character, and in the future, surround yourself with people whose social styles more closely match your own.
There’s still the moment of reaction when guests tell you they’re not going to show up, and you will benefit from a strategy to deal with that moment of disgust. If it’s an email or text, you have the advantage of time and space, plus the person not being able to see your facial expression. Regardless of who the person is, say, “I’m sorry you can’t make it, and hope to see you soon.” If the guest tells you this on the phone or in person, do your best to remain neutral and try to say the same thing, even if your face shows that you feel otherwise. As rude as it is for someone to do this to you, you don't benefit from calling them out on it or being punitive. If someone doesn't show up at all, you can certainly hope there will be an email waiting for you after Shabbat with an explanation. If there isn't, send your own message that says, "We missed you on Friday, and I just wanted to check in and be sure everything is OK." Then, try to let it go, and concentrate on more reliable guests in the future.