Skip to content

Commit ed5bf3c

Browse files
committed
fix: handle SSE connection state when start events are not received
1 parent 26be859 commit ed5bf3c

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

devcycle_python_sdk/managers/config_manager.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,8 @@ def run(self):
128128
time.sleep(self._options.config_polling_interval_ms / 1000.0)
129129

130130
def sse_message(self, message: ld_eventsource.actions.Event):
131-
if self._sse_connected is False:
132-
self._sse_connected = True
133-
logger.info("DevCycle: Connected to SSE stream")
131+
if not self._sse_connected:
132+
self.sse_state(None)
134133
logger.info(f"DevCycle: Received message: {message.data}")
135134
sse_message = json.loads(message.data)
136135
dvc_data = json.loads(sse_message.get("data"))
@@ -145,9 +144,11 @@ def sse_message(self, message: ld_eventsource.actions.Event):
145144
def sse_error(self, error: ld_eventsource.actions.Fault):
146145
logger.debug(f"DevCycle: Received SSE error: {error}")
147146

148-
def sse_state(self, state: ld_eventsource.actions.Start):
149-
self._sse_connected = True
150-
logger.info("DevCycle: Connected to SSE stream")
147+
def sse_state(self, state: Optional[ld_eventsource.actions.Start]):
148+
# Prevents duplicate logs when Comment events call this repeatedly
149+
if not self._sse_connected:
150+
self._sse_connected = True
151+
logger.info("DevCycle: Connected to SSE stream")
151152

152153
def close(self):
153154
self._polling_enabled = False

0 commit comments

Comments
 (0)