Use Ajax for merge request submissions

Summary

When submitting a merge request on Gitlab from a forked repository the submission takes a lot of time and might result in a 500 Timeout error.

Steps to reproduce

Create a merge request from a forked gitlab-ce repository. The 500 error might appear randomly.

What is the expected correct behavior?

The browser shouldn't be waiting indefinitely for a response. Long running submissions should use Ajax calls and the user should be asked to wait while the task is in progress. If it fails the user should see an explicit error message and be asked to submit the form again. On success the user should be redirected to the newly created merge request.

Output of checks

This bug happens on GitLab.com

Edited Aug 31, 2017 by Florian Lemaitre
Assignee Loading
Time tracking Loading