How to fix "LogAbilitySystem: Display: UAbilitySystemComponent::OnClientActivateAbilityCaughtUp. Ability Default__Punch_C caught up to PredictionKey 70 but instance is still active and in predicting state." warning?

Pretty much the question. Everything in the GameplayAbility is working properly (to my knowledge and assuming PredictionKeys increment statically), but I always get the log warning:

LogAbilitySystem: Display: UAbilitySystemComponent::OnClientActivateAbilityCaughtUp. Ability Default__Punch_C caught up to PredictionKey 70 but instance is still active and in predicting state.

I did some digging through the C++ code but I couldn’t figure out why the ability was never moving to the “confirmed” state despite my calling of CommitAbility. The only way to get rid of the error is to connect all my GameplayTask exec outputs straight to EndAbility, but then they just complete without waiting for the appropriate event.

Attached below is my graph and console log, is there something I’m missing? There’s little to no documentation outside the source code and no record of anybody getting this error anywhere so I feel like I’m missing something important.

I have same problem :frowning:
Looking for answer…

Anyone ??? any ideas ???