Closed Bug 964547 Opened 10 years ago Closed 6 years ago

www.vente-privee.com sends desktop site to Firefox OS

Categories

(Web Compatibility :: Site Reports, defect, P5)

All
Gonk (Firefox OS)
defect

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: karlcow, Assigned: karlcow)

References

()

Details

(Whiteboard: [serversniff] [country-fr] [sitewait])

Attachments

(2 files)

Attached image 020.png
There are funky things going with different behaviors on the command line and the devices.
This one is funky. They could save performances by avoiding RTT with less redirections and also sends the mobile version to Firefox OS.

Compare the responses to the following HTTP requests:

For iOS Safari, there are 4 HTTP redirections to reach the final mobile page on the command line. On the device the final page is https://m.vente-privee.com/w/index.html#login

→ http --print hH GET http://www.vente-privee.com/ "User-Agent: $APHUA" 
GET / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, compress
Host: www.vente-privee.com
User-Agent:  Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3

HTTP/1.1 301 Moved Permanently
Connection: keep-alive
Content-Length: 0
Date: Tue, 28 Jan 2014 00:04:38 GMT
Location: /vp4/
Server: AkamaiGHost

→ http --print hH GET http://www.vente-privee.com/vp4/ "User-Agent: $APHUA" 
GET /vp4/ HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, compress
Host: www.vente-privee.com
User-Agent:  Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3

HTTP/1.1 302 Moved Temporarily
Cache-Control: private, max-age=0
Connection: keep-alive
Connection: Transfer-Encoding
Content-Type: text/html
Date: Tue, 28 Jan 2014 00:04:50 GMT
Location: http://m.vente-privee.com
Server: Microsoft-IIS/6.0
Set-Cookie: context=; path=/
Transfer-Encoding:  chunked
Vary: Accept-Encoding
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET

→ http --print hH GET http://m.vente-privee.com "User-Agent: $APHUA" 
GET / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, compress
Host: m.vente-privee.com
User-Agent:  Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3

HTTP/1.1 302 Found
Connection: keep-alive
Content-Length: 0
Date: Tue, 28 Jan 2014 00:05:04 GMT
Location: https://m.vente-privee.com/w/index.html
Server: PWS/8.0.22

→ http --print hH GET http://m.vente-privee.com/w/index.html "User-Agent: $APHU
A" 
GET /w/index.html HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, compress
Host: m.vente-privee.com
User-Agent:  Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3

HTTP/1.1 200 OK
Age: 422247
Cache-Control: max-age=604800
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 1739
Content-Type: text/html
Date: Tue, 28 Jan 2014 00:05:14 GMT
ETag: "41ef86bc-00001702-52a1f198"
Expires: Thu, 30 Jan 2014 02:47:47 GMT
Last-Modified: Fri, 06 Dec 2013 15:47:36 GMT
Px-Uncompress-Origin: 5890
Server: PWS/8.0.22
Vary: Accept-Encoding
X-Px: ht h0-s66.p3-ams.cdngp.net


AND for Firefox OS. We fall into an infinite loop for Desktop if we don't accept the cookies with a session in the URI under HTTP (not secure) but an URL which says SiteSecure. I'll have to dig a bit more here. Anyway, we fall into an infinite loop on the command line. On the device we eventually fall on https://us.ventreprivee.com/main/#/signin


→ http --print hH GET http://www.vente-privee.com/ "User-Agent: $FOSUA" 
GET / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, compress
Host: www.vente-privee.com
User-Agent:  Mozilla/5.0 (Mobile; rv:18.0) Gecko/18.0 Firefox/18.0

HTTP/1.1 301 Moved Permanently
Connection: keep-alive
Content-Length: 0
Date: Tue, 28 Jan 2014 00:08:20 GMT
Location: /vp4/
Server: AkamaiGHost

→ http --print hH GET http://www.vente-privee.com/vp4/ "User-Agent: $FOSUA" 
GET /vp4/ HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, compress
Host: www.vente-privee.com
User-Agent:  Mozilla/5.0 (Mobile; rv:18.0) Gecko/18.0 Firefox/18.0

HTTP/1.1 302 Moved Temporarily
Cache-Control: private, max-age=0
Connection: keep-alive
Content-Length: 145
Content-Type: text/html; charset=utf-8
Date: Tue, 28 Jan 2014 00:08:28 GMT
Location: /vp4/Login/Portal.ashx
Server: Microsoft-IIS/6.0
Set-Cookie: context=; path=/
Vary: Accept-Encoding
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET

→ http --print hH GET http://www.vente-privee.com/vp4/Login/Portal.ashx "User-A
gent: $FOSUA" 
GET /vp4/Login/Portal.ashx HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, compress
Host: www.vente-privee.com
User-Agent:  Mozilla/5.0 (Mobile; rv:18.0) Gecko/18.0 Firefox/18.0

