Page MenuHomePhabricator

Non-ideal view in mobile when using browser's "desktop" mode
Closed, WontfixPublic

Description

(See https://discourse.phabricator-community.org/t/phabricator-does-not-respect-have-a-request-desktop-site-function/3053)
Using Mobile Chrome (I tested on Chrom 76 on Android, reported on iOS in discourse), and selecting the browser's "Desktop Site" mode, We're getting some un-desired results:

Screenshot_20190826-182516.png (3×1 px, 150 KB)

The expectation is to see a super-high-res version of the homepage, with all the panels displayed in tiny letters.

Event Timeline

I'm guessing it's a media-query being calculated on some metric that isn't being scaled by the browser - "inches" maybe?

I'd like to understand why this option is useful before making any changes here (that is, why wasn't the user happy with the site as it appeared by default on their device)?

We serve every client the same version of the site (not quite, but very nearly) and "Request Desktop Site" can't possibly be what this option actually does since clients don't request sites for particular devices.

If this option is "Request Site, Pretending to be a High-Resolution Device", I'd argue this is possibly a bug in Mobile Chrome, but that's a few steps away.

epriestley claimed this task.

Use case from the thread is far off the beaten path ("The ideal version of the site on devices is a tiny version of the site on desktop"), so I'm not planning to put the time into investigating this unless substantially more interest emerges. I doubt the root issue is strictly a bug in Phabricator.

A quick search on StackOverflow suggests the only change to request behavior is changing the UA string, so perhaps the synthetic device that Chrome decides to pretend to be on the client has dimensions which we consider "tablet-like". In this case, you'd probably get the "desktop version" of the site by rotating the phone 90 degrees and then using "Request Desktop Site", but who knows. Chrome doesn't (apparently) send a header we can use to, say, lock the result into desktop mode, so "fixing" this would likely involve changing our tablet breakpoint to be smaller. However, tablets have been getting larger, so this is conceptually a "bad" change.

I suspect the real "fix" here is to add "device preferences" in Settings with options like "Responsive Behavior: default|device|tablet|desktop", desktop notifications, etc., and then let users bind sessions to device preferences (so your phone session knows it's supposed to act like a phone, except that you like a tiny version of the site and sound effects), but I'd like much stronger set of motivating use cases for this first.