Docbuilder has expanded its reporting capabilities, but this has lead to it filling the browser HTTP request queue to the PressGang server. This means that the web UI in another tab won't be able to send requests to the PG server. The REST calls need to be streamlined and done in a more synchronous way to prevent this queuing.
DocBuilder Next now makes a number of serial requests to the REST server. This is slower, but also means that the web ui is free to make whatever calls it needs to make.
I'll need to get the topic details in batches, and single requests take far too long in complicated specs.
DocBuilder now does three passes for information: 1. Get the specific topic revisions referenced by the spec. This is for spellchecking. Each request is done one at a time because the API doesn't allow us to return specific revisions in a bulk call. 2. Get the duplicate topics for each topic in the spec. Again, this is done one call at a time. 3. Get the info on the latest revision of the topics. This is used to populate the popovers. This is done in batches. At any time only one REST call is in the queue though. This means that other tabs are free to call the REST server when they need to, and not when a queue of requests made by DocBuilder have finished.