Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-60057

Editing a large page in Confluence causes Synchrony timeouts

    XMLWordPrintable

Details

    Description

      The fix for this bug has been released to our Long Term Support release.

      The fix for this bug is now available in the latest release of Confluence 7.13 and 7.19

      Issue Summary

      When loading a large page that contains many macros in Confluence 7.2 and above, the performance impact on the browser is substantial enough that Synchrony fails and displays errors such as “The connection timed out. If it happens again, speak to your Confluence admin. You may be using a proxy server that prevents WebSocket connections.”

      Using an example XHTML page that contains multiple macros, once the page is loaded using the Chrome browser the page itself is very unresponsive, and simple operations such as scrolling are difficult. When loading the page to edit or when saving edits to text the page freezes and there is a significant delay before actions take place. The same is true for buttons and cursor states.

      Looking at the profiling and development tools in Chrome it’s clear that the majority of the time handling the page edit or load operation is spent on scripting and DOM processing. When the operation doesn’t complete in the default timeout set by Synchrony (In some cases 30 seconds) we see that the WebSocket opened by Synchrony has already been closed due to the delay in receiving the page content.

      VM292:1778 WebSocket connection to 'wss://confluence7.2/synchrony/v1/bayeux-sync1' failed: WebSocket is closed before the connection is established.
      

      This results in the error we see regarding a proxy and whether it supports WebSocket connections.

      This behaviour is tested and is not present in the latest version of Confluence 6.15, the page is easy to navigate and alter when using the same macros and the example page attached.

      Steps to Reproduce

      1. Install and activate the Live Input Macros
      2. Install the Confluence Source Editor
      3. Using the example XHTML page export attached edit a page using the Confluence Source Editor and paste in the content from the example page temp.html.
      4. Attempt to navigate and perform edits on the page

      Expected Results

      The page should be able to be easily navigated and edited.

      Actual Results

      The page causes the browser to be unresponsive and there are problems with editing and saving the page. Errors such as “The connection timed out. If it happens again, speak to your Confluence admin. You may be using a proxy server that prevents WebSocket connections.” are displayed.

      The below exception is thrown in the Chrome console.log

      VM292:1778 WebSocket connection to 'wss://confluence7.2/synchrony/v1/bayeux-sync1' failed: WebSocket is closed before the connection is established.
      

      Workaround

      Matters improve slightly if the page is approximately 1/3 of the size of the attached example, and then saving can be completed - however the page editing experience is still hampered.

      Attachments

        Issue Links

          Activity

            People

              bb797b5e39e7 Judy Lim
              wmasters Will Masters
              Votes:
              65 Vote for this issue
              Watchers:
              73 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: