The problem

A Safari 16.0 user complained that Confluence's editor was totally broken, with the generic error "The editor didn't load this time. The connection timed out":

These two lines appear repeatedly in the Developer console:

[Error] WebSocket network error: The operation couldn’t be completed. (OSStatus error -9836.) (x2)
[Warning] Synchrony: Warning: reconnect (Transport.handshakeOverXhr: ws connection failed, and cross-origin-long-polling is disabled)

The editor worked fine for this user in Chrome - just Safari is broken.

The Cause

I had recently modernized my Apache webserver TLS settings:

# modern configuration
SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2

Safari 16.0 and 16.1 (latest as of ) seems to support TLSv1.3 just fine, except  for when opening a websocket connection. Then (and only then) Safari tries to use TLSv1.2: - - [28/Nov/2022:23:35:05 +1100] "GET /synchrony/v1/bayeux-sync1 HTTP/1.1" 200 5236 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15" 11359166 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384

If TLSv1.2 is disabled, as in my super-modern config, you get hangs and editor unhappiness.

Seems a few other people experienced this problem with Safari websockets too.

So much for the bleeding edge.

  • No labels