1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-23 22:10:55 +01:00

Don't handle JIRA/Asana URIs with anchors or query parameters in a special way (with Doorkeeper)

Summary:
Ref T13291. See PHI1312. Currently, if you link to a JIRA or Asana issue with an anchor (`#asdf`) or query parameters (`?a=b`), we:

  - treat the link as an external object reference and attempt a lookup on it;
  - if the lookup succeeds, we discard the fragment or parameters when re-rendering the rich link (with the issue/task title).

Particularly, the re-rendering part uses the canonical URI of the object, and can discard these parameters/fragments, which is broken/bad.

As a first pass at improving this, just don't apply special behavior for links with anchors or parameters -- simply treat them as links.

In some future change, we could specialize this behavior and permit certain known parameters or anchors or something, but these use cases are likely fairly marginal.

Test Plan:
Before:

{F6516392}

After:

{F6516393}

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13291

Differential Revision: https://secure.phabricator.com/D20592
This commit is contained in:
epriestley 2019-06-19 10:37:53 -07:00
parent 6b9f4a918b
commit ca56e8590a
2 changed files with 16 additions and 0 deletions

View file

@ -59,6 +59,14 @@ final class PhabricatorAsanaAuthProvider
return null;
}
if (strlen($uri->getFragment())) {
return null;
}
if ($uri->getQueryParamsAsPairList()) {
return null;
}
$context_id = $matches[1];
$task_id = $matches[2];

View file

@ -341,6 +341,14 @@ final class PhabricatorJIRAAuthProvider
return null;
}
if (strlen($uri->getFragment())) {
return null;
}
if ($uri->getQueryParamsAsPairList()) {
return null;
}
$domain = $matches[1];
$issue = $matches[2];