Fixes T4657. See that task for discussion of edge cases.
- Maniphest Tasks
- T4657: Add a one-click "Close" button to Maniphest
- Restricted Diffusion Commit
rP17dee98d3223: Add a one-click "Scuttle Task" button to Maniphest
Is there more context on this feature outside of T4657? I'd imagine in places where one click closes were common you'd want to do it on a list view?
This UI seems strange to me, as this is normally where the cancel button is and its grey?
Maybe it should be an action in the header?
@carl might be able to provide some more context.
From my point of view, this mostly mirrors the similar GitHub button with the same function, which I find useful. The most common use case I have for the button on GitHub is when triaging a task that already exists elsewhere, has an easy answer, etc. In these cases, I'll generally read the task, scroll down, type a short reply (like "See Txxx" or "Check yyy in the config." or "This should be fixed in HEAD.") and then click "Comment and Close".
I don't regularly encounter workflows where I want to close a task blindly (e.g., from a list view), or close one without leaving any comment or context (e.g., from an action link).
This is a very small UI concession (I close fewer than 2,000 tasks per year, so this would save me perhaps 5 seconds a day, and I'd guess I'm at least within an order of magnitude of the most active task closers), but I do miss the convenience of the GitHub button in Maniphest a little bit.
This risks some level of confusion with "Cancel", and I'm sure some people will click it to figure out what it does because "Scuttle Task" is fun, but I don't think the action is too confusing on GitHub.
A few similar requests have come up in the past (generally to add a one-click "Accept" to Differential). I'm more hesitant about that because it seems really silly and over-the-top, but the barrier for closing tasks seems lower to me. I would not anticipate adding this to most applications. Offhand, the only one I'd maybe think about is Diffusion -- a lot of audits seem somewhat reasonable to accept with one click.
Ah, the GitHub comparison is useful; I forget they had it that way.
The GitHub design is different-ish though:
- No action select, since all you can do is close, close + comment, comment. (Although I think once closed you can re-open...)
- UI initially has "Close" and "Comment" buttons. Typing changes "Close" to "Close and Comment".
I point this out because since they basically have two actions having two buttons is cool. Our form is more complicated, i.e. I tihnk we have to label our "Comment" as "Submit" since its maybe doing more than commenting via the form, and our "Close" as "Close Task" since its unclear what's going on without that additional text given the form above.
I personally would find Maniphest and Differential to be about equally valid for "one click" scenarios. For example, as I slog through a bunch of reviews today a few of them have been really simple and a quick scroll was really all it took and I would have used such a button. That said, I'd go with no button in either case.
Anyway, code looks good and I'm all about saving you 5 seconds. I would love to hear what @chad has to say though, and maybe this hints that the "action box" + "preview of action" area needs some larger re-design?
Yeah, the Github parallel is a big part of what we're looking for. Their "Close and comment" button is just really damn convenient, even if it doesn't save much time on an absolute scale. Also, as we're not yet Phabricator experts, it makes a very common action much more discoverable for people new to the product.
I also wouldn't object to having the button live in the upper right of the page (by "Edit Task" et. al.), but don't feel particularly strongly either way.
Let's try this and see how it goes, I don't think anyone is going to be too upset if we decide to change the format or move it around later or throw it away, since at the end of the day it just saves two clicks.