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 by Florian Lemaitre