Task that can be used to mark something that affects or involves Wikimedia Phabricator.
Details
Yesterday
Mon, Dec 16
The current workaround I'm proposing is just:
Tue, Dec 10
Thu, Dec 5
Fri, Nov 29
BTW I think the page is reached by a crawler that is visiting a branch root on a specific commit:
Wow. Assuming the line is the one with phutil_nonempty_string($branch), why branch "main" is considered a number?
Finally got a reproducer URI in downstream:
Tue, Nov 26
Sat, Nov 23
Digging deeper, the problem is specific to ProjectRemarkupRule::getObjectIDPattern. That returns:
Step 2: Remove irrelevant character class exclusions:
Disentangling that monster regex, step 1:
Indeed https://devina.io/redos-checker says the aformentioned regex is exponential time worst-case
I monkeypatched the code to print preg_last_error when the problematic preg_match returns null. The error is "Backtrack limit exhausted".
Oct 25 2024
This exception happens once $rule in the loop foreach ($this->getMarkupRules() as $rule) in PhutilRemarkupBlockRule::applyRules($text) becomes ProjectRemarkupRule. That's where it blows up.
Aug 14 2024
Maybe interesting, there is this different non-deprecated API:
Aug 7 2024
Aug 5 2024
This is an issue in https://we.phorge.it/source/phorge/browse/master/src/infrastructure/markup/rule/PhabricatorObjectRemarkupRule.php . In getObjectEmbedPattern(), preg_quote($prefix) returns \# and the method finally returns (\B{\#([^.\s?!,:;{}#\(\)"'\*/~]+(?:[^\s?!,:;{}#\(\)"'\*/~]*[^.\s?!,:;{}#\(\)"'\*/~]+)*)([,\s](?:[^}\\]|\\.)*)?}\B)u.
Within apply($text), $text becomes null after that first preg_replace_callback, so the second call barks.
Aug 2 2024
I'm not skilled enough to look into the bigger picture, however maybe the Edit Column dialog could have a third field apart from Name and Point Limit to also have Task Limit (or Card Limit?). Point Limit and Task Limit then must be mutually exclusive (do not allow to set both for a column, or even...board?), somehow.
May 20 2024
May 15 2024
May 2 2024
I do not (yet?) understand the use case of this task.
Indeed reported from a Wikimedia user about Wikimedia Phabricator.
Apr 29 2024
Apr 25 2024
It seems to me that this problem can be solved with an additional setting that turns this functionality on or off.
Mar 28 2024
Mar 26 2024
It might not happen on any other card, because we might not be rendering Remarkup on any other card. Interesting....
So this is quite an edge-case:
- PhabricatorMentionRemarkupRule wants to give the mention a different color, depending on if the user can view the "context object", in this case the Project.
- There's an automatic rule, saying a member of a project can always view the project
- When loading the project for the hovercard, we don't bother loading all the member list
- When loading the user for the mention, we don't bother loading all its projects
- so data is not available at the rendering point.
Mar 25 2024
Another good simple candidate GDPR-friendly:
Mar 24 2024
Ouch
Mar 21 2024
Also note that we have a similar PhabricatorDataNotAttachedException in PhabricatorRepositoryCommit (via getRepository()) in downstream https://phabricator.wikimedia.org/T360714. It's without reproduction steps but sounds a bit similar.