@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Remove the ability to leave multi-line inline comments on touchscreen devices

Summary: Ref T12733. This ultimately conflicts with scrolling and took about two days to get reported as a bug/regression. See T12733 for a bunch of additional discussion. See T1026 for original discussion.

Test Plan:
- Left single-line and multi-line comments on desktop.
- Tapped to leave single-line comments on mobile.
- Dragged lines on mobile, got a scroll instead of a range comment.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T12733

Differential Revision: https://secure.phabricator.com/D18044

+10 -41
+6 -6
resources/celerity/map.php
··· 13 13 'core.pkg.js' => '1475bd91', 14 14 'darkconsole.pkg.js' => '1f9a31bc', 15 15 'differential.pkg.css' => '9ebe4f44', 16 - 'differential.pkg.js' => '78b8497f', 16 + 'differential.pkg.js' => '40f4acb3', 17 17 'diffusion.pkg.css' => 'b93d9b8c', 18 18 'diffusion.pkg.js' => '84c8f8fd', 19 19 'favicon.ico' => '30672e08', ··· 392 392 'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '453c5375', 393 393 'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => 'd4eecc63', 394 394 'rsrc/js/application/diff/DiffChangeset.js' => '3359ad02', 395 - 'rsrc/js/application/diff/DiffChangesetList.js' => '675f1ca3', 395 + 'rsrc/js/application/diff/DiffChangesetList.js' => 'b42eb5ff', 396 396 'rsrc/js/application/diff/DiffInline.js' => '45d37835', 397 397 'rsrc/js/application/diff/behavior-preview-link.js' => '051c7832', 398 398 'rsrc/js/application/differential/behavior-comment-preview.js' => '51c5ad07', ··· 778 778 'phabricator-darkmessage' => 'c48cccdd', 779 779 'phabricator-dashboard-css' => 'fe5b1869', 780 780 'phabricator-diff-changeset' => '3359ad02', 781 - 'phabricator-diff-changeset-list' => '675f1ca3', 781 + 'phabricator-diff-changeset-list' => 'b42eb5ff', 782 782 'phabricator-diff-inline' => '45d37835', 783 783 'phabricator-drag-and-drop-file-upload' => '58dea2fa', 784 784 'phabricator-draggable-list' => 'bea6e7f4', ··· 1412 1412 'javelin-workflow', 1413 1413 'javelin-dom', 1414 1414 ), 1415 - '675f1ca3' => array( 1416 - 'javelin-install', 1417 - ), 1418 1415 '680ea2c8' => array( 1419 1416 'javelin-install', 1420 1417 'javelin-dom', ··· 1820 1817 'phabricator-prefab', 1821 1818 ), 1822 1819 'b3e7d692' => array( 1820 + 'javelin-install', 1821 + ), 1822 + 'b42eb5ff' => array( 1823 1823 'javelin-install', 1824 1824 ), 1825 1825 'b59e1e96' => array(
+4 -35
webroot/rsrc/js/application/diff/DiffChangesetList.js
··· 68 68 69 69 var onrangedown = JX.bind(this, this._ifawake, this._onrangedown); 70 70 JX.Stratcom.listen( 71 - ['touchstart', 'mousedown'], 71 + 'mousedown', 72 72 ['differential-changeset', 'tag:th'], 73 73 onrangedown); 74 74 ··· 78 78 ['differential-changeset', 'tag:th'], 79 79 onrangemove); 80 80 81 - var onrangetouchmove = JX.bind(this, this._ifawake, this._onrangetouchmove); 82 - JX.Stratcom.listen( 83 - 'touchmove', 84 - null, 85 - onrangetouchmove); 86 - 87 81 var onrangeup = JX.bind(this, this._ifawake, this._onrangeup); 88 82 JX.Stratcom.listen( 89 - ['touchend', 'mouseup'], 83 + 'mouseup', 90 84 null, 91 85 onrangeup); 92 86 }, ··· 1147 1141 }, 1148 1142 1149 1143 _onrangedown: function(e) { 1150 - // NOTE: We're allowing touch events through, including "touchstart". We 1151 - // need to kill the "touchstart" event so the page doesn't scroll. 1144 + // NOTE: We're allowing "mousedown" from a touch event through so users 1145 + // can leave inlines on a single line. 1152 1146 if (e.isRightButton()) { 1153 1147 return; 1154 1148 } ··· 1236 1230 } 1237 1231 1238 1232 this._setHoverRange(this._rangeOrigin, this._rangeTarget); 1239 - }, 1240 - 1241 - _onrangetouchmove: function(e) { 1242 - if (!this._rangeActive) { 1243 - return; 1244 - } 1245 - 1246 - // NOTE: The target of a "touchmove" event is bogus. Use dark magic to 1247 - // identify the actual target. Some day, this might move into the core 1248 - // libraries. If this doesn't work, just bail. 1249 - 1250 - var target; 1251 - try { 1252 - var raw_event = e.getRawEvent(); 1253 - var touch = raw_event.touches[0]; 1254 - target = document.elementFromPoint(touch.clientX, touch.clientY); 1255 - } catch (ex) { 1256 - return; 1257 - } 1258 - 1259 - if (!JX.DOM.isType(target, 'th')) { 1260 - return; 1261 - } 1262 - 1263 - this._updateRange(target, false); 1264 1233 }, 1265 1234 1266 1235 _onrangeup: function(e) {