I agree that forgiveness can't be contingent on whether future conditions are satisfied. I'm not sure if we forgive x at one time we commit ourselves to always forgiving x, but maybe.
But what is important is to distinguish forgiveness from forgetting data upon which to base one's own autonomous choices.
We recognize and accept people's flaws. We forgive them for them. But we also must make our choices based upon a recognition of those flaws.
My h is frequently egregiously late, he has been his whole life. I forgive him repeatedly. But sometimes I stop to consider how this will affect my future choices? Will I not rely on him to be on time in x circumstance? Will I depart for event x without waiting for him? I don't ignore the fact that he has been late frequently in my choices simply because I forgive him. That would be unkind to myself, unwise, and give rise to a lot of resentment. Rather I have to own my choices as ones I freely choose while knowing full well that there is a good chance h will run late. My choice.