Index: src/applications/project/controller/PhabricatorProjectBoardViewController.php =================================================================== --- src/applications/project/controller/PhabricatorProjectBoardViewController.php +++ src/applications/project/controller/PhabricatorProjectBoardViewController.php @@ -254,6 +254,13 @@ continue; } + if (!$this->showHidden) { + if ($proxy && $proxy->isArchived()) { + // Hide archived milestone / subproject columns by default. + continue; + } + } + $task_phids = $layout_engine->getColumnObjectPHIDs( $board_phid, $column->getPHID()); @@ -307,7 +314,8 @@ $panel->addClass($display_class); } - if ($column->isHidden()) { + if ($column->isHidden() || + ($column->getProxy() && $column->getProxy()->isArchived())) { $panel->addClass('project-panel-hidden'); } @@ -693,7 +701,12 @@ $hide_uri = $this->getApplicationURI($hide_uri); $hide_uri = $this->getURIWithState($hide_uri); - if (!$column->isHidden()) { + $proxy = $column->getProxy(); + if ($proxy && $proxy->isMilestone()) { + // You can't hide / show milestone columns manually; + // instead their visibility is based on the milestone's + // status (active / archived). + } else if (!$column->isHidden()) { $column_items[] = id(new PhabricatorActionView()) ->setName(pht('Hide Column')) ->setIcon('fa-eye-slash')