- Create a workboard with two columns.
- In one column, put a "High" priority task and a "Low" priority task.
- In the other column, put a "Normal" priority task.
- Drag the "Normal" priority task between the "High" and "Low" priority tasks.
Expected behavior:
- Task priority is not adjusted.
Actual behavior:
- Task priority is adjusted to "High".
Here are screenshots showing this process:
{F131593}
{F131595}
{F131597}
The reason this happens is because we share code with the Maniphest list view, which has slightly different constraints.
On the list view, it is not possible to generate a drag operation which does not change priority (or change sub-priority). The only place you can drag a task and have it keep the same priority/sub-priority is its current spot -- drags within a priority level may not require a top-level change, but the "subpriority" will always need to change. However, on the workboards, drags between columns do not always need to change priority.
The current behavior is correct for drags which do need to change priority. If the task had been "Unbreak Now!" or "Wishlist", it would be appropriate for it to end up with "High" priority. However, for tasks with a priority which satisfies the existing constraints, we shouldn't do a priority change.