I'm still a bit shocked by how PHP is so weird. So:
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Thu, Apr 10
Wed, Apr 2
Wow. 10 years of PHP, first time that I notice this
https://www.php.net/manual/en/language.types.array.php#language.types.array.syntax :
Strings containing valid decimal ints, unless the number is preceded by a + sign, will be cast to the int type.
Tue, Apr 1
The culprit is $map[$branch] = $branch_head; in https://we.phorge.it/source/phorge/browse/master/src/applications/diffusion/data/DiffusionGitBranch.php$105.
Before $branch was a string, afterwards it is an integer.
Tue, Mar 25
Sat, Mar 22
Another good simple candidate GDPR-friendly:
This is one great Wikimedia patch being upstreamed. Should I make this a sub-task of T15081?
Mar 16 2025
Hej hej and welcome! I'm afraid I cannot really follow... In my understanding the hierarchy is expressed via the breadcrumbs navigation right below the top bar and not at the bottom, at least for a screen width of 513px and more?
For example if I go to https://we.phorge.it/w/changelog/next_up/ , see the Phriction > Welcome to the Phorge Wiki > Change Log > Next Up breadcrumbs.
Feb 7 2025
I do not recommend, because https://phabricator.wikimedia.org/T293139 - Phorge displays whatever it gets, especially if the video got deleted in the meantime. Same behavior for Youtube.
Jan 17 2025
Jan 1 2025
Dec 31 2024
Dec 29 2024
In T15100#18699, @aklapper wrote: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.
Dec 28 2024
Dec 24 2024
I've added the existing translations repo to https://we.phorge.it/w/community_resources/ since that's trivial. I agree something better should be done.
Dec 23 2024
Dec 22 2024
Dec 17 2024
In T15640#19898, @valerio.bozzolan wrote:Wow. Assuming the line is the one with phutil_nonempty_string($branch), why branch "main" is considered a number?
Dec 16 2024
The current workaround I'm proposing is just:
Dec 10 2024
Dec 5 2024
Nov 29 2024
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:
Nov 26 2024
Nov 23 2024
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.
Mar 15 2024
Mar 10 2024
Maybe unrelated. But after we fix PhabricatorCursorPagedPolicyAwareQuery, maybe we will find a crash test also for the first two lines:
Interestingly I was able to reproduce, but only creating 101+ tasks manually and going to the next page. So after that ?after=100 is introduced.
Jan 4 2024
Dec 31 2023
Dec 18 2023
Dec 14 2023
Here's another one that I think deserves to be upstreamed: https://phabricator.wikimedia.org/T230787 adds context and search term highlights to fulltext search results. Currently Phorge and upstream Phabricator only show matching document titles with highlights on keywords in the title but not the body.
The efficiency of my solution is questionable, however, it's working well enough for Wikimedia's use of the feature.
Dec 8 2023
there is a presentation from eric brechner, who was in microsofts xbox development, about kanban. he does it on whiteboard, extremely sinple:
https://www.youtube.com/watch?v=CD0y-aU1sXo