I can’t find any way through the GUI to remove a user from a project without that user clicking “Leave Project” themselves… I know that you can use project.edit with a transaction type of members.remove in conduit, but I could’ve sworn that once upon a time there was a button to eject a user from a project. Am I crazy?
Ugh. Someone had made and then archived subprojects on the Project where this was reported to me, and, of course, you can’t remove someone from a project if it has subprojects (and the button doesn’t even show up).
Sorry for wasting your time.
This is really an upstream problem.
I’m trying to get rid of pretty much all UIs where we hide currently-unavailable actions. The desired behavior is that the action is shown in a disabled state, and clicking it pops up a dialog explaining why you can’t currently take the action.
These UIs which only show available actions are more visually attractive and sort of more obvious to implement, but I think they’re pretty awful from an actual usability perspective.
Nowadays, we have very few actions which just vanish from the UI and I think the trend on these is sharply downward.
See also https://secure.phabricator.com/T13322. I think the subproject rules around membership are also an upstream problem, but this one wasn’t as obvious upfront. I now think I made the wrong choice here, but that making the wrong choice was reasonable with available information at the time.
(This UI also has the problem that the button itself is small and not labelled. I’m mostly trying to get rid of UIs like this, too.)