Since detecting FB-refreshes is impossible, unless you wait for Rip to be refreshed a 4th time by mangle/shred, or go for a more reliable approach of checking if it ends when it shoud, I've decided to use a different way and do a preprocess phase of the combat log, where I only look for FB/Rip durations. This allows me to pre-flag the FB events as "refreshes" and makes the analysis code less messy.
Alternatively, I could go for some on-the-fly log editing, adding AURA_REFRESH events for Rips where they should be. I'll try both approaches. Whatever the result, having a preprocess phase will make life easier for several other things (I could consider moving the OOC use detection there, for example).
Hearthstone: Deeper in the Dungeon
2 hours ago