Idea #3112
Updated by Tom Clegg over 10 years ago
Finding it
* Modal, always in DOM, menu items under "help" dropdown cause it to open
* Menu items: "Show version / debugging info", "Report a problem"
** First existing help links, then separator, then this new stuff
Content
* Render as a bootstrap form with static form inputs (plus hidden ones, so they actually get submitted)
* Show workbench source_version (get this from application.yml)
* Show workbench @arvados_v1_base@ config
* Show apiserver source_version (get this from discovery doc, which gets it from apiserver's application.yml)
* Show apiserver discovery document generatedAt timestamp
* Current page URI (with overflow=ellipsis) -- populate when showing modal, using @window.location@
* If current page is an error page:
** Current error message
** Current api_response[:error_token]
* Your user_uuid
* Support email address (from workbench config)
* If "report a problem" is how we got here, also reveal:
** "Found a problem? Tell us what happened:" + textarea + "Report bug" button
** "Cancel" button
* else reveal a "Close" button
Error page
* (Make sure the modal still works if current_user is nil)
* Add a "More info / report problem..." button to the error page that brings up the "report" modal
Submit
* AJAX
** Disable "Report bug" button and change its text to "Sending..." during AJAX call
** When AJAX succeeds, replace form with an info panel "Thanks for reporting!" and reveal the "Close" (close dialog) button
** If AJAX fails, say something that acknowledges the irony like "Well, this is pretty embarrassing. I couldn't even submit your bug report! We really want this to work, though -- please do try again."
** (I think there's something out there like "data-disable-with" that can do all the button text changing for us.)
* Send email message from workbench (no API call)
* Also log the submitted info to stderr
Add configs
* apiserver source_version (and include this in the discovery doc as @sourceVersion@)
* workbench source_version
Default in application.default.yml can be something like this, but we also want to know whether there are local modifications (i.e., does `git status -s` report anything?). If there are local modifications, abbreviate the commit sha1 to 20 characters and append "-modified"
<pre>
common:
source_version: <%= `git show --format=%h` %>
</pre>