This is a weird one. Took me a while to find a commonality, but I can repro consistently.
STR:
Install uBO and uBO Extra
Install Stylus afterward
Install style and script:
https://pastebin.com/nwKDvqbZ
https://pastebin.com/JEATskBw
Test loading site: https://bit.ly/1bXeIjm
Very quick FOUC on page load.
AFAICT, uBOx isn't even applicable to anything loaded on theChive. Still, if Stylus is loaded when uBOx is already active, I get flashes there. Disable uBOx, still flashes. Reenable uBOx, flashes disappear. Also disappear if uBOx is disabled and you restart the browser.
Bottom line, if Stylus is loaded after uBOx you get FOUC. It's all very weird, and Stylus 1.4.2.2 has no issues with any of these scenarios.
Hopefully someone can repro, bc the fact that this bug seems to depend on which order the extensions are enabled in, is so odd that I wouldn't believe it if I hadn't seen it.
Edit: Updated STR to emphasize installation order
Edit 2: To be clear, the script has nothing to do with being able to repro the FOUC conflict. Only included bc they work together, so the CSS would be pretty broken w/out it. The script is a mess, but it works and I don't feel like fixing everything that's wrong with it. It's irrelevant to the issue though.
The issue is that somewhere along the way, AFAICT from testing in a fresh profile Canary as well, we became susceptible to some conflict depending on which order uBO Extra or Stylus is enabled. I can't repro in 1.4.2.2. It sounds kinda bonkers, so I'm also open to that possibility. Someone will have to confirm or deny.
Tested the steps to reproduce with Stylus 1.5.2 and 1.4.2. I can confirm that there is a flash when reloading the page with 1.5.2 that doesn't occur with 1.4.2.
Is this fixed in the current master?
I doubt it. I haven't had much time to look into it.
Is this fixed in the current master?
No. AFAICT, for some reason now, our content script execution is delayed by uBO Extra's, which has a slow check for non-HTML documents. This conflict only occurs after reloading or installing Stylus if uBOx is already active. If you toggle uBOx so that it's enabled after Stylus, the conflict disappears. Once you restart the browser, the conflict disappears.
Pre v1.5 has no conflict. Since it seems to be based on which order they're enabled in, I assume it's some sort of initialization which was changed in the refactor. I've tried investigating, but so much changed in v1.5 that I've had no luck narrowing it down.
Given the fact that it's kind of an edge case, and restarting the browser resolves it, it's not the biggest deal in the world. Still don't like the idea that in certain scenarios, we can be negatively affected by other extensions' content scripts. Also, I use uBOx, and I'm constantly reloading Stylus, so it's not such an edge case for me.
I think it's not a FOUC but a white screen. Actually, I always get the flash without installing any extension when visiting/reloading https://thechive.com, so I probably can't test it.
Windows 7 x64
Chrome Canary 74.0.3694.0
I always get the flash
In Chromium, the "white screen" issue is usually resolved by choosing a theme which specifies a background color, and not all do. Maybe try testing with this one.
/me hijacking a random FOUC-related thread to share some good news: Paint Holding - reducing the flash of white on same-origin navigations in Chrome Canary.
Not seeing any FOUC anymore in Chromium 74.
Most helpful comment
/me hijacking a random FOUC-related thread to share some good news: Paint Holding - reducing the flash of white on same-origin navigations in Chrome Canary.