UE4 GAS Melee Combat prediction

What I have:

Different melee attack montages with AnimNotify Melee_Trace in the half of the montage (when weapon is supposed to hit someone).

I’m listening for gameplay event sent by this montage in the gameplaby ability after montage playing and when it triggers, I do capsule trace on server (like in Lyra), apply melee logic like stuns, microstuns, etc. Also with this notify ability should end so user could activate another melee ability.

However, I don’t get when to end ability for adequate prediction.

  1. I always “EndAbility” on montage complete / blend out and cancel on interruption.

What I tried:

  1. End ability on server when animnotify hits. Result: no prediction, with high ping the ability will only end with the end of montage.
  2. When animnotify hits, also end ability locally if not server. Result: I can start executing new ability, but it seems that “EndAbility” from the previous interrupts new ability, even if instancing is per execution, not per actor.

What I want is that new ability can be activated with prediction (so I guess I need “EndAbilityLocally” when animnotify hits), but server doesn’t interrupt new activated ability because of “end ability” triggered by server arrives with latency. (Q1) How can I achieve that?

(Q2) Maybe there is another approach for good prediction?

(Q3) Also, what’s Instanced Per Execution for if it ends another instance of ability?

(Q4) Another problem is that anim notifies don’t trigger sometimes on server (from client, of course) for some reason and damage/stuns/etc is not applied.

(Q5) Is Gameplay Ability Task always ended when gameplay ability ends?