closes PR 13435
Also cleaned up one more threading problem (this one was
probably innocuous, but it is hard to be sure and the
rewrite is easier to see that it isn't problematic)
See in-code comments for how this is just a rough feature to be used if
needed (and improved when it becomes necessary). That can just as well
go to the FIXME of using a string constant.
* Add captcha url (unused, yet)
* The second argument to `call/input-url' can be a one-argument function
since the call doesn't send it any headers.
Still needs to be done: check the HTTP response for an error status, and
make it fail as a result (currently it just assumes that any response is
fine, which can change in case of a captcha failure). Then, add a
captcha challenge if one is found, otherwise ignore.
- show discard-all-bug-reports menu item as long as there is at least one bug report
- move the close-and-save button to the left-hand side of the dialog
- ask about discarding bug reports when clicking the close box
- working dealing with empty bug reports
- the 'finished' stage of the bug report form sets the focus to the close button
closes PR 11644
closes PR 11645
closes PR 11638
closes PR 11640
also cleaned up a bunch of little things in the bug report implementation:
- the abort had race conditions
- formatted the collections a little bit better (hopefully)
- broke the implementation up into multiple files
- fixed broken interaction with drracket (the drracket frame mixin is now being used properly)