Mac client hands on first opening.
We do have SSL Inspection, and I can't get away from it, as we have always on VPN.
I can request an exception to SSL inspection (it mitght not be approved), but:
Client should trust the certs that the machine trust (perhaps review that possibility with your engineering team)
It should be a quick error (i.e: cert issue and not a long timeout).
It should'nt try to check for updates if it's disabled.
Mac client hands on first opening.
Hello,
I've tried again with version 2026.3.3.0.
Updates still manuall:

https://devolutions.net is allowed in our network, When I test the https://devolutions.net it works fine: Here’s an output of Curl:
$ curl -vvv https://devolutions.net > test-devolutions.txt % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Host devolutions.net:443 was resolved.* IPv6: (none)* IPv4: 172.64.147.20, 104.18.40.236* Trying 172.64.147.20:443...* Connected to devolutions.net (172.64.147.20) port 443* ALPN: curl offers h2,http/1.1* (304) (OUT), TLS handshake, Client hello (1):} [320 bytes data]* CAfile: /etc/ssl/cert.pem* CApath: none* (304) (IN), TLS handshake, Server hello (2):{ [122 bytes data]* (304) (IN), TLS handshake, Unknown (8):{ [66 bytes data]* (304) (IN), TLS handshake, Certificate (11):{ [4617 bytes data]* (304) (IN), TLS handshake, CERT verify (15):{ [79 bytes data]* (304) (IN), TLS handshake, Finished (20):{ [52 bytes data]* (304) (OUT), TLS handshake, Finished (20):} [52 bytes data]* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384 / [blank] / UNDEF* ALPN: server did not agree on a protocol. Uses default.* Server certificate:* subject: CN=*.devolutions.net* start date: Sep 21 02:58:56 2026 GMT* expire date: Dec 20 02:58:55 2026 GMT* subjectAltName: host "devolutions.net" matched cert's "devolutions.net"* issuer: C=CA; O=Aviso Wealth Inc; CN=ForwardTrustCert* SSL certificate verify ok.* using HTTP/1.x> GET / HTTP/1.1> Host: devolutions.net> User-Agent: curl/8.7.1> Accept: */*>* Request completely sent off< HTTP/1.1 200 OK< Date: Mon, 09 Nov 2026 19:42:25 GMT< Content-Type: text/html< Transfer-Encoding: chunked< Connection: keep-alive< CF-Cache-Status: HIT< Cache-Control: public, max-age=0, must-revalidate< set-cookie: __cf_bm=qI5rG9a3QOKqBzEQlwSKeZsEgXex_pfSnHOCzI5VEHc-1794253345.5567684-1.0.1.1-Cjytn.UxSi8JBJBUwM3GzdK0MdMoGF3GiBOwo__Pkn6htTmp1Y7GzHb1Yjh5RJevbLdAnvVSrqOOB5aYDBQQyQapCBHLCV.59TCxN99mnzR2YUJytT1bhSBDD8i5FjjG; HttpOnly; SameSite=None; Partitioned; Secure; Path=/; Domain=devolutions.net; Expires=Mon, 09 Nov 2026 20:12:25 GMT< Strict-Transport-Security: max-age=31536000< content-security-policy: frame-ancestors 'self' *.devolutions.app *.devolutions.com *.devolutions.xyz< referrer-policy: strict-origin-when-cross-origin< Server: cloudflare< CF-RAY: a57f4cf1bd28f00c-YYZ<{ [577 bytes data]100 271k 0 271k 0 0 806k 0 --:--:-- --:--:-- --:--:-- 807k* Connection #0 to host devolutions.net left intactBut when I open the client, it hands for a while (same behaviour) and then gives out an error:
Devolutions.RemoteDesktopManager.Business.TryGoOfflineException: XmlSerializeErrorDetails, 10, 108
---> System.InvalidOperationException: XmlSerializeErrorDetails, 10, 108
---> System.IO.IOException: net_io_readfailure, Operation timed out
---> System.Net.Sockets.SocketException (60): Operation timed out
at System.Net.Sockets.Socket.Receive(Span`1 buffer, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Span`1 buffer)
Exception_EndOfInnerExceptionStack
at System.Net.Sockets.NetworkStream.Read(Span`1 buffer)
at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken, Int32 estimatedSize)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](Memory`1 buffer, CancellationToken cancellationToken)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
at System.Net.Security.SslStream.Read(Span`1 buffer)
at System.Net.Http.HttpConnection.Read(Span`1 destination)
at System.Net.Http.HttpConnection.ContentLengthReadStream.Read(Span`1 buffer)
at System.Xml.XmlTextReaderImpl.ReadData()
at System.Xml.XmlTextReaderImpl.ParseElementContent()
at System.Xml.XmlTextReaderImpl.Skip()
at System.Xml.XmlSubtreeReader.Skip()
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read3_UpdatePost(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read4_UpdatePostChannel(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read5_channel()
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
Exception_EndOfInnerExceptionStack
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader)
at Devolutions.RemoteDesktopManager.Managers.UpdateManager.GetNewestVersionFromFeed(String feedUrl)
Exception_EndOfInnerExceptionStack
Mac client hands on first opening.
I wouldn't want to recreate the workspace if there's strong indication that this might be the reason, cause I already have people invited and SSO settings, provisioning, etc.
I'm still getting the hanging. The stacktrace is still showing "GetNewestVersionFromFeed" and I can reproduce the exact same issue if after the software is responsive, I try to manually check for updates.
Devolutions.RemoteDesktopManager.Business.TryGoOfflineException: net_io_readfailure, Operation timed out
---> System.IO.IOException: net_io_readfailure, Operation timed out
---> System.Net.Sockets.SocketException (60): Operation timed out
at System.Net.Sockets.Socket.Receive(Span`1 buffer, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Span`1 buffer)
Exception_EndOfInnerExceptionStack
at System.Net.Sockets.NetworkStream.Read(Span`1 buffer)
at System.Net.SyncReadWriteAdapter.ReadAsync(Stream stream, Memory`1 buffer, CancellationToken cancellationToken)
at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken, Int32 estimatedSize)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](Memory`1 buffer, CancellationToken cancellationToken)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
at System.Net.Security.SslStream.Read(Span`1 buffer)
at System.Net.Http.HttpConnection.Read(Span`1 destination)
at System.Net.Http.HttpConnection.ContentLengthReadStream.Read(Span`1 buffer)
at System.Xml.XmlTextReaderImpl.InitStreamInput(Uri baseUri, String baseUriStr, Stream stream, Byte[] bytes, Int32 byteCount, Encoding encoding)
at System.Xml.XmlTextReaderImpl.FinishInitStream()
at System.Xml.XmlTextReaderImpl..ctor(Stream stream, Byte[] bytes, Int32 byteCount, XmlReaderSettings settings, Uri baseUri, String baseUriStr, XmlParserContext context, Boolean closeInput)
at System.Xml.XmlReader.Create(Stream input)
at Devolutions.RemoteDesktopManager.Managers.UpdateManager.CheckForNewVersion()
Exception_EndOfInnerExceptionStack
Weirdly enough, looks like this setting is not being "validated" ad I did change to "Manual Checks only".

Mac client hands on first opening.
I'm now set to use Devolutions Cloud.
Happy to provide screenshots if you tell me which settings (there's way too many in different spots)
Mac client hands on first opening.
Thank you for your reply Samuel,
It didn't fix.. one thing I noticed was on the Loading connections on the bottom:

I used to see two errors (different callstacks).
Devolutions.RemoteDesktopManager.Business.TryGoOfflineException: XmlSerializeErrorDetails, 9, 14
---> System.InvalidOperationException: XmlSerializeErrorDetails, 9, 14
---> System.IO.IOException: net_io_readfailure, Operation timed out
---> System.Net.Sockets.SocketException (60): Operation timed out
at System.Net.Sockets.Socket.Receive(Span`1 buffer, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Span`1 buffer)
Exception_EndOfInnerExceptionStack
at System.Net.Sockets.NetworkStream.Read(Span`1 buffer)
at System.Net.SyncReadWriteAdapter.ReadAsync(Stream stream, Memory`1 buffer, CancellationToken cancellationToken)
at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken, Int32 estimatedSize)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](Memory`1 buffer, CancellationToken cancellationToken)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
at System.Net.Security.SslStream.Read(Span`1 buffer)
at System.Net.Http.HttpConnection.Read(Span`1 destination)
at System.Net.Http.HttpConnection.ContentLengthReadStream.Read(Span`1 buffer)
at System.Xml.XmlTextReaderImpl.ReadData()
at System.Xml.XmlTextReaderImpl.ParseEndElement()
at System.Xml.XmlTextReaderImpl.ParseElementContent()
at System.Xml.XmlTextReaderImpl.Skip()
at System.Xml.XmlSubtreeReader.Skip()
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderUpdatePostChannel.Read3_UpdatePost(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderUpdatePostChannel.Read4_UpdatePostChannel(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderUpdatePostChannel.Read5_channel()
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Exception_EndOfInnerExceptionStack
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader)
at Devolutions.RemoteDesktopManager.Managers.UpdateManager.GetNewestVersionFromFeed(String feedUrl)
Exception_EndOfInnerExceptionStack
Mac client hands on first opening.
Hello folks,
I have installed the devolutions client (just bought the license) and I'm still getting the client hanging once I first open it... It keeps like for this a long period of time...

Then I get this error:

The full error stack is this:
Devolutions.RemoteDesktopManager.Business.TryGoOfflineException: net_io_readfailure, Operation timed out
---> System.IO.IOException: net_io_readfailure, Operation timed out
---> System.Net.Sockets.SocketException (60): Operation timed out
at System.Net.Sockets.Socket.Receive(Span`1 buffer, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Span`1 buffer)
Exception_EndOfInnerExceptionStack
at System.Net.Sockets.NetworkStream.Read(Span`1 buffer)
at System.Net.SyncReadWriteAdapter.ReadAsync(Stream stream, Memory`1 buffer, CancellationToken cancellationToken)
at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken, Int32 estimatedSize)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](Memory`1 buffer, CancellationToken cancellationToken)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
at System.Net.Security.SslStream.Read(Span`1 buffer)
at System.Net.Http.HttpConnection.Read(Span`1 destination)
at System.Net.Http.HttpConnection.ContentLengthReadStream.Read(Span`1 buffer)
at System.IO.Stream.ReadAtLeastCore(Span`1 buffer, Int32 minimumBytes, Boolean throwOnEndOfStream)
at System.Xml.XmlTextReaderImpl.InitStreamInput(Uri baseUri, String baseUriStr, Stream stream, Byte[] bytes, Int32 byteCount, Encoding encoding)
at System.Xml.XmlTextReaderImpl.FinishInitStream()
at System.Xml.XmlTextReaderImpl..ctor(Stream stream, Byte[] bytes, Int32 byteCount, XmlReaderSettings settings, Uri baseUri, String baseUriStr, XmlParserContext context, Boolean closeInput)
at System.Xml.XmlReader.Create(Stream input)
at Devolutions.RemoteDesktopManager.Managers.UpdateManager.GetNewestVersionFromFeed(String feedUrl)
Exception_EndOfInnerExceptionStack