Closed Bug 825138 Opened 12 years ago Closed 11 years ago

donate.mozilla.org - The site uses optimizely js library which is not compatible with Nightly20.0a1.

Categories

(Websites :: donate.mozilla.org, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: alice0775, Unassigned)

References

()

Details

(Keywords: regression)

Attachments

(1 file)

The site uses optimizely js library which is not compatible with Nightly20.0a1.

Error: TypeError: o.style is undefined
Source file: https://cdn.optimizely.com/js/25134714.js
Line: 48
 

STR
1. Open about:home till the following snippet is shown

Doing good is part of our code (pun intended). Watch our video and help keep the Web a force for good by making a year-end donation to Mozilla.

2. Click "Watch our video"

Actual results:
Error: TypeError: o.style is undefined
Source file: https://cdn.optimizely.com/js/25134714.js
Line: 48
Moving the to right component and CC'ing Ryan as he's listed on https://wiki.mozilla.org/Websites/Active_List#Donate as the product owner.
Component: General → donate.mozilla.org
Product: Snippets → Websites
Adding leads for dev at Foundation + Ben Simon who manages fundraising.
Will flag for Optimizely.
(In reply to Alice0775 White from comment #0)
> The site uses optimizely js library which is not compatible with
> Nightly20.0a1.

(though that may get fixed -- bz has contacted them, per bug 824301 comment 26 & bug 824301 comment 27, and apparently they responded and there's some ongoing discussion via email, per https://twitter.com/Optimizely/status/282938379761496066 )
I also heard back from them with the following:

"I am able to reproduce the error(s). It looks like there are multiple javascript conflicts between just about every .js file sourced on the page, not just Optimizely’s snippet. We’ll look into it, but it may take a couple days due to the upcoming holiday."
Depends on: 824301
(In reply to Ben Simon from comment #5)
> I also heard back from them with the following:
> 
> "I am able to reproduce the error(s). It looks like there are multiple
> javascript conflicts between just about every .js file sourced on the page,
> not just Optimizely’s snippet. We’ll look into it, but it may take a couple
> days due to the upcoming holiday."

Thanks, Ben! Keep us posted.
This is the screenshot from optimizely of the many conflicts between the .js files sourced on the page.

They'll be in touch with more on their end, but looks like it might be more than Optimizely.
(In reply to Ben Simon from comment #7)
> Created attachment 697097 [details]
> Screenshot of the js errors on the page
> 
> This is the screenshot from optimizely of the many conflicts between the .js
> files sourced on the page.
> 
> They'll be in touch with more on their end, but looks like it might be more
> than Optimizely.

That's because their scripts go through and mess up properties on the nodes. See bz's analysis in bug 824301 comment 26. In particular:
> once [Optimizely's] script has run, setting .innerHTML on, say, an HTML <div>
> no longer works.  Neither does setting all sorts of other properties (e.g. no
> more setting .onclick and company).

I think "all sorts of other properties" includes .style, which covers half of the errors in that screenshot.  (The rest are about jQuery and $ being undefined; I don't know what's going on there)
> but looks like it might be more than Optimizely.

Again, Optimizely goes through and wipes out every single DOM property defined on the HTMLElement interface.  The .style thing being broken is due to Optimizely.  And that being broken makes jQuery setup throw, so then you don't have jQuery or $ defined, and anything using those is broken, and you lose as you see in the screenshot.

So as far as I can tell, this is all Optimizely.
Bug 827692 likely has the same root cause as this, doesn't it?
Still no words/updates on this Optimizely issue ?
I know they're working on it; just pinged.
They claim that to me too.  I finally got hold of someone yesterday who may know something instead of just giving me the run-around, but it sounds like they just don't think this is a high priority (perhaps because they apparently don't understand the problem).  This guy yesterday wanted to talk to me today, I suggested a time range.... and more silence.

So my current assumption is that they won't fix anything anytime and we need to work around them somehow; I'm looking into options for that.
That shouldn't be our assumption. We pay them a good deal of money. Please don't also ping them, though -- multiple points of contact can be confusing. If I don't hear back today with more progress, I can escalate.
> We pay them a good deal of money.

Ah, that definitely changes things in terms of us being able to get them to do something.

> Please don't also ping them, though -- multiple points of contact can be confusing.

So to be clear, I'm pinging them with my browser implementor hat on, because they're breaking lots of websites, not about this specific site.  And my timeframe for either them fixing or us fixing on our end is about 2 weeks max, so if I don't hear that they've fixed this in about the next two days I'll start working on figuring out a way to work around on our end.  The most likely candidate at the moment, fwiw, is trying to see whether we can just not load their script in the browser and seeing if that makes things happy enough...  At this point we've spent several engineer-days on this on our end, and I expect us to spend more.  :(

Note also that it's been well over two weeks now since we started trying to get them to look at the problem, so the lack of useful response and the runaround I've been getting are not very encouraging.  But please do let me know if they get back to you today.
Gotcha, on all counts. If I haven't heard back by this afternoon I'll escalate and cc you.
And one more comment.  The people I've dealt with there so far, including the director of engineering who mailed me today, just don't understand what the problem is.  If they're actually working on this, they should really get in touch with me so I can point them to the exact broken part of their script, since we already have this information and they seem to be struggling to understand where to look for it.  So if you're going to ping or escalate, please urge them to have their people working on the code actually talk to us or something...
And thank you for helping out with this!  A cc would be very much appreciated.
Well, I am of little faith.  Looks like they have rolled out a fix for this after all, at least to some of their CDN.  In particular, donate.mozilla.org is fixed now.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: