He has dishonored his words, so I think you are right to feel upset and express your disappointment here.
But if he was apologetic or explained to you his change of mind, and you spill out the details in a desire for revenge or shame him, that's questionable.
That's why I asked f he had been apologetic or acted cocky. It does affect how people look at you when you post this issue here.
An analogy: Suppose your friend promised to help you coach your son for his exams. Last minute, he has something going on and changes his mind. Doesn't matter what it is. He has two choices here. First, tell you sorry, the session has to be canceled. Second, simply not turn up as if nothing happened.
Scenario 1: He apologizes. But you are still not happy. You bad mouth him in front of his other friends.
Scenario 2: He does not apologize. Simply does not turn up at all.
In scenario 1, you have over-reacted. Scenario 2, people will likely sympathize with you and think your friend is in the wrong. But note that regardless of the 2 cases, he dishonored his words. Same action, but 2 different outcomes based on how your friend handled the situation.
So you are shaming the seller here mainly cos he dishonored his words right? Never mind whether he apologized or not? It's more like out of revenge and also the bitter feeling thinking you will get the lens but in the end, you could not?
Have you considered how much he paid for the repair and maybe it's a substantial sum which made him feel later he would like to sell for more? You mean he doesn't have this right just becoz he promised you so no matter what he got to sell it to you? Yes, he dishonored his words but does he have that right to apologize and tell you his reason for backing out? He might not have considered the costs involved before the repair.
Just a thot... I'm not defending him.