Page MenuHomePhorge
Feed Advanced Search

Sun, Jun 1

aklapper added a revision to T16072: Accessibility improvements (June 2025): D26047: a11y: Add "title" to <a> tags of PHUIObjectItemView images.
Sun, Jun 1, 14:30 · Accessibility
aklapper updated the summary of D26047: a11y: Add "title" to <a> tags of PHUIObjectItemView images.
Sun, Jun 1, 14:30
aklapper added a revision to T16072: Accessibility improvements (June 2025): D26046: a11y: Add aria-label to calendar date picker button.
Sun, Jun 1, 14:30 · Accessibility
aklapper updated the summary of D26046: a11y: Add aria-label to calendar date picker button.
Sun, Jun 1, 14:30
aklapper added a revision to T16072: Accessibility improvements (June 2025): D26045: a11y: Set textarea name parameter also as aria-label.
Sun, Jun 1, 14:30 · Accessibility
aklapper updated the summary of D26045: a11y: Set textarea name parameter also as aria-label.
Sun, Jun 1, 14:30
aklapper added a revision to T16072: Accessibility improvements (June 2025): D26044: a11y: Add aria-label to global search field in top bar.
Sun, Jun 1, 14:30 · Accessibility
aklapper updated the summary of D26044: a11y: Add aria-label to global search field in top bar.
Sun, Jun 1, 14:30
aklapper requested review of D26054: a11y: Add lang attribute to <html> element.
Sun, Jun 1, 11:47
aklapper requested review of D26053: a11y: Do not mark top bar notifications area as aria-hidden.
Sun, Jun 1, 11:44
aklapper requested review of D26052: a11y: Set aria-label attribute for PHUIListItemView Edit links in task lists.
Sun, Jun 1, 11:42
aklapper requested review of D26051: a11y: Set aria-label for comment action options dropdown.
Sun, Jun 1, 11:39
aklapper requested review of D26050: a11y: Set project workboard button tooltips as aria-label.
Sun, Jun 1, 11:37
aklapper requested review of D26049: a11y: Add alt text to main picture on profile page.
Sun, Jun 1, 11:35
aklapper requested review of D26048: a11y: Add aria-label to mini badges below user avatars.
Sun, Jun 1, 11:33
aklapper requested review of D26047: a11y: Add "title" to <a> tags of PHUIObjectItemView images.
Sun, Jun 1, 11:29
aklapper requested review of D26046: a11y: Add aria-label to calendar date picker button.
Sun, Jun 1, 11:26
aklapper requested review of D26045: a11y: Set textarea name parameter also as aria-label.
Sun, Jun 1, 11:24
aklapper requested review of D26044: a11y: Add aria-label to global search field in top bar.
Sun, Jun 1, 11:22
aklapper closed D26042: More Search-related PhpDoc additions.
Sun, Jun 1, 11:07
aklapper committed rPe410020f78f7: More Search-related PhpDoc additions.
Sun, Jun 1, 11:07
aklapper added a comment to T16072: Accessibility improvements (June 2025).

