Uploaded image for project: 'phpBB3'
  1. phpBB3
  2. PHPBB3-10805

"Request timed out" ui appears over function ui in ajax

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 3.1.0-dev
    • Fix Version/s: 3.1.0-a1
    • Component/s: JavaScript / AJAX
    • Labels:
      None

      Description

      On area51 I selected "move topic" in quickmod and was repeatedly clicking ok. Eventually I arrived at a situation when the "are you sure" and "request timed out" boxes were displayed at the same time, and "request timed out" box was on top.

      There should be only one of those boxes ever displayed. If an operation succeeds, error UI must be hidden; if an operation fails, the failure message must probably be on top.

      Note that I was clicking the ok button in quickmod tools after dismissing the ajax overlay each time.

        Activity

        Hide
        brunoais brunoais added a comment -

        Sounds like an overload of async js execution.
        There was js pending and still the OK button was available.

        Show
        brunoais brunoais added a comment - Sounds like an overload of async js execution. There was js pending and still the OK button was available.
        Hide
        Marc Marc added a comment -

        I was able to reproduce this issue. I think there are actually 2 issues:

        1. We are able to actually create a AJAX request while the previous one of the same type is still running
        2. We have 2 message. Clicking on either one of the close "x" will also close the other one

        I'll try to look a bit more into the first part and then afterwards we can look at the second part.

        Show
        Marc Marc added a comment - I was able to reproduce this issue. I think there are actually 2 issues: We are able to actually create a AJAX request while the previous one of the same type is still running We have 2 message. Clicking on either one of the close "x" will also close the other one I'll try to look a bit more into the first part and then afterwards we can look at the second part.
        Hide
        Marc Marc added a comment -

        Regarding the "Request timed out":
        What actually happens is that phpbb.alert adds the error message to #darkenwrapper:

        	if (loading_alert.is(':visible'))
        	{
        		loading_alert.fadeOut(phpbb.alert_time, function() {
        			dark.append(div);
        			div.fadeIn(phpbb.alert_time);
        		});
        	}

        The actual problem is that we create a timer with setTimeout(). After the 5 seconds the error message will be added to the error popup. What we actually need to do is clear the timeout once the confirm message gets hidden, i.e. by clicking on the dark background.

        Show
        Marc Marc added a comment - Regarding the "Request timed out": What actually happens is that phpbb.alert adds the error message to #darkenwrapper: if (loading_alert.is(':visible')) { loading_alert.fadeOut(phpbb.alert_time, function() { dark.append(div); div.fadeIn(phpbb.alert_time); }); } The actual problem is that we create a timer with setTimeout(). After the 5 seconds the error message will be added to the error popup. What we actually need to do is clear the timeout once the confirm message gets hidden, i.e. by clicking on the dark background.

          People

          • Assignee:
            Oleg Oleg [X] (Inactive)
            Reporter:
            Oleg Oleg [X] (Inactive)
          • Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development