HTTP/1.1 302 Moved Temporarily
Cache-Control: max-age=0, no-cache, no-store
Connection: keep-alive
Content-Length: 146
Content-Type: text/html; charset=utf-8
Date: Tue, 28 Jan 2014 00:08:40 GMT
Expires: Tue, 28 Jan 2014 00:08:40 GMT
Location: /vp4/Login/IntlMap.aspx
Pragma: no-cache
Server: Microsoft-IIS/6.0
Set-Cookie: context=nhl7USxL3Xy3+2WD7Fbc1Cdl2w4Gn8GLgOXNCUmE8iQ=; path=/
Vary: Accept-Encoding
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET

→ http --print hH GET http://www.vente-privee.com/vp4/Login/IntlMap.aspx "User-
Agent: $FOSUA" 
GET /vp4/Login/IntlMap.aspx HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, compress
Host: www.vente-privee.com
User-Agent:  Mozilla/5.0 (Mobile; rv:18.0) Gecko/18.0 Firefox/18.0

HTTP/1.1 302 Moved Temporarily
Cache-Control: max-age=0, no-cache, no-store
Connection: keep-alive
Content-Length: 315
Content-Type: text/html; charset=utf-8
Date: Tue, 28 Jan 2014 00:09:00 GMT
Expires: Tue, 28 Jan 2014 00:09:00 GMT
Location: http://en.vente-privee.com/vp4/Login/SiteSecure.ashx?cypher=GDs3wEzVUFOtx%2FLVFmFK5ETzl5T6bCNnZJIOMbAQAIguvDYxd%2FsA%2F05p3BGR3IKsbz%2BqxFs7t3omvfSvsEmDnjQxT9fBYwyOSxR9o5v22vs62Gr0M2xjVFi%2FhHoOyQTN
Pragma: no-cache
Server: Microsoft-IIS/6.0
Set-Cookie: context=nhl7USxL3Xy3+2WD7Fbc1Cdl2w4Gn8GLgOXNCUmE8iQ=Zc5zF1TqHadHGm9y34nmJQ==; path=/
Set-Cookie: .ASPXAUTH=; expires=Mon, 11-Oct-1999 22:00:00 GMT; path=/; HttpOnly
Vary: Accept-Encoding
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET

→ http --print hH GET "http://en.vente-privee.com/vp4/Login/SiteSecure.ashx?cyp
her=GDs3wEzVUFOtx%2FLVFmFK5ETzl5T6bCNnZJIOMbAQAIguvDYxd%2FsA%2F05p3BGR3IKsbz%2B
qxFs7t3omvfSvsEmDnjQxT9fBYwyOSxR9o5v22vs62Gr0M2xjVFi%2FhHoOyQTN" "User-Agent: $
FOSUA" 
GET /vp4/Login/SiteSecure.ashx?cypher=GDs3wEzVUFOtx%2FLVFmFK5ETzl5T6bCNnZJIOMbAQAIguvDYxd%2FsA%2F05p3BGR3IKsbz%2BqxFs7t3omvfSvsEmDnjQxT9fBYwyOSxR9o5v22vs62Gr0M2xjVFi%2FhHoOyQTN HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, compress
Host: en.vente-privee.com
User-Agent:  Mozilla/5.0 (Mobile; rv:18.0) Gecko/18.0 Firefox/18.0

HTTP/1.1 302 Moved Temporarily
Cache-Control: max-age=0, no-cache, no-store
Connection: keep-alive
Content-Length: 166
Content-Type: text/html; charset=utf-8
Date: Tue, 28 Jan 2014 00:09:25 GMT
Expires: Tue, 28 Jan 2014 00:09:25 GMT
Location: http://en.vente-privee.com/vp4/Login/IntlMap.aspx
Pragma: no-cache
Server: Microsoft-IIS/6.0
Set-Cookie: context=nhl7USxL3Xy3+2WD7Fbc1Cdl2w4Gn8GLgOXNCUmE8iQ=Zc5zF1TqHadHGm9y34nmJQ==&xe10mVoUFWU6evuczHjWbILfux78lliS4gUXf2dqGb0=QwaZTS7vS1IGDiGj2wnGzQ==; path=/
Vary: Accept-Encoding
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
When the mobile site is reached. There are more things in the way I guess.

https://m.vente-privee.com/w/assets/js/libs-min.js is using
/*! VentePrivee-Mobile-Webapp | v1.11.983.201311131052 | 13-11-2013 10:52 | (c) vente-privee.com */
/*! jQuery Mobile 1.3.1 | Git HEAD hash: 74b4bec <> 2013-04-10T21:57:23Z | (c) 2010, 2013 jQuery Foundation, Inc. | jquery.org/license */
* Klass.js - copyright @dedfat
 * version 1.0
 * https://github.com/ded/klass
* Amplify Core 1.1.0
* Amplify Store - Persistent Client-Side Storage 1.1.0
* Crypto-JS v2.3.0
* Swipe 1.0

