This is a report from the kind user @dadalha:
This commit introduced a regression:
rP5e2b36771578: Workboard: improve the Create Task link to mention the Project slug
Since that change breaks Workboards for Milestones within Projects.
Steps to reproduce:
- Create an empty Project
- Create an empty Milestone inside
- Create the Milestone's Workboard
What happens:
Attempting to visit the Milestone's Workboard directly results in the following exception:
phorge_docker-phorge-1 | NOTICE: PHP message: [2023-03-28 14:51:41] EXCEPTION: (InvalidArgumentException) Value provided to "replaceQueryParam()" for key "tags" is NULL. Use "removeQueryParam()" to remove a query parameter. at [<arcanist>/src/parser/PhutilURI.php:341] phorge_docker-phorge-1 | NOTICE: PHP message: arcanist(head=master, ref.master=08dfffd5caf7), phorge(head=master, ref.master=5eac69b79dbb) phorge_docker-phorge-1 | NOTICE: PHP message: #0 <#2> PhutilURI::replaceQueryParam(string, NULL) called at [<phorge>/src/applications/project/controller/PhabricatorProjectBoardViewController.php:700] phorge_docker-phorge-1 | NOTICE: PHP message: #1 <#2> PhabricatorProjectBoardViewController::buildColumnMenu(PhabricatorProject, PhabricatorProjectColumn) called at [<phorge>/src/applications/project/controller/PhabricatorProjectBoardViewController.php:181] phorge_docker-phorge-1 | NOTICE: PHP message: #2 <#2> PhabricatorProjectBoardViewController::handleRequest(AphrontRequest) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:284] phorge_docker-phorge-1 | NOTICE: PHP message: #3 phlog(InvalidArgumentException) called at [<phorge>/src/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41] phorge_docker-phorge-1 | NOTICE: PHP message: #4 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, InvalidArgumentException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:751] phorge_docker-phorge-1 | NOTICE: PHP message: #5 AphrontApplicationConfiguration::handleThrowable(InvalidArgumentException) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:296] phorge_docker-phorge-1 | NOTICE: PHP message: #6 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:204] phorge_docker-phorge-1 | NOTICE: PHP message: #7 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]
Note that visiting the Project's workboard, if it exists, works fine.
You can even see the Sprint Workboard in there.
Notably, the "Create task" for both the Project's workboard and the Milestone show exactly the same ?tags=project-slug at this point.