Press Only not working

I thought I might be missing something as this seems a basic thing, but I keep testing and finding it not working.
I’m using Unity 2020.1.6.f14510. Input System has no update since April according to my package manager? Weird considering how fast bug fixes were coming before, but no matter.

Anyway, I’m just dealing with simple button stuff here. This happens on both keyboard & gamepad (and I’d wager anything). Just 1 player for this case, if it matters, Auto-Switch is on, default scheme is Any. I’m using Invoke Unity Events.

So, any which way here, my action gets triggered on both the Press AND Release of my button. I thought press only was default, but just to make sure, I added the interaction Press Only explicitly, but same issue.

I tried debugging a little, and on the press, my function gets triggered twice, once for started and once for performed. On release of my button, it gets triggered again (herein lies the error, I think), and then the phase is cancelled. I got around it with this:

 public void OnAttack (InputAction.CallbackContext context)
    {
        //UnityEngine.Debug.Log(context.interaction);
        //UnityEngine.Debug.Log(context.phase);

        // Avoid doing this on the RELEASE of the button
        if (context.phase != InputActionPhase.Canceled)
            animator.SetBool("attacking", true);
    }

…but shouldn’t have to do that, right?

Sorry, just updating this, I didn’t see before how to add the Bug prefix to the thread title, so I did that now.

Just following up on this…it’s getting kind of ridiculous. I’m not sure if this is just a problem where the Input System has not been designed to have an interaction set and use Unity Events, etc… but this bug is still here, it’s 5 months later, and it’s the simplest sort of asinine bug.

What’s more…it’s now worse. I just updated my project to Unity 2020.2.6f1, and it’s as if a gremlin went in and wrote a workaround for the fix I used in the code above. Now, the Unity Events that fire on a button press are actually incorrect! If I press a button, the Started and Performed fire on the downpress, and on the release…then Cancelled fires on the release twice… This input system has taken a lot of flack, but I’ve tried more than most to stick with it, but come on…Now there isn’t even a way to differentiate between a press and release in lower-level code.

One of the most basic functions actually has a regression bug, doesn’t appear to have been noticed in the first place, and now just to do a simple button press, what? “See the workaround, just set a counter variable and only perform your player’s action if the counter is < 2, then reset it. Ok now onto the next button.”