Page hangs on save (Save 0%...). However, save is successful

Hey folks.

I’m seeing the same issue so I dug around a little. I think the problem only exists when running behind a reverse proxy or something alike. I’ve never looked at the xwiki source code before today so the following should be taken with a grain of salt. As far as I can see, something like the following happens:

As soon as you hit “Save and View”, the Page is created just as expected. Next, if this is an async request, the server sends a redirect to the job status resource. This is where things go awry. When the client asks for the job status, the server responds with a JSON indicating the state of the job is FINISHED and provides the link to resource. The problem is that the link provided does neither honor xwiki.home, nor does it honor xwiki.url.protocol. I.e, on my machine, http://127.0.0.1:10010/rest/jobstatus/refactoring/create/1546262584501-56 is returned while the URI should be https://xwiki.sabix.de/rest/jobstatus/refactoring/create/1546262584501-561. This is where the SOP kills the request.

I guess the problem is in JobStatusResourceImpl, where uriInfo.getAbsolutePath() is handed down to create the status or in the function called there, which just calls toString() on the supplied URI.

The thing isn’t a big issue for me. I can always just reload the page. Furthermore, I can probably just configure my apache reverse proxy differently. Nevertheless, I think the server should honor the configuration options in any case. Maybe I’m wrong about that.

I’m sorry that I don’t have time to dig around more right now, but if you have any follow up questions, feel free to ask.

1 Like