No one is perfect. These good deeds you are doing are great and it is a sign that you are on the right path. However, this sin is doing is a stain that you should try to clean. This doesn’t mean that you are a hypocrite but it requires that you repent and feel deep remorse so that Allah would forgive you. so many times, Satan beautifies our own good deeds so that we are encouraged to sin as we have a lot of credit in our good deeds records. So, be careful.