@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.

Use "link.getAttribute('href')", not "link.href", to bypass dark browser magic

Summary:
Ref T13302. In at least some browsers (including Safari and Chrome), when you write this:

```
<a href="#">...</a>
```

...and then access `<that node>.href`, you get `http://local-domain-whatever.com/path/to/current/page#` back.

This is wonderful, but not what we want. Access the raw attribute value instead, which is `#` in all browsers.

Test Plan:
- In Safari, Chrome, and Firefox:
- Clicked "Edit Subtasks" from a task.
- Clicked "Select" buttons to select several tasks.
- Before: Clicking these button incorrectly closed the dialog (because of D20573).
- After: Clicking these buttons now selects tasks without closing the dialog.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13302

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

+15 -15
+14 -14
resources/celerity/map.php
··· 10 10 'conpherence.pkg.css' => '3c8a0668', 11 11 'conpherence.pkg.js' => '020aebcf', 12 12 'core.pkg.css' => 'af983028', 13 - 'core.pkg.js' => 'f39ebda8', 13 + 'core.pkg.js' => '8225dc58', 14 14 'differential.pkg.css' => '8d8360fb', 15 15 'differential.pkg.js' => '67e02996', 16 16 'diffusion.pkg.css' => '42c75c37', ··· 253 253 'rsrc/externals/javelin/lib/URI.js' => '2e255291', 254 254 'rsrc/externals/javelin/lib/Vector.js' => 'e9c80beb', 255 255 'rsrc/externals/javelin/lib/WebSocket.js' => 'fdc13e4e', 256 - 'rsrc/externals/javelin/lib/Workflow.js' => 'e9c6d3c7', 256 + 'rsrc/externals/javelin/lib/Workflow.js' => '851f642d', 257 257 'rsrc/externals/javelin/lib/__tests__/Cookie.js' => 'ca686f71', 258 258 'rsrc/externals/javelin/lib/__tests__/DOM.js' => '4566e249', 259 259 'rsrc/externals/javelin/lib/__tests__/JSON.js' => '710377ae', ··· 752 752 'javelin-workboard-header' => '111bfd2d', 753 753 'javelin-workboard-header-template' => 'ebe83a6b', 754 754 'javelin-workboard-order-template' => '03e8891f', 755 - 'javelin-workflow' => 'e9c6d3c7', 755 + 'javelin-workflow' => '851f642d', 756 756 'maniphest-report-css' => '3d53188b', 757 757 'maniphest-task-edit-css' => '272daa84', 758 758 'maniphest-task-summary-css' => '61d1667e', ··· 1607 1607 'javelin-resource', 1608 1608 'javelin-routable', 1609 1609 ), 1610 + '851f642d' => array( 1611 + 'javelin-stratcom', 1612 + 'javelin-request', 1613 + 'javelin-dom', 1614 + 'javelin-vector', 1615 + 'javelin-install', 1616 + 'javelin-util', 1617 + 'javelin-mask', 1618 + 'javelin-uri', 1619 + 'javelin-routable', 1620 + ), 1610 1621 '87428eb2' => array( 1611 1622 'javelin-behavior', 1612 1623 'javelin-diffusion-locate-file-source', ··· 2095 2106 'javelin-behavior-device', 2096 2107 'phabricator-title', 2097 2108 'phabricator-favicon', 2098 - ), 2099 - 'e9c6d3c7' => array( 2100 - 'javelin-stratcom', 2101 - 'javelin-request', 2102 - 'javelin-dom', 2103 - 'javelin-vector', 2104 - 'javelin-install', 2105 - 'javelin-util', 2106 - 'javelin-mask', 2107 - 'javelin-uri', 2108 - 'javelin-routable', 2109 2109 ), 2110 2110 'e9c80beb' => array( 2111 2111 'javelin-install',
+1 -1
webroot/rsrc/externals/javelin/lib/Workflow.js
··· 104 104 var link = event.getNode('tag:a'); 105 105 106 106 // If the link is an anchor, or does not go anywhere, ignore the event. 107 - var href = '' + link.href; 107 + var href = '' + link.getAttribute('href'); 108 108 if (!href.length || href[0] === '#') { 109 109 return; 110 110 }