Page MenuHomePhorge

Documentation: Macro image rendered instead of keyword when names match
Open, Needs TriagePublic

Description

Steps to reproduce:

  1. Phorge at 1b5d2f83c3aa03dada5cbed4a18d341733348425, PHP 8.3.9 (but irrelevant).
  2. Go to http://phorge.localhost/macro/edit/
  3. Enter progress in the Name field, upload some image, then click Create New Macro
  4. Define a custom status called "progress" in http://phorge.localhost/config/edit/maniphest.statuses/ and place it after (!) the default "resolved" status, for example
	"progress": {
		"claim": false,
		"closed": false,
		"name": "In Progress",
		"name.action": "Started",
		"name.full": "Open, In Progress",
		"transaction.icon": "fa-step-forward",
		"transaction.color": "green"
	},
  1. Go to the !status section on http://phorge.localhost/applications/mailcommands/PhabricatorManiphestApplication/task/

Expected outcome:

Table shows "progress" under "Keywords".

Actual outcome:

Macro image is displayed under "Keywords":

Screenshot from 2024-07-08 17-16-12.png (974×899 px, 119 KB)

This seems to be feature fallout as macros get embedded without any further markup, and this table cell has a single word which is also the name of a macro.
Code in https://we.phorge.it/source/phorge/browse/master/src/applications/maniphest/command/ManiphestStatusEmailCommand.php$23-44 is not to blame but rather https://we.phorge.it/source/phorge/browse/master/src/applications/macro/markup/PhabricatorImageMacroRemarkupRule.php
I am mumbling words not to share.

Event Timeline

LOL

these pages should have Macro disabled, probably. A user on the install can add more macros that would break the page in some other ways. Probably.