Before and after Chromium Lighthouse a11y result comparison of some Phorge pages for patches I'm going to attach.
(Goodhart's Law applies, as with any misguiding incentives.)

Sun, Jun 1, 11:02 · Accessibility
aklapper requested review of D26043: Correct Conduit project.search color result for milestones.
Sun, Jun 1, 09:47
aklapper added a revision to T16088: Conduit's project.search returns wrong color for milestones: D26043: Correct Conduit project.search color result for milestones.
Sun, Jun 1, 09:47
aklapper created T16088: Conduit's project.search returns wrong color for milestones.
Sun, Jun 1, 09:42
aklapper edited the content of Next Up.
Sun, Jun 1, 08:12
aklapper closed T16081: Warn users that adding a second Multi-Factor Auth will require both instead of choosing one of them as Resolved by committing rPa7f94af9cf5b: Explain consequences when adding second Multi-Factor Auth.
Sun, Jun 1, 08:10
aklapper closed D26028: Explain consequences when adding second Multi-Factor Auth.
Sun, Jun 1, 08:10
aklapper committed rPa7f94af9cf5b: Explain consequences when adding second Multi-Factor Auth.
Sun, Jun 1, 08:10

Sat, May 31

aklapper added a comment to D26035: Remove unused functions in PhabricatorFulltextToken.

Also nothing seems to use these functions?:

[acko@fedora phorge]$ grep -r compileLiteralQuery .
./phorge/src/applications/search/compiler/__tests__/PhutilSearchQueryCompilerTestCase.php:          $literal_query = $compiler->compileLiteralQuery($tokens);
./phorge/src/applications/search/compiler/PhutilSearchQueryCompiler.php:  public function compileLiteralQuery(array $tokens) {
[acko@fedora phorge]$ grep -r compileStemmedQuery .
./phorge/src/applications/search/compiler/__tests__/PhutilSearchQueryCompilerTestCase.php:          $stemmed_query = $compiler->compileStemmedQuery($tokens);
./phorge/src/applications/search/compiler/PhutilSearchQueryCompiler.php:  public function compileStemmedQuery(array $tokens) {
Sat, May 31, 22:39
aklapper renamed T16072: Accessibility improvements (June 2025) from Accessibility improvements (May 2025) to Accessibility improvements (June 2025).
Sat, May 31, 21:58 · Accessibility
aklapper edited the content of Next Up.
Sat, May 31, 21:57
aklapper edited the content of Next Up.
Sat, May 31, 21:55
aklapper edited the content of Next Up.
Sat, May 31, 21:52
aklapper closed D26031: Allow using PCRE's just-in-time compilation.
Sat, May 31, 21:52
aklapper closed T16084: Stop disabling pcre.jit by default as Resolved by committing rARCc739de1ef2f5: Allow using PCRE's just-in-time compilation.
Sat, May 31, 21:52
aklapper committed rARCc739de1ef2f5: Allow using PCRE's just-in-time compilation.
Sat, May 31, 21:52
aklapper requested review of D26042: More Search-related PhpDoc additions.
Sat, May 31, 21:33
aklapper accepted D26039: LiskDAO::getConfiguration return typing.

Nice find. Applying this patch removes about 250 errors in phpstan output here.

Sat, May 31, 13:33
aklapper accepted D26040: Add missing ArcanistWorkflow::runWorkflow method.

Running phpstan analyse, before this patch I get Call to an undefined method ArcanistWorkflow::runWorkflow(), after this patch I get Method ArcanistWorkflow::runWorkflow() invoked with 1 parameter, 0 required, both in src/workflow/ArcanistWorkflow.php:227. That looks like an improvement indeed.

Sat, May 31, 11:56

Fri, May 30

aklapper updated aklapper.
Fri, May 30, 22:05
aklapper added a comment to D26037: Add phpDoc to PhabricatorCursorPagedPolicyAwareQuery.

Yes to the idea however a related elephant in the room (IMHO) are those non-standard types like list or map or wild being replaced, no clue if that has any effects on...something™ (Diviner docs? Code?) as I haven't managed to understand the consequences of code in https://we.phorge.it/source/arcanist/browse/master/src/parser/PhutilTypeSpec.php yet. (Technically speaking map and list seem to be just arrays, indeed.)

Fri, May 30, 22:01
aklapper updated the summary of D26037: Add phpDoc to PhabricatorCursorPagedPolicyAwareQuery.
Fri, May 30, 21:55
aklapper closed D26034: Fix PHP 8.1 "strlen(null)" exception in Client ID handling of PhabricatorOAuthServerTokenController.
Fri, May 30, 21:12
aklapper committed rP0c34164c8bf9: Fix PHP 8.1 "strlen(null)" exception in Client ID handling of….
Fri, May 30, 21:12

Thu, May 29

aklapper requested review of D26036: Fix PHP 8.1 "preg_replace(null)" exception in PhabricatorEditorURIEngine.php.
Thu, May 29, 21:33
aklapper added a revision to T15824: Deprecation notice at PhabricatorEditorURIEngine.php:283 when no RepositorySlug set: D26036: Fix PHP 8.1 "preg_replace(null)" exception in PhabricatorEditorURIEngine.php.
Thu, May 29, 21:33 · PHP 8 support, Deprecation Notice
aklapper added a comment to T15824: Deprecation notice at PhabricatorEditorURIEngine.php:283 when no RepositorySlug set.

Looking at src/applications/repository/storage/PhabricatorRepository.php I see stuff like $has_shortname = ($this->getRepositorySlug() !== null); so it seems that a repository "slug" is what the UI calls a "short name". That's also seconded by code in DiffusionRepositoryEditEngine.

Thu, May 29, 21:22 · PHP 8 support, Deprecation Notice
aklapper added a comment to T15824: Deprecation notice at PhabricatorEditorURIEngine.php:283 when no RepositorySlug set.

Copying from Q182:

PhabricatorEditorURIEngine.php:283, occurrences: 4
preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated
arcanist(head=stable, ref.master=989690868513, ref.stable=05abd055019c), libphremoteuser(head=clarion, ref.master=944307decd9c, ref.clarion=d0da6c048bd5), phorge(head=stable, custom=4), translations(head=wmf/stable, ref.wmf/stable=76bb64361cec)
#0 preg_replace(string, string, NULL) called at [<phorge>/src/infrastructure/editor/PhabricatorEditorURIEngine.php:283]
#1 PhabricatorEditorURIEngine::escapeToken(NULL) called at [<phorge>/src/infrastructure/editor/PhabricatorEditorURIEngine.php:144]
#2 PhabricatorEditorURIEngine::newURITokensForRepository() called at [<phorge>/src/infrastructure/editor/PhabricatorEditorURIEngine.php:128]
#3 PhabricatorEditorURIEngine::getURITokensForRepository(string) called at [<phorge>/src/infrastructure/editor/PhabricatorEditorURIEngine.php:84]
#4 PhabricatorEditorURIEngine::getURITokensForPath(string) called at [<phorge>/src/applications/differential/view/DifferentialChangesetDetailView.php:371]
#5 DifferentialChangesetDetailView::getEditorURITemplate() called at [<phorge>/src/applications/differential/view/DifferentialChangesetDetailView.php:272]
#6 DifferentialChangesetDetailView::render() called at [<phorge>/src/applications/differential/view/DifferentialChangesetListView.php:240]
#7 DifferentialChangesetListView::render() called at [<phorge>/src/view/AphrontView.php:222]
#8 AphrontView::producePhutilSafeHTML() called at [<phorge>/src/infrastructure/markup/render.php:115]
#9 phutil_escape_html(DifferentialChangesetListView) called at [<phorge>/src/infrastructure/markup/render.php:139]
#10 phutil_escape_html(array) called at [<phorge>/src/infrastructure/markup/render.php:139]
#11 phutil_escape_html(array) called at [<phorge>/src/infrastructure/markup/render.php:97]
#12 phutil_tag(string, array, array) called at [<phorge>/src/view/phui/PHUITwoColumnView.php:236]
#13 PHUITwoColumnView::buildFooter() called at [<phorge>/src/view/phui/PHUITwoColumnView.php:123]
#14 PHUITwoColumnView::getTagContent() called at [<phorge>/src/view/AphrontTagView.php:161]
#15 AphrontTagView::render() called at [<phorge>/src/view/AphrontView.php:222]
#16 AphrontView::producePhutilSafeHTML() called at [<phorge>/src/infrastructure/markup/render.php:115]
#17 phutil_escape_html(PHUITwoColumnView) called at [<phorge>/src/infrastructure/markup/render.php:139]
#18 phutil_escape_html(array) called at [<phorge>/src/infrastructure/markup/render.php:139]
#19 phutil_escape_html(array) called at [<phorge>/src/infrastructure/markup/render.php:97]
#20 phutil_tag(string, array, array) called at [<phorge>/src/view/formation/PHUIFormationContentView.php:13]
#21 PHUIFormationContentView::render() called at [<phorge>/src/view/AphrontView.php:222]
#22 AphrontView::producePhutilSafeHTML() called at [<phorge>/src/infrastructure/markup/render.php:115]
#23 phutil_escape_html(PHUIFormationContentView) called at [<phorge>/src/infrastructure/markup/render.php:139]
#24 phutil_escape_html(array) called at [<phorge>/src/infrastructure/markup/render.php:97]
#25 phutil_tag(string, array, array) called at [<phorge>/src/view/formation/PHUIFormationView.php:58]
#26 PHUIFormationView::render() called at [<phorge>/src/view/AphrontView.php:222]
#27 AphrontView::producePhutilSafeHTML() called at [<phorge>/src/infrastructure/markup/render.php:115]
#28 phutil_escape_html(PHUIFormationView) called at [<phorge>/src/infrastructure/markup/render.php:171]
#29 phutil_implode_html(string, array) called at [<phorge>/src/view/page/PhabricatorBarePageView.php:58]
#30 PhabricatorBarePageView::willRenderPage() called at [<phorge>/src/view/page/PhabricatorStandardPageView.php:217]
#31 PhabricatorStandardPageView::willRenderPage() called at [<phorge>/src/view/page/AphrontPageView.php:46]
#32 AphrontPageView::render() called at [<phorge>/src/view/page/PhabricatorStandardPageView.php:918]
#33 PhabricatorStandardPageView::produceAphrontResponse() called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:724]
#34 AphrontApplicationConfiguration::produceResponse(AphrontRequest, PhabricatorStandardPageView) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:299]
#35 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:203]
#36 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]
Thu, May 29, 20:31 · PHP 8 support, Deprecation Notice
aklapper added a comment to D26034: Fix PHP 8.1 "strlen(null)" exception in Client ID handling of PhabricatorOAuthServerTokenController.

Thanks! Oh true I was forget the default fallback option... ah well I guess not a huge difference performance wise plus null feels cleaner to me :)

Thu, May 29, 17:44
aklapper added a comment to D26035: Remove unused functions in PhabricatorFulltextToken.

I'd love to have Phorge skip common words and short words though.
So maybe keeping these functions could even make sense so future improvements could call them?

Thu, May 29, 13:15
aklapper requested review of D26035: Remove unused functions in PhabricatorFulltextToken.
Thu, May 29, 13:07
aklapper requested review of D26034: Fix PHP 8.1 "strlen(null)" exception in Client ID handling of PhabricatorOAuthServerTokenController.
Thu, May 29, 10:08
aklapper added a comment to Q182: Deprecation warnings with PHP 8.3.

Hi, thanks a lot for sharing this! I assume you are running 2024.35 and not yet 2025.18.
You shared seven issues above.

Thu, May 29, 09:22 · Phorge
aklapper added a subtask for T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4: T15824: Deprecation notice at PhabricatorEditorURIEngine.php:283 when no RepositorySlug set.
Thu, May 29, 09:21 · PHP 8 support
aklapper added a parent task for T15824: Deprecation notice at PhabricatorEditorURIEngine.php:283 when no RepositorySlug set: T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4.
Thu, May 29, 09:21 · PHP 8 support, Deprecation Notice

Wed, May 28

aklapper updated the summary of D26000: Remove orphan CSS selectors in calendar/phui-calendar.css.
Wed, May 28, 16:35
aklapper added a comment to D26000: Remove orphan CSS selectors in calendar/phui-calendar.css.

Is getDisplayIconColor() related to these? (spoiler: probably it's not)

Wed, May 28, 16:34
aklapper updated the summary of D25992: Remove unused anchor-target CSS for Conpherence message pane.
Wed, May 28, 16:26
aklapper updated the diff for D25992: Remove unused anchor-target CSS for Conpherence message pane.

remove unused CSS as it's also unhelpful CSS when actually used

Wed, May 28, 16:19
aklapper retitled D25992: Remove unused anchor-target CSS for Conpherence message pane from Conpherence message pane CSS: Fix typo in selector name
Wed, May 28, 14:31
aklapper planned changes to D25992: Remove unused anchor-target CSS for Conpherence message pane.

These selectors currently do not get applied at all in Conpherence rooms when opening or creating URIs with anchors.

Wed, May 28, 14:28
aklapper closed D26030: Fix project typeahead query with columns when string is not name prefix.
Wed, May 28, 13:23
aklapper closed T16068: Workboard column import project search: "Array for %Ls conversion is empty. Query: projectPHID IN (%Ls)" as Resolved by committing rP87da4d2a33e6: Fix project typeahead query with columns when string is not name prefix.
Wed, May 28, 13:23 · Bug Reports
aklapper committed rP87da4d2a33e6: Fix project typeahead query with columns when string is not name prefix.
Wed, May 28, 13:22
aklapper closed D26033: Search-related PhpDoc additions.
Wed, May 28, 10:41
aklapper committed rP93d9e1b05dd2: Search-related PhpDoc additions.
Wed, May 28, 10:41
aklapper retitled D26033: Search-related PhpDoc additions from Search related PhpDoc additions
Wed, May 28, 10:40
aklapper closed D25998: Remove orphan CSS selectors in base/main-menu-view.css.
Wed, May 28, 07:47
aklapper committed rP0347f1f619bb: Remove orphan CSS selectors in base/main-menu-view.css.
Wed, May 28, 07:47

Tue, May 27

aklapper updated the diff for D25998: Remove orphan CSS selectors in base/main-menu-view.css.

git rebase master

Tue, May 27, 21:27
aklapper closed D26014: Remove orphan CSS selectors in phui/phui-document*.css.
Tue, May 27, 21:20
aklapper committed rPf4f616410c23: Remove orphan CSS selectors in phui/phui-document*.css.
Tue, May 27, 21:20
aklapper updated the diff for D26028: Explain consequences when adding second Multi-Factor Auth.

Not really what we expected, but nice try

Tue, May 27, 21:06
aklapper updated the diff for D26033: Search-related PhpDoc additions.

@param loves $name

Tue, May 27, 17:56
aklapper requested review of D26033: Search-related PhpDoc additions.
Tue, May 27, 17:52
aklapper updated the summary of D26026: Add a Before-Destruction Engine.
Tue, May 27, 11:51
aklapper added a comment to T15903: Logged exceptions/errors should ignore user's language setting and be always in English.

pht() also does some escaping, formatting, and other safety related stuff

Tue, May 27, 10:10 · Localization

Mon, May 26

aklapper added a comment to D26032: Mark policy transactions of Conduit-created new tasks as such to fix empty Feed transaction entries.

Probably one screenshot is missing (?)

Mon, May 26, 15:58
aklapper added inline comments to D26026: Add a Before-Destruction Engine.
Mon, May 26, 11:52
valerio.bozzolan awarded T16085: PHP 8.1 "strncmp(null)" exception in transaction log for policy changes a Yellow Medal token.
Mon, May 26, 08:56 · PHP 8 support

Sun, May 25

aklapper accepted D26026: Add a Before-Destruction Engine.

Some small nitpicks only. Makes sense to me, didn't spot any logic flaws, keeps close to already existing code in that very directory

Sun, May 25, 23:43
aklapper added a comment to D26032: Mark policy transactions of Conduit-created new tasks as such to fix empty Feed transaction entries.

Feed before applying the patch (T3922) and after applying the patch (T3923):

Screenshot From 2025-05-25 23-03-12.png (432×1 px, 101 KB)

Sun, May 25, 21:42
aklapper requested review of D26032: Mark policy transactions of Conduit-created new tasks as such to fix empty Feed transaction entries.
Sun, May 25, 21:40
aklapper added a revision to T16085: PHP 8.1 "strncmp(null)" exception in transaction log for policy changes: D26032: Mark policy transactions of Conduit-created new tasks as such to fix empty Feed transaction entries.
Sun, May 25, 21:40 · PHP 8 support
aklapper added a comment to T16085: PHP 8.1 "strncmp(null)" exception in transaction log for policy changes.

getIsCreateTransaction() should return true here but it doesn't.
I believe that this underlying problem can also trigger an exception, see https://phabricator.wikimedia.org/T361459

Sun, May 25, 20:59 · PHP 8 support
aklapper created T16085: PHP 8.1 "strncmp(null)" exception in transaction log for policy changes.
Sun, May 25, 10:57 · PHP 8 support
aklapper closed T16059: Remove -webkit-font-smoothing and -moz-osx-font-smoothing from CSS as Resolved by committing rP555e569ff8c4: Remove macOS specific font smoothing CSS.
Sun, May 25, 10:04 · Wikimedia Hackathon 2025
aklapper closed D25989: Remove macOS specific font smoothing CSS.
Sun, May 25, 10:04
aklapper committed rP555e569ff8c4: Remove macOS specific font smoothing CSS.
Sun, May 25, 10:04

Sat, May 24

aklapper updated the diff for D25989: Remove macOS specific font smoothing CSS.

git rebase master

Sat, May 24, 16:13
aklapper updated the test plan for D26031: Allow using PCRE's just-in-time compilation.
Sat, May 24, 14:42
aklapper added a revision to T16084: Stop disabling pcre.jit by default: D26031: Allow using PCRE's just-in-time compilation.
Sat, May 24, 12:49
aklapper requested review of D26031: Allow using PCRE's just-in-time compilation.
Sat, May 24, 12:49
aklapper created T16084: Stop disabling pcre.jit by default.
Sat, May 24, 12:46
aklapper closed T16075: TypeError: idx(): Argument #1 ($array) must be of type array, string given in PhabricatorSearchHovercardController.php as Resolved by committing rPed7abd7c41f4: Ignore bogus cards parameter string values in Hovercards calls.
Sat, May 24, 08:40
aklapper closed D26023: Ignore bogus cards parameter string values in Hovercards calls.
Sat, May 24, 08:40
aklapper committed rPed7abd7c41f4: Ignore bogus cards parameter string values in Hovercards calls.
Sat, May 24, 08:40
aklapper closed D26007: Remove unused CSS file aphront/panel-view.css.
Sat, May 24, 07:28
aklapper committed rPd784533cf71d: Remove unused CSS file aphront/panel-view.css.
Sat, May 24, 07:28