Page MenuHomePhabricator

Removing projects by editing a task in-place from a query result list doesn't refresh properly
Closed, ResolvedPublic

Description

  1. Do a query in Maniphest
  2. Edit a task in the result list
  3. Remove all its projects
  4. Save

-> Task row reloads but still shows the old associated project tag

Event Timeline

swisspol raised the priority of this task from to Needs Triage.
swisspol updated the task description. (Show Details)
swisspol added a subscriber: swisspol.

This reproduces locally for me.

I think the root cause is that we carry the same $task through the edit into the re-render, but its projectPHIDs are never updated (the edge transaction doesn't know about the attachment point). We could resolve this by making the edge edit update the projectPHIDs (but this seems involved / complex / hard -- probably requires formalizing attachment points substantially) or reloading the $task explicitly before rendering (this is probably simpler).

The card rendering logic currently does an explicit manual reload of project PHIDs to resolve this. We should unify the card/item rendering logic, and probably just do a full reload in both cases.