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

Simplify project regex further

Summary: Fixes T16028

Test Plan:
Assert that `#js-draw-lib` (or any other project name with one or two characters followed by a non-word) links correctly. It was previously parsed as `#js -draw-lib`.

Repeat the test plan for D25838 and observe it still works

Reviewers: aklapper, O1 Blessed Committers, bekay, valerio.bozzolan

Reviewed By: O1 Blessed Committers, bekay, valerio.bozzolan

Subscribers: mainframe98, bekay, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T16028

Differential Revision: https://we.phorge.it/D25959

Pppery 4bd591e4 7aee92b5

+16 -6
+1 -6
src/applications/project/remarkup/ProjectRemarkupRule.php
··· 40 40 $never_edge = '.'; 41 41 42 42 return '(?:'. 43 - // Short project name with one or two characters not in $never_edge or 44 - '[^'.$never_edge.$never.']{1,2}|'. 45 - // A single character not in $never or $never_edge, 46 - // then any number of characters not in $never then a single character 47 - // not in $never or $never_edge 48 - '[^'.$never_edge.$never.'][^'.$never.']+[^'.$never_edge.$never.']'. 43 + '[^'.$never_edge.$never.'](?:[^'.$never.']*[^'.$never_edge.$never.'])?'. 49 44 ')'; 50 45 } 51 46
+15
src/applications/project/remarkup/__tests__/ProjectRemarkupRuleTestCase.php
··· 135 135 ), 136 136 ), 137 137 138 + // This test case failed in an old version of the regex 139 + '#js-draw' => array( 140 + 'embed' => array(), 141 + 'ref' => array( 142 + array( 143 + 'offset' => 1, 144 + 'id' => 'js-draw', 145 + ), 146 + ), 147 + ), 148 + // Don't match leading dots for consistency with trailing ones 149 + '#.js' => array( 150 + 'embed' => array(), 151 + 'ref' => array(), 152 + ), 138 153 ); 139 154 140 155 foreach ($cases as $input => $expect) {