A few minor fixes:
- When we build a tag with "meta" => null, strip the attribute like we do for all other attributes. Previously, we would actually set the metadata to null. This happened with the Conpherence form.
- Just respond to the draft request with an empty (but valid) response, instead of building a dialog.
- PhabricatorShapedRequest is confusingly named and I should have caught this in review, but the basic shape of it is:
- You make one object.
- You call trigger() when stuff changes (e.g., a keystroke).
- It manages making a small number of requests (e.g., one request after the user stops typing for a moment).
- The way it was being used previously would incorrectly send a request for every keystroke.
I think I'm going to simplify ShapedRequest and merge it into some larger queue for T430.