This is good advice but there is a time limit, especially for more interpersonal things. Don't be sitting and stewing over something for months, meanwhile acting like things are fine because you're afraid of confrontation, and then throw something that happened six months ago in their face. This has happened to me/my wife and:
It deteriorates trust in the friendship because the other person feels like now they never know if you're secretly upset about something and any conversation could turn into a criticism
If it happened more than a week ago, there's a good chance you or they might have forgotten important context. They can't explain why they were doing something or if you were misinterpreting because they don't remember actually doing it. It starts to feel like gaslighting instead of a valid conversation about how actions affected others.
Adding onto not remembering: it prevents them from being able to take responsibility and make meaningful changes because, again, they don't remember what led them to the harmful behavior in the first place - or even what they were doing/saying if the critique is vague
You don't have to always react in the moment, but there is a certain point when it is too late and you've got to let the old moment go and wait and see if it happens again - then react and explain your boundary in the recent context.












