Page MenuHomePhabricator

workboard drag+drop doesn't work on android (both chrome+firefox broken)
Closed, DuplicatePublic

Description

workboard drag+drop doesn't work on android. (both chrome+firefox broken)

hover gives me a change in cursor on desktop, not sure how to trigger that or how it works on mobile. anyway, maybe drag+drop is an accessibility issue for some users? in which case we should have a 2nd option for how to perform those actions. (anywhere that does drag+drop besides workboards?)

let me know if you need more details.

Event Timeline

jeremyb raised the priority of this task from to Needs Triage.
jeremyb updated the task description. (Show Details)
jeremyb added projects: Wikimedia, Android.
jeremyb added subscribers: jeremyb, qgil, Yomi, chad.

✘ Merged into T6027.

We don't have drag and drop functionality on any mobile device/browser. We'll provide workarounds in each case as needed.

In T6051#6, @chad wrote:

We don't have drag and drop functionality on any mobile device/browser. We'll provide workarounds in each case as needed.

but you'd accept it if we sent a patch? can we leave this open as a feature request for that part? (in addition to the part covered by T6027)

Probably not. This sounds deceptively like A LOT of work to build, support, and maintain over a simple <select> element. Donating code still means we're signing up for longterm support and fixes. I'd rather not sign up for that and provide something more basic we can handle with the size of our team. The more correcter way to probably solve this is by building native applications for Phabricator on Android/iOS, but we're not anywhere near there as well.

But maybe @epriestley thinks this is worth doing.

My main concern for workboards is trying to move a task from Backlog, 10 columns over and past 100 tasks. And since we already should make the product more accessible via selects anyways, we'd solve the mobile issue as well.

Well it wouldn't necessarily be rolled from scratch. First I'd look at what JS/UI related libs are already in use and see what they have to offer. then if unavailable in existing libs phab is already using, maybe would propose adding a new JS dependency if it seems like a good fit.

in either case then that upstream can be the primary party responsible for keeping it working.

My tentative plan here (see T5475, T5523, T6027, T5617) for some related discussion:

  • Replace the "Edit" button with a "Context Menu" button and probably make clicking the title or anywhere on the card act as an edit button, or some flavor of that (T5523, T5475). We'll see how these feel.
  • One of the items in the context menu is "Move To...", which pops a dialog with a <select /> in it. This will work on mobile.
  • We'll probably try making drags work on mobile too (T5617), but they are generally going to be unreasonable to make work well with large numbers of items, and are probably not a good solution to this problem on moderately large boards. (And we may not even support this if it proves unreasonable to implement reasonably.)

On patches in particular, we'd accept patches for some of this stuff, but:

  • We wrote all the JS Phabricator uses for this, so there are no capabilities we aren't aware of.
  • We will not accept a dependency on a large, general-purpose external library like jQuery.
  • Generally, dependencies have a huge cost and we are averse to including them except in exceptional cases.

https://phabricator.wikimedia.org/T129049#2242513 was quite easy to do using iceweasel on debian on android 10" tablet. It involved moving the task from Backlog to the last column which wasnt visible on the screen. This might be more difficult with larger workboards, but there are definitively scenarios where this is painless on a tablet, and is a natural UI for the action on that type of device.
I wonder if it is any more difficult on high res smart phones in landscape mode- I suspect it might work quite well also.