From 3c7f67fa7674549ff877105f4bd5b532f17fef06 Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Fri, 18 Aug 2023 12:40:33 -0400 Subject: [PATCH] fix(abortMiddleware): handle early abort error where userMessage.conversationId is undefined. In this case, the userId will be used as the abortKey --- api/server/middleware/abortMiddleware.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/api/server/middleware/abortMiddleware.js b/api/server/middleware/abortMiddleware.js index f678e4486..648975efd 100644 --- a/api/server/middleware/abortMiddleware.js +++ b/api/server/middleware/abortMiddleware.js @@ -30,10 +30,11 @@ const createAbortController = (res, req, endpointOption, getAbortData) => { const abortController = new AbortController(); const onStart = (userMessage) => { sendMessage(res, { message: userMessage, created: true }); - abortControllers.set(userMessage.conversationId, { abortController, ...endpointOption }); + const abortKey = userMessage?.conversationId ?? req.user.id; + abortControllers.set(abortKey, { abortController, ...endpointOption }); res.on('finish', function () { - abortControllers.delete(userMessage.conversationId); + abortControllers.delete(abortKey); }); };