Using the new refund UI results in refund recorded twice and contact owing money
CiviCRM 5.37.2, CiviCRM Stripe 6.6
Using the new refund UI for an event registration. I searched for the user, went to the events tab, found the event and clicked Edit. Then I scrolled down to Payments and clicked the little refund icon. Selected cancel participant on the popup dialog. (This isn't the refunded event, I'm just using it to show the icon I clicked on.)
Now what we see is the user owes money. Not only do they owe money, but it shows they paid a negative number, which is wrong. They paid $0, because they paid some amount and then we refunded that same amount.
Looking at payments for this event registration, I see the refund recorded twice. It looks like once with the original payment ID and once with a new refund ID.
This doesn't look right, especially the owing twice what they registered. Is there a way to prevent the user owing anything on a cancelled registration?