He just hit me for the first time

We’ve been married for 6 years. We both practice islam. He is very hasty and hot headed when angry. He’s verbally abused me multiple times before when he had a tantrum, but always apologized and took it back afterwards. He understands he has mental health problems and has made effort last year (after years of suffering and begging) to get treatment at a psychiatrist — he is now on mood stabilizers daily. He’s worked with himself and is a good man when he is stable, which is about 80% of the time, but he is a completely different person when he is angry.

After an argument about me being away for two days at my sister’s who just gave birth (which he approved and was okay with), he just lashed out at me telling me I’m not allowed to visit her or my family for 2 weeks and I am not allowed to work anymore and to just obey him and his parents. Last night, I had a confrontation with his parents (with whom we live) about them not congratulating my parents about their nephew; he didn’t like that I confronted them. He swore at me and my family and called me names. It was terrible. And then he slapped me and told me to leave the house today before him getting back from work in 8 hours. Something like this has happened before (minus the hitting) and he has regretted it every time and apologized deeply and told me he has no life without me and that I should help him because he is sick.

I’ve made istikhara last night and I’m trying to get an appointment with my therapist right now. I don’t know what to do. Should I wait for him to cool off and wait for the apologies, or leave for good this time? We love each other and on a good day, we are perfect. But on bad days, he loses it completely and it’s like he’s a different man.