Page MenuHomePhabricator

[BUG] Certain Articles can Scroll Left & Right
Closed, DeclinedPublicBUG REPORT

Description

Steps to reproduce

  1. Open "List of SEPTA Regional Rail stations" on en.wiki
  2. Attempt to scroll the content to the left

Expected results

the content doesn't scroll

Actual results

the content scrolls

Screenshots

Simulator Screen Shot Jun 21, 2016, 3.28.56 PM.png (1×750 px, 95 KB)

^ this list of a-z links appears to be the culprit
Simulator Screen Shot Jun 21, 2016, 3.23.47 PM.png (1×750 px, 188 KB)

Environments observed

App version: app store, current beta, develop branch

Related Objects

StatusSubtypeAssignedTask
DeclinedNone
ResolvedJdlrobson
DeclinedNone
DuplicateNone
ResolvedJdlrobson
DuplicateNone
DuplicateNone
DeclinedNone
ResolvedJdlrobson
DuplicateNone
DuplicateNone
Openbwang
Duplicateovasileva
ResolvedNone
OpenNone
OpenNone
ResolvedTheDJ
DeclinedNone
InvalidNone
OpenFeatureNone
InvalidNone
ResolvedTheDJ
ResolvedTheDJ
InvalidNone
ResolvedIzno
ResolvedTheDJ
OpenNone
ResolvedJdlrobson
DeclinedNone
ResolvedTgr
ResolvedAnomie
OpenNone
DeclinedBUG REPORTNone

Event Timeline

JMinor subscribed.

Unfortunately because we allow editors to put in some non-mobile friendly css, particularly with templates, this may be out of the app's scope to fix.

Where we can easily fix it, though, we should.

Looks like there are a couple of things going on here.

  • The wide horizontal "A B C D..." list is wider than the screen
  • For whatever reason this doesn't correctly (or isn't properly configured to) use "overflow: x"
  • But this appears to be an upstream issue - i.e. I see the same thing on mobile web:

0.png (865×857 px, 178 KB)

  • However on the app the "A B C D..." list is even wider than on mobile web so the issue is even worse:

1.png (849×864 px, 158 KB)

I looked into why the app CSS for these lists is different than mobile web and I think I know what's going on.

When we run "make css" we pull upstream css. However the CSS url we fetch from...

https://en.wikipedia.org/w/load.php?debug=false&lang=en&only=styles&skin=vector&modules=skins.minerva.base.reset|skins.minerva.content.styles|mobile.app.pagestyles.ios

...actually comes from the "MobileApp" extension.

The MobileApp extension gives us the upstream CSS, but also CSS from a few "mobile.app.pagestyles.ios" files.

The problem is, I think, mostly with the enwiki.less file. It has accrued some crufty CSS which produces a fairly large delta against the upstream CSS which could explain some of the more confusing issues we've ran into which don't always seem to effect mobile web. This line in "enwiki.less" is causing the "A B C D..." width issue noted above.


I think the iOS app should deprecate pulling CSS from the mobile app extension and instead directly pull mobile web CSS without this "enwiki.less" delta. It would do this at build time, or rather, when we run "make css", as it does now. Deprecating the mobile app extension would require us to audit what breaks without the "enwiki.less" delta (such as the edit button, which seemed to break when I tested this). We'd then have to add any truly necessary iOS workarounds to our "web/less/misc.less" file (which gets gruntified to "assets/stylesoverrides.css" when we run "make grunt").

I think there are a couple benefits to more directly ingesting mobile web's CSS (w/o MobileApp's "enwiki.less" delta):

  • fixes the difference between the app and mobile web in regards to the "A B C D..." width issue noted above
  • upstream CSS would be more likely to work as intended (upstream fixes over time likely didn't account for hacks which have accrued in "enwiki.less")
  • we'd be more encouraged to file upstream tickets
  • some parts of "enwiki.less" look they maybe should have been implemented upstream in the first place
Aklapper changed the task status from Stalled to Open.May 10 2020, 11:12 AM

@JMinor: The previous comments don't explain what/who exactly this task is stalled on ("If a report is waiting for further input (e.g. from its reporter or a third party) and can currently not be acted on"). Hence resetting task status.

Restricted Application changed the subtype of this task from "Task" to "Bug Report". · View Herald TranscriptMay 10 2020, 11:12 AM

This task has been assigned to the same task owner for more than two years. Resetting task assignee due to inactivity, to decrease task cookie-licking and to get a slightly more realistic overview of plans. Please feel free to assign this task to yourself again if you still realistically work or plan to work on this task - it would be welcome!

For tips how to manage individual work in Phabricator (noisy notifications, lists of task, etc.), see https://phabricator.wikimedia.org/T228575#6237124 for available options.
(For the records, two emails were sent to assignee addresses before resetting assignees. See T228575 for more info and for potential feedback. Thanks!)

LGoto subscribed.

This task was closed as part of the iOS team backlog grooming.