Closed Bug 1174088 Opened 9 years ago Closed 9 years ago

Vine is not operational for Windows Firefox users

Categories

(Web Compatibility :: Site Reports, defect)

Unspecified
Windows
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: caspy77, Unassigned)

Details

(Whiteboard: [sitewait] [country-us] [js])

There was a report on reddit indicating the Vine was not working: http://www.reddit.com/r/firefox/comments/39i0f8/vine/ This was on a variety of machines multiple profiles, no addons. I tested out https://vine.co/ and it also did not work. Just gets a sort of loading spinner. After querying on IRC it seems that it works in other browsers but not in Firefox on Windows. While it *does* seem to work in Firefox on Linux and Mac. This site indicates problem reports started coming in on Thursday: https://downdetector.com/status/vine
OS: Unspecified → Windows
I can reproduce. There's an interesting error message in the console: TypeError: e.toLowerCase is not a function This error happens somewhere in browser detection code - e is a function, while the code calling toLowerCase() obviously expects a string. The getOS method is a good place to start digging: this.getOS = function () { return b.rgx.apply(this, w.os) } In rgx, we find this charming and readable line: typeof u === s && u.length > 0 ? 2 == u.length ? typeof u[1] == a ? e[u[0]] = u[1].call(this, c) : e[u[0]] = u[1] : 3 == u.length ? typeof u[1] !== a || u[1].exec && u[1].test ? e[u[0]] = c ? c.replace(u[1], u[2]) : r : e[u[0]] = c ? u[1].call(this, c, u[2]) : r : 4 == u.length && (e[u[0]] = c ? u[3].call(this, c.replace(u[1], u[2])) : r) : e[u] = c ? c : r; Anyway - luckily we don't need to unravel that line, because just one stack frame up from the code that fails, we find this: for (var a in t[n]) if (y.has(t[n][a], e)) return n === i ? r : n t[n][a] is the argument that turns into something unexpected. The enumeration finds a property called _super, which starts like this: function m() { var e, t = this.__nextSuper; Because this function doesn't have a toLowerCase method, site fails. A relatively quick band-aid mode is adding a workaround preventing non-strings: for (var a in t[n]){ if(typeof t[n][a] != 'string')continue; if (y.has(t[n][a], e)) return n === i ? r : n }
(The variables near the failing command are related to Windows XP detection I think.. Might very well break only on Windows.)
Component: Outreach Request → Desktop
Product: Developer Engagement → Tech Evangelism
Whiteboard: [needscontact] [country-us] [js]
Whiteboard: [needscontact] [country-us] [js] → [sitewait] [country-us] [js]
Hey Trix, would you mind taking a look at this? Thanks!
FYI, just checked out Vine again and the site seemed to load fine now. I clicked on a couple videos on the front page and they also worked. So I didn't fully get the comments above, but if this turned out to be something they were doing wrong, we can probably close this. If this revealed something we are doing wrong, we should reduce it and change the product/component.
Thanks for reporting back Caspy7. Vine has said they're taking a look at this too--so it's possible they pushed out a fix, or it was a temporary problem. Let's go ahead and close.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Just spoke with someone at Vine and they did push out a quick fix. \o/
Nice. I'm just flummoxed that such a large site would go for so long broken for Firefox.
Product: Tech Evangelism → Web Compatibility
You need to log in before you can comment on or make changes to this bug.