Page MenuHomePhorge

Fix regression caused by tags= prefiller (Value provided to "replaceQueryParam()" for key "tags" is NULL) from Milestone Workboard
Closed, ResolvedPublic

Description

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:

  1. Create an empty Project
  2. Create an empty Milestone inside
  3. 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.

Event Timeline

valerio.bozzolan triaged this task as Unbreak Now! priority.
valerio.bozzolan created this object in space S1 Public.
valerio.bozzolan renamed this task from Fix regression caused by tags= prefiller to Fix regression caused by tags= prefiller (Value provided to "replaceQueryParam()" for key "tags" is NULL).Mar 31 2023, 08:45
valerio.bozzolan renamed this task from Fix regression caused by tags= prefiller (Value provided to "replaceQueryParam()" for key "tags" is NULL) to Fix regression caused by tags= prefiller (Value provided to "replaceQueryParam()" for key "tags" is NULL) from Milestone Workboard.Apr 6 2023, 14:17