My partner and I have been together for over 8 years, since our late teens. Most of that time has been long distance (students at different unis etc) but we've made it work and I've been happy. He's currently doing a PhD up North away from his friends and family. I'm a junior associate at a US firm. His PhD has at least three years left to run.
He recently admitted cheating on me, only once, and catching a curable STD (which I have since tested negative for). He says he was struggling with his mental health, felt lonely and didn't want to admit how much he was struggling. He says he felt that I was always busy (which is true but I always found time when he asked me to) and he didn't want to excessively bother me. He says he made the irrational decision drunkenly one evening to cheat because he felt it would help him feel less lonely. He regrets it and wants to stay together.
In the gap between him cheating and him admitting it, we'd booked a expensive holiday together which I paid for. I cancelled the holiday but with hindsight it showed he was willing to conceal the cheating, even at financial cost to me, right up until he had to admit it.
I'm really in two minds here. I do and have always loved him. I was very happy with our relationship, even with the distance. However, three years of long distance is a long time and if we do stay together and things end up not working for another reason, I know I'll regret wasting what's left of my 20s. I also don't know how we could go about repairing the trust which has been broken, particularly in a long distance relationship. I had always seen him as a kinder, better, more honest person than me - which I now know wasn't true.
I realise this is the worst place to ask for advice, but there it's awkward and embarrassing to talk to friends and family who know both of us.
Do I stay with him?