Ref T6256, this prevents more installs from getting in this weird state. We'll have to follow up if possible to "fix" the issue retroactively.
Details
Details
- Reviewers
epriestley btrahan - Maniphest Tasks
- T6256: Moving the default column on Workboards causes issues if first column is also hidden
- Commits
- Restricted Diffusion Commit
rP8aa047766d2c: Check for presence of any Columns before triggering initialization of Workboard
Test moving a backlog column to new position, hiding rest of other panels.
Diff Detail
Diff Detail
- Repository
- rP Phabricator
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Minor nit: when $var is known to be declared, !$var is equivalent to empty($var) and preferred. That is, prefer if (!$columns) over if (empty($columns)) (when $columns certainly is known to be declared) by convention.
src/applications/project/controller/PhabricatorProjectBoardViewController.php | ||
---|---|---|
71–74 | I think we'll still incorrectly enter this block if there are columns but they're all hidden? It's not currently possible to hide every column (since backlog columns can not be hidden), but it might be in the future (if we let you hide the backlog column). The logic ideally should go like: if (!$columns) { // Run the query again, without any status constraints, to make sure there really are absolutely no columns. if ($really_no_columns) { // do initialize stuff } else { // show some "all columns are hidden" state } } Since you can't actually break this for now, this fix moves us forward as-is, but maybe TODO this or whatever. |