@mdxclr – Good catch, don’t I feel silly. I looked again and it may be in the reposition functionality. That is the only other place we modify opacity.
The animation for the overlay simply uses .fadeIn() which shouldn’t do that.
During positioning though we have to make the popup visible to get its size properly for positioning. A hidden element has size of 0x0, meaning positions will be incorrectly calculated.
https://github.com/PopupMaker/Popup-Maker/blob/master/assets/js/src/site/plugins/pum.js#L488-L491
I have subsequently (since writing this section of code) learned that .show() has a small animation time (works like very fast fadeIn) unless you do .show(0), so I am going to change that there to begin with. Same with .hide() at the end
https://github.com/PopupMaker/Popup-Maker/blob/master/assets/js/src/site/plugins/pum.js#L531-L533
When it flashes, do you see the entire popup or just the overlay? If the entire popup we can test if this is the right section of code to look at by using a position like bottom right. It will flash in the middle of the screen then move. If just the overlay then a bit harder to confirm, but let me see if I can duplicate it, and if changing those to .show(0) & .hide(0) would help.
One last thing to clarify, your trigger, I am assuming auto open, default delay?
Generally js like that function should run in mere milliseconds, faster than the eye can detect, so I am wondering if something is causing it to be slower. Just to be sure its not device related, this isn’t a small low power netbook or similar, browsers run JS based on CPU clock cycles, so its conceivable that what should be a millisecond could be slowed down enough to be a flash. Unlikely this matches your situation though, but want to be sure I have all the most relevant info as this script has been in place since v1.0, and this is the first report so I’m not sure why its happening, just taking educated guesses based on what I do know.