Closed Bug 1099105 Opened 10 years ago Closed 6 years ago

maps.yandex.ru sends Firefox Mobile to an apps download page

Categories

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

All
Android
defect

Tracking

(platform-rel -)

RESOLVED FIXED
Tracking Status
platform-rel --- -

People

(Reporter: lakostis, Assigned: karlcow)

References

()

Details

(Whiteboard: [platform-rel-yandex] [sitewait])

Looks like their UA detection engine doesn't know anything about FxOS
The maps.yandex.ru site behaves very differently in different browsers.

In Firefox on Android it redirects to Android Marketplace.

If I spoof as Safari on the iPhone, I get to the maps website, nice and mobile-friendly. At first glance it seems to work perfectly well in Firefox too (although according to the hostname it's in "beta").

If, however, I send the Firefox OS User-Agent string, I'm taken through a pretty confusing chain of redirects:

GET http://maps.yandex.ru/ HTTP/1.1
Host: maps.yandex.ru
User-Agent: Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: no,en-us;q=0.8,en;q=0.5,fr;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Cookie: yandexuid=2586545651415986195; _ym_visorc_24367924=w; _ym_visorc_26337327=w
Connection: keep-alive


HTTP/1.1 302 Found
Server: nginx/1.4.7
Date: Fri, 14 Nov 2014 22:54:27 GMT
Content-Type: text/xml; charset=utf-8
Connection: keep-alive
Cache-Control: max-age=0, must-revalidate, no-cache, no-store, private, proxy-revalidate
Expires: Fri, 14 Nov 2014 22:54:27 GMT
Location: //beta.maps.yandex.ru/?page=index
X-Frame-Options: DENY
Content-Length: 1572



------------------------------------------------------------------
GET http://beta.maps.yandex.ru/?page=index HTTP/1.1
Host: beta.maps.yandex.ru
User-Agent: Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: no,en-us;q=0.8,en;q=0.5,fr;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Cookie: yandexuid=2586545651415986195; _ym_visorc_24367924=w; _ym_visorc_26337327=w
Connection: keep-alive


HTTP/1.1 301 Moved Permanently
Server: nginx/1.4.7
Date: Fri, 14 Nov 2014 22:54:27 GMT
Content-Type: text/html
Content-Length: 92
Connection: keep-alive
X-Powered-By: Express
Location: http://m.ya.ru/ymm
Vary: Accept
X-Frame-Options: DENY



------------------------------------------------------------------
GET http://m.ya.ru/ymm HTTP/1.1
Host: m.ya.ru
User-Agent: Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: no,en-us;q=0.8,en;q=0.5,fr;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive


HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Fri, 14 Nov 2014 22:54:27 GMT
Content-Type: text/html
Content-Length: 154
Connection: close
Location: http://m.soft.yandex.ru/maps/?dl=1



------------------------------------------------------------------
GET http://m.soft.yandex.ru/maps/?dl=1 HTTP/1.1
Host: m.soft.yandex.ru
User-Agent: Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: no,en-us;q=0.8,en;q=0.5,fr;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Cookie: yandexuid=2586545651415986195; _ym_visorc_24367924=w; _ym_visorc_26337327=w
Connection: keep-alive


HTTP/1.1 301 Moved Permanently
Server: nginx/1.6.1
Date: Fri, 14 Nov 2014 22:54:27 GMT
Content-Type: text/html
Content-Length: 184
Connection: keep-alive
Location: https://m.soft.yandex.ru/maps/?dl=1
Strict-Transport-Security: max-age=31536000



------------------------------------------------------------------
GET https://m.soft.yandex.ru/maps/?dl=1 HTTP/1.1
Host: m.soft.yandex.ru
User-Agent: Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: no,en-us;q=0.8,en;q=0.5,fr;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Cookie: yandexuid=2586545651415986195; _ym_visorc_24367924=w; _ym_visorc_26337327=w
Connection: keep-alive


HTTP/1.1 200 OK
Server: nginx/1.6.1
Date: Fri, 14 Nov 2014 22:54:28 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
X-Frame-Options: Deny
X-Content-Type-Options: nosniff
Content-Length: 14778



------------------------------------------------------------------

Wow.

It would be cool if Firefox OS (and perhaps Firefox on Android too) could simply be sent to the beta.maps.yandex.ru site, like Safari.
Whiteboard: [country-ru] → [country-ru] [serversniff] [contactready]
See Also: → 878286
We don't support FxOS anymore, but this reproduces on Firefox for Android still: we get an app download page, and Chrome Mobile gets a nice mobile site (after you decline an app download).

To investigate how we behave if we spoof as Chrome Mobile.
OS: Gonk (Firefox OS) → Android
Summary: maps.yandex.ru can't indentify Firefox OS → maps.yandex.ru sends Firefox Mobile to an apps download page
platform-rel: --- → ?
Whiteboard: [country-ru] [serversniff] [contactready] → [country-ru] [serversniff] [contactready] [platform-rel-yandex]
Whiteboard: [country-ru] [serversniff] [contactready] [platform-rel-yandex] → [platform-rel-yandex]
platform-rel: ? → -
When entering https://maps.yandex.ru/

* Firefox Android 
  is redirected to https://mobile.yandex.ru/apps/android/
* Firefox Android with Chrome UA 
  is redirected to https://yandex.ru/maps/
  (working on Gecko)

Switching to needscontact
Whiteboard: [platform-rel-yandex] → [platform-rel-yandex] [needscontact]
(In reply to Karl Dubost :karlcow from comment #3)
> When entering https://maps.yandex.ru/
> 
> * Firefox Android 
>   is redirected to https://mobile.yandex.ru/apps/android/
> * Firefox Android with Chrome UA 
>   is redirected to https://yandex.ru/maps/
>   (working on Gecko)
> 
> Switching to needscontact

Have we tried our Yandex discussion mailing list?
Thanks for the reminder.
Done.
Switched to sitewait.
Assignee: nobody → kdubost
Status: NEW → ASSIGNED
Whiteboard: [platform-rel-yandex] [needscontact] → [platform-rel-yandex] [sitewait]
For people reading this bug, the user agent for Firefox Android  follows this pattern:
User-Agent: Mozilla/5.0 (Android 5.1.1; Mobile; rv:52.0) Gecko/52.0 Firefox/52.0

In General the User agent strings are documented at
https://developer.mozilla.org/en/docs/Gecko_user_agent_string_reference
Experiment this morning:

0. With Firefox Desktop
1. Activate responsive mode
2. Put DPR = 3, activate touch events
3. Set UA string to "Mozilla/5.0 (Linux; Android 4.4.4; SH-01G Build/SB080) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36"
4. Enter https://maps.yandex.ru/ we get redirected to https://yandex.ru/maps/


zoom in with +, zoom out with +, change layers, geolocation, traffic information. 
All of these are working in Gecko (when faking the UA to be chrome).
Priority: -- → P1
The "Download App" overlay can now be dismissed and the site can be accessed.

[Tested with:]
[Browser / Version: Firefox Nightly 64.0a1 (2018-09-13)
Operating System: Google Pixel (Android 9) - 1080 x 1920 pixels (~441 ppi pixel density), Samsung Galaxy S7 Edge (Android 8.0.0) - Resolution 1440 x 2560 pixels (~534 ppi pixel density)

Thus closing the issue as Fixed.
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
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.