How to forgive?

My SO, while I went on vacation, tried to get his hands on coke for his brother and himself. He specifically said not to tell me. He wanted to snort it or whatever with his brother and play video games and stay awake all night.

I had no idea this was happening at all til I came back and spent the night with him. I had this bad gut feeling he was hiding something. So, while he slept beside me I searched his messages. Sure enough, texts back and forth with his brother about it. His brother is also married and said he’d have to keep it from his wife, who’s pregnant.

My heart dropped. I was furious. I woke him up, 2am, and went off. He said he kind of forgot they had even tried to because they couldn’t find anyone selling. So, they never did it, but they had every intention, despite the consequences. He didn’t even think to delete the messages. My guess is because he knew I trusted him 100% and had never looked through his phone once nor questioned his actions.

I went off on him about how he had it planned for at least 3 days to find some. (thats how long their messages went on for.)

One message even read “Megan’s leaving today so.” he had spent the whole day with me that day too, and he was planning it out. All the while acting like nothing was going on while we hung out before I left.

I told him he had no respect for me. For us. I told him I didnt deserve it. I was too good for him. I never lied or hid anything from him.

We talked and cried for hours. I wanted to go home so bad. I was very close to ending our relationship. The only other “drug” he used was weed. He had told me when he was younger he had experimented with some drugs, coke included. I didn’t judge, many people experimented. I just didn’t expect him to want to do it again 2 or so years of not doing it.

But I couldn’t bear the thought of not having him in my life, however. I loved him a lot. I knew he loved me too, he’d shown me plenty of times he did.

So, I gave him an ultimatum. I said I was half out of this relationship. I told him if he ever lied or hid something from me, no matter what it was, its over. I told him he’d have to work to get my trust back. I told him he needed to show me he deserved to be trusted again.

Things settled down. It was 5am when we both finally passed out. That morning I went back home.

Things were awkward and rough between us for a while. He didn’t call, neither did I. Text messages were short, nothing like our long and cute messages we’d sent before.

After a few months, things have gotten better. He’s got a new job which pays well and has great insurance. We talk like we used to. He hasn’t yet given me a reason to be suspicious of him, although I still get those feelings. He’s open with me about what he’s up to, where he’s going, and who he’s with. He hasn’t lied to me again, that I know of.

He has gained a bit of my trust back. And I feel as if our relationship is stronger than it was. Even if we do argue, things get settled quicker and talked out better.

We love each other very much. We’ve been talking about moving in together too, once we have the money. We both have promise rings which mean a lot to both of us. (He cried and nearly went crazy when he left his in the bathroom at work one day.)

And yet, despite all the progress, I still sometimes think back to what he did and how he lied to me and my heart sinks to my feet every time. I dont think about it usually, but when it does pop up, it still hurts. Sometimes I wonder if I did the right thing? Am I an idiot for giving him another chance?

But then when I see him and it all goes away. He makes me smile and laugh and feel loved. I feel safe when I’m with him.

I told him that when I forgive him for what he did I would tell him. I haven’t yet and it’s been a few months. I don’t think I’ve forgiven him completely just yet.

Has anyone gone through anything similar? Do you have any advice for me?

(we are in our 20s also, if that helps.)