Bug #3200

[Workbench] Improve AJAX error reporting

Added by Peter Amstutz almost 6 years ago. Updated almost 6 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Brett Smith
Category:
Workbench
Target version:
Start date:
07/23/2014
Due date:
% Done:

100%

Estimated time:
(Total: 3.00 h)
Story points:
1.0

Subtasks

Task #3322: Review 3200-ajax-error-handling-wipResolvedBrett Smith

Task #3251: When updating parameters on the pipeline instance page, AJAX errors result in "loading forever" behavior instead of displaying an error messageResolvedBrett Smith

Task #3276: Tab load failure should result in an error message and a "reload" button in the tab pane.ResolvedBrett Smith

Task #3207: Error while adding public_key to a new authorized keyResolvedBrett Smith


Related issues

Related to Arvados - Bug #3027: [Workbench] job->log tab appears to be loading forever if Log collection is not foundResolved

Associated revisions

Revision fa3f6860 (diff)
Added by Brett Smith almost 6 years ago

2044: Improve reporting when project sharing fails.

Our select modal knows how to render an errors key in the JSON
response. This commit adjusts the project controller to conform to
this convention. Refs #2044, #3200.

Revision fdc4fd98
Added by Brett Smith almost 6 years ago

Merge branch '3200-ajax-error-handling'

Closes #3200, #3207, #3251, #3276, #3322.

History

#1 Updated by Ward Vandewege almost 6 years ago

  • Target version set to 2014-08-06 Sprint

#2 Updated by Ward Vandewege almost 6 years ago

  • Subject changed from Errors in AJAX tab load requests are not displayed to the user to [Workbench] Errors in AJAX tab load requests are not displayed to the user

#3 Updated by Tom Clegg almost 6 years ago

  • Story points set to 1.0

#4 Updated by Peter Amstutz almost 6 years ago

  • Assigned To set to Peter Amstutz

#5 Updated by Brett Smith almost 6 years ago

  • Assigned To changed from Peter Amstutz to Brett Smith

#6 Updated by Tom Clegg almost 6 years ago

  • Subject changed from [Workbench] Errors in AJAX tab load requests are not displayed to the user to [Workbench] Improve AJAX error reporting
  • Category set to Workbench

#7 Updated by Tom Clegg almost 6 years ago

Warning, #3170 is moving the tab-loading javascript around a bit.

#8 Updated by Brett Smith almost 6 years ago

Branch 3200-ajax-error-handling-wip is up for review. Not all the changes are related, so:

  • The fail callback added to tab_panes.js shows an error when a tab fails to load, to resolve #3276.
  • The changes to the error function in editable.js helps make sure that X-Editable always shows an error, even when the response doesn't look the way we expect. This helps both #3207 and #3251.
  • The changes to Workbench's API client help ensure that errors from API requests get passed on correctly to Workbench AJAX requests. This provides a better error message for #3207, at least, and probably other cases that aren't known yet.

#9 Updated by Brett Smith almost 6 years ago

  • Status changed from New to In Progress

#10 Updated by Radhika Chippada almost 6 years ago

Review completed. Everything looks and works great. Just a couple very minor suggestions.

- The tab error message seems verbose. And, it feels like we could rearrange the message to make it easy to work with. How about something like:

An error occurred while loading this page: Errno::ECONNREFUSED error connecting to API server
RELOAD BUTTON 
Please try reloading this page. If the problem persists, the information below . . .

- Reload button title: Can it be just “Reload” instead of “Reload tab”?

#11 Updated by Brett Smith almost 6 years ago

Radhika Chippada wrote:

- The tab error message seems verbose. And, it feels like we could rearrange the message to make it easy to work with. How about something like:

Which error message are you referring to specifically? If Workbench returns an error page when rendering the tab, this branch shows that error page verbatim. And having the error page with extra information about failures to connect to the API server was something we decided in a previous story, #2891.

I'm open to the idea of rearranging the layout, but the fact that the best thing we can do is render the whole response page in one blob makes it a little tricky. For example, in your suggestion:

An error occurred while loading this page: Errno::ECONNREFUSED error connecting to API server

This isn't doable, because the rendering Javascript doesn't know that the error was ECONNREFUSED. That information is in the HTML response, which the Javascript has to render all together.

Is there another improvement we might make?

- Reload button title: Can it be just “Reload” instead of “Reload tab”?

I'm okay with making it shorter, but I'm a little concerned users might think it reloads the whole page. Do you think that's all right?

Thanks.

#12 Updated by Radhika Chippada almost 6 years ago

My comments about the error message were when tab reloading failed (such as the project related tabs "Other objects" etc).

If it is harder to rearrange the text, I think it would be nice if we could do something like:

RELOAD button
Then the message.

I think having the reload button early on in the tab would be more usable, especially for someone who has seen similar error before.

#13 Updated by Brett Smith almost 6 years ago

Thanks for the feedback. I just pushed 09f5240, which puts a generic "An error occurred" message and the reload button at the top of the error page. Please take another look.

#14 Updated by Radhika Chippada almost 6 years ago

Completed reviewing again. Suggested to Brett that we should just remove the generic "an error occurred" text to make it look better.

#15 Updated by Brett Smith almost 6 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100

Applied in changeset arvados|commit:fdc4fd98ee963559ac13e737700a8be1f5c736c7.

Also available in: Atom PDF