His dialogue with Astarion, after you finish his quest, is a little concerning as well, I'm not sure how or why Halsin would know my durge and Astarion were intimate again if you keep him as a spawn. Astarion is definitely not the tyoe to boast about that part of his life to the point Halsin knows. Not to mention the disapproval you get when you are going to the Drow twins, Halsin asks to join and the player says no. I get maybe Astarion and Shadowheart wants Halsin to join but if the player says no then that's that. No need for the player to feel guilty bc they said no, also I feel like it is crossing boundaries. This is my entire opinion though I'm sure others see it differently.
Exactly that. The same with going skinny dipping and "making sandcastles" with Shadowheart. She specifically mentions waiting until the rest is asleep, then the morning after she mentions hoping the rest won't notice the sand in her hair. It doesn't make sense that Halsin would instantly know what happened in the next party banter and try to invite himself to next time unless he was already involved in a romantic triangle of sorts at that point.
It's like it's flagged as if Halsin is always involved in your relationship with Astarion and Shadowheart and thus knows everything, regardless of you rejecting him outright at the start of act 3. That's the most important flag to fix I think, because all the other stuff can be shrugged off as him being a bit clueless on what flirting is and you taking until act 3 to set things straight. If you reject Halsin in act 3 and it doesn't properly flag things to recognize that you rejected him, it just feels as if both Halsin and your romantic partner act like they can ignore your rejection of consent and try to push your no to a yes. Even if you can logically look at that being a dialogue bug within the game, it feels very icky playing the game as it can happen now and has been happening for over a year without a fix.