For example in jQuery Mobile 1.3.1 I see
		function c() {
			var e = t,
				i = navigator.userAgent,
				n = navigator.platform,
				a = i.match(/AppleWebKit\/([0-9]+)/),
				o = !! a && a[1],
				s = i.match(/Fennec\/([0-9]+)/),
				r = !! s && s[1],
				l = i.match(/Opera Mobi\/([0-9]+)/),
				d = !! l && l[1];
			return (n.indexOf("iPhone") > -1 || n.indexOf("iPad") > -1 || n.indexOf("iPod") > -1) && o && 534 > o || e.operamini && "[object OperaMini]" === {}.toString.call(e.operamini) || l && 7458 > d || i.indexOf("Android") > -1 && o && 533 > o || r && 6 > r || "palmGetResource" in t && o && 534 > o || i.indexOf("MeeGo") > -1 && i.indexOf("NokiaBrowser/8.5.0") > -1 ? !1 : !0
		}


which will not catch us.


And they have also https://m.vente-privee.com/w/assets/js/app-min.js
Which has also a series of sniffing on its own, where it doesn't catch Firefox OS, but other things like BB10 and so on.

It requires more analysis
Flags: needinfo?(hsteen)
Whiteboard: [serversniff] [country-fr] [contactready] → [serversniff] [country-fr] [notcontactready]
This site was behaving weirdly when I tried to take screenshot, I had to set a delay of several seconds. Not surprised to learn that there are some loops..

As for CSS/layout issues on http://m.vente-privee.com/w/index.html, see this report for an overview. Seems one needs a registration for a closer look though.
Flags: needinfo?(hsteen)
Seems complaints about jquery.mobile-1.3.1.min.css in that report are bogus - need to fix the logic in Compatipede when *both* property name and value of a CSS declaration has a -webkit- prefix. .-o

It's nearly impossible in general to tell comprehensively where/if a specific piece of JS impacts the site. Here's some hints about how the sniffing is used - as far as one can get by just scanning..

https://m.vente-privee.com/w/assets/js/libs-min.js
sniffer is usually referred to as vp.is.* . It's used to create links to apps for the various platforms they have apps for. There's an oddish attempt at reading the language here:

vp.utils.getDeviceCulture=function(){var e=navigator.language?navigator.language:navigator.userLanguage;if(""==e||void 0==e)return!1;if(vp.is.Android){var t=navigator.userAgent.match("[a-zA-Z]{2}-[a-zA-Z]{2}");t&&(e=t[0])}return e=e.substr(0,2)}

Certain features are only made available on certain platforms:

isScene7ViewerEligible:function(){return this.model.isScene7()&&(vp.is.iOS||vp.is.Android||vp.is.Desktop)}

case"Invoice":return this.model.get("HasInvoice")&&(vp.is.iOS||vp.is.Android||vp.is.BB10||vp.is.Desktop)

e.ShowVBICoupon&&(t=this.model.get("VBICoupons"),(vp.is.Android||vp.is.BB10App)&&(t="https://docs.google.com/viewer?embedded=true&url="+encodeURIComponent(t)),e.UrlVBICoupon=t)

Style customizations:

zoomControl:vp.is.WindowsPhone||vp.is.Desktop,zoomControlOptions:{style:google.maps.ZoomControlStyle.LARGE}

i="pickup"!=t||vp.is.WindowsPhone?null:google.maps.Animation.DROP

Somebody with an account might want to investigate the apparent feature limitation regarding invoices. Per this superficial review, I can't see anything else that looks like it will have significant impact on the user experience.
Problem and link to this bug reported via Twitter :
https://twitter.com/valeryan24/status/428198641627459584

I got an answer but for the moment they ask me to call the customer service, I told to forward reference to their webmaster...
Whiteboard: [serversniff] [country-fr] [notcontactready] → [serversniff] [country-fr] [sitewait]
Attempting human contact 
http://twitter.com/MozWebCompat/status/496662958496550912
Assignee: nobody → kdubost
Status: NEW → ASSIGNED
We have been asked to go through the same thing which ends up at the phone call. 

> We’re sorry you’re experiencing technical difficulty 
> using the site. You can try closing the App/Web browser 
> to restart it.
> 
> Clearing your cookies using this link 
> http://www.venteprivee.com/clearcookies may also resolve 
> the issue. (Note: This link will sign you out completely, 
> and you will have to log back in).
> 
> If this does not help, please call us at 1-877-453-3909, 
> and one of our Ambassadors will be ready to assist you 
> with your purchase. 

This doesn't help for the technical issue. We need to enter in contact with people in charge of the Web site on the technical side.
Contacted another person working there today.
Added this colored syntax of the HTTP requests
https://gist.github.com/karlcow/86c497d259d4286557cd

for the discussion happening in 
http://twitter.com/titlap/status/580776034271907840
On March 26, 2015, The contact said:

> I've forwarded your email in office. We will have a look on it

As of today, the issue is not fixed.
Priority: -- → P5
Closing as we are not working on Firefox OS anymore.
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Product: Tech Evangelism → Web Compatibility
Component: Mobile → Site Reports
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: