Skip to content

Commit 7b8a483

Browse files
fix
1 parent 1fac503 commit 7b8a483

File tree

2 files changed

+34
-22
lines changed

2 files changed

+34
-22
lines changed

packages/web/src/app/api/(server)/chat/blocking/route.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ export const POST = apiHandler(async (request: NextRequest) => {
100100
data: {
101101
orgId: org.id,
102102
createdById: user?.id,
103-
visibility: ChatVisibility.PRIVATE,
103+
visibility: user ? ChatVisibility.PRIVATE : ChatVisibility.PUBLIC,
104104
messages: [] as unknown as Prisma.InputJsonValue,
105105
},
106106
});
@@ -156,6 +156,18 @@ export const POST = apiHandler(async (request: NextRequest) => {
156156
onFinish: async ({ messages }) => {
157157
finalMessages = messages;
158158
},
159+
onError: (error) => {
160+
if (error instanceof ServiceErrorException) {
161+
throw error;
162+
}
163+
164+
const message = error instanceof Error ? error.message : String(error);
165+
throw new ServiceErrorException({
166+
statusCode: StatusCodes.INTERNAL_SERVER_ERROR,
167+
errorCode: ErrorCode.UNEXPECTED_ERROR,
168+
message,
169+
});
170+
},
159171
})
160172

161173
await Promise.all([

packages/web/src/app/api/(server)/chat/route.ts

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,24 @@ export const POST = apiHandler(async (req: NextRequest) => {
100100
messages
101101
});
102102
},
103+
onError: (error: unknown) => {
104+
logger.error(error);
105+
Sentry.captureException(error);
106+
107+
if (error == null) {
108+
return 'unknown error';
109+
}
110+
111+
if (typeof error === 'string') {
112+
return error;
113+
}
114+
115+
if (error instanceof Error) {
116+
return error.message;
117+
}
118+
119+
return JSON.stringify(error);
120+
}
103121
});
104122

105123
return createUIMessageStreamResponse({
@@ -134,6 +152,7 @@ interface CreateMessageStreamResponseProps {
134152
orgId: number;
135153
prisma: PrismaClient;
136154
onFinish: UIMessageStreamOnFinishCallback<SBChatMessage>;
155+
onError: (error: unknown) => string;
137156
}
138157

139158
export const createMessageStream = async ({
@@ -145,6 +164,7 @@ export const createMessageStream = async ({
145164
orgId,
146165
prisma,
147166
onFinish,
167+
onError,
148168
}: CreateMessageStreamResponseProps) => {
149169
const latestMessage = messages[messages.length - 1];
150170
const sources = latestMessage.parts
@@ -247,30 +267,10 @@ export const createMessageStream = async ({
247267
type: 'finish',
248268
});
249269
},
250-
onError: errorHandler,
270+
onError,
251271
originalMessages: messages,
252272
onFinish,
253273
});
254274

255275
return stream;
256276
};
257-
258-
const errorHandler = (error: unknown) => {
259-
logger.error(error);
260-
Sentry.captureException(error);
261-
262-
if (error == null) {
263-
return 'unknown error';
264-
}
265-
266-
if (typeof error === 'string') {
267-
return error;
268-
}
269-
270-
if (error instanceof Error) {
271-
return error.message;
272-
}
273-
274-
return JSON.stringify(error);
275-
}
276-

0 commit comments

Comments
 (0)