Even with the three-to-four-ish battles in Rivington, there is almost no need for me to even short rest there. Not with a well-equipped GloomRanger/FastHands/Sorc Tav and a healthy bit of companion cycling, at least. If it were a no-fast-travel area, that would be different, but then you wouldn't be able to long rest there anyway.
What happened earlier was that I simply plowed through all of those battles taking barely any damage in each one, because I'm all about using stealth and high initiative in this playthrough to maximize tactical advantage. I needed to short rest after fighting both the Rats and the Stone Lord thugs at the same time. All the other battles in Rivington are like 3-4 enemies and, with a bit of up-front planning and the right people/equipment available, easily beaten without breaking a sweat. Even so, much of what combat is there can be avoided with the right dialogue choices, a bit of stealth, or simply ignoring the interaction altogether. Not to mention the fact that Rivington is literally set up to allow you to just skip right through it and go straight on into Wyrm's Crossing. (which i unwittingly did on my first time of Act 3)
I long rested just before the checkpoint into Wyrm's Crossing - got the emperor dream where he's moping about Stelmane. No Shadowheart romance dialogue.
Tried long resting again after that, still nothing from Shadowheart. That led me to suspect that it will probably never happen if I were to just keep going through Act 3 hoping it would eventually come up.
In a previous playthrough, I did just that - I had gone all the way through most of Wyrm's Crossing before needing to long rest. Did not get any skinny dipping with Shadowheart despite having a solid "No Notes - exceeded every expectation" relationship with her. Nothing during the Lower City, either, despite having more than a few nights where nothing else was happening. Just went straight to her grieving scene after clearing the House of Grief. Eventually just fudged it by installing the Script Extender mod and entering in a console command to force the scene to trigger.
In my current playthrough, all I did to get the scene to trigger after seeing it definitely not triggering when AFAIK it should have was to reload an earlier save from the very start of Rivington, and then immediately long-rested. That triggered the scene. Hence, my conclusion that some event in Rivington appears to be pre-empting this trigger somehow.