diff --git a/lib/livebook/teams/connection.ex b/lib/livebook/teams/connection.ex index c08fc2e7c..2662de683 100644 --- a/lib/livebook/teams/connection.ex +++ b/lib/livebook/teams/connection.ex @@ -5,7 +5,6 @@ defmodule Livebook.Teams.Connection do alias Livebook.Teams.WebSocket - @backoff 5_000 @no_state :no_state @loop_ping_delay 5_000 @@ -50,7 +49,10 @@ defmodule Livebook.Teams.Connection do {:transport_error, reason} -> send(data.listener, {:connection_error, reason}) Logger.warning("Teams WebSocket connection - transport error: #{inspect(reason)}") - {:keep_state_and_data, {{:timeout, :backoff}, @backoff, nil}} + + # Random between 3 and 10 seconds + backoff = Enum.random(3..10) * 1000 + {:keep_state_and_data, {{:timeout, :backoff}, backoff, nil}} {:server_error, error} -> reason = LivebookProto.Error.decode(error).details