Skip to content

Commit a4b6d9c

Browse files
committed
fix: apply strict-mode abort guard to all SSE message handlers
1 parent 5c0947d commit a4b6d9c

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

packages/appkit-ui/src/react/genie/use-genie-chat.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ function fetchConversationPage(
122122
url: `${basePath}/${encodeURIComponent(alias)}/conversations/${encodeURIComponent(convId)}?${params}`,
123123
signal: options.signal,
124124
onMessage: async (message) => {
125+
if (options.signal?.aborted) return;
125126
try {
126127
const event = JSON.parse(message.data) as GenieStreamEvent;
127128
switch (event.type) {
@@ -318,6 +319,7 @@ export function useGenieChat(options: UseGenieChatOptions): UseGenieChatReturn {
318319
},
319320
signal: abortController.signal,
320321
onMessage: async (message) => {
322+
if (abortController.signal.aborted) return;
321323
try {
322324
processStreamEventRef.current(
323325
JSON.parse(message.data) as GenieStreamEvent,
@@ -408,6 +410,7 @@ export function useGenieChat(options: UseGenieChatOptions): UseGenieChatReturn {
408410
url,
409411
signal: parentAbortController.signal,
410412
onMessage: async (message) => {
413+
if (parentAbortController.signal.aborted) return;
411414
try {
412415
processStreamEventRef.current(
413416
JSON.parse(message.data) as GenieStreamEvent,

0 commit comments

Comments
 (0)