diff --git a/apps/sim/app/api/stars/route.ts b/apps/sim/app/api/stars/route.ts index 97106b13842..72378b6744c 100644 --- a/apps/sim/app/api/stars/route.ts +++ b/apps/sim/app/api/stars/route.ts @@ -1,6 +1,9 @@ import { NextResponse } from 'next/server' +import { createLogger } from '@sim/logger' import { env } from '@/lib/core/config/env' +const logger = createLogger('StarsAPI') + function formatStarCount(num: number): string { if (num < 1000) return String(num) const formatted = (Math.round(num / 100) / 10).toFixed(1) @@ -22,14 +25,14 @@ export async function GET() { }) if (!response.ok) { - console.warn('GitHub API request failed:', response.status) + logger.warn('GitHub API request failed:', response.status) return NextResponse.json({ stars: formatStarCount(19400) }) } const data = await response.json() return NextResponse.json({ stars: formatStarCount(Number(data?.stargazers_count ?? 19400)) }) } catch (error) { - console.warn('Error fetching GitHub stars:', error) + logger.warn('Error fetching GitHub stars:', error) return NextResponse.json({ stars: formatStarCount(19400) }) } } diff --git a/apps/sim/providers/openai/core.ts b/apps/sim/providers/openai/core.ts index 139e12eaa3d..afe519d69d6 100644 --- a/apps/sim/providers/openai/core.ts +++ b/apps/sim/providers/openai/core.ts @@ -261,11 +261,17 @@ export async function executeResponsesProviderRequest( const postResponses = async ( body: Record ): Promise => { + // Create a 60s timeout signal and combine with any existing abort signal + const timeoutSignal = AbortSignal.timeout(60000) // 60 seconds + const combinedSignal = request.abortSignal + ? AbortSignal.any([timeoutSignal, request.abortSignal]) + : timeoutSignal + const response = await fetch(config.endpoint, { method: 'POST', headers: config.headers, body: JSON.stringify(body), - signal: request.abortSignal, + signal: combinedSignal, }) if (!response.ok) { @@ -283,11 +289,17 @@ export async function executeResponsesProviderRequest( if (request.stream && (!tools || tools.length === 0)) { logger.info(`Using streaming response for ${config.providerLabel} request`) + // Create a 60s timeout signal and combine with any existing abort signal + const timeoutSignal = AbortSignal.timeout(60000) // 60 seconds + const combinedSignal = request.abortSignal + ? AbortSignal.any([timeoutSignal, request.abortSignal]) + : timeoutSignal + const streamResponse = await fetch(config.endpoint, { method: 'POST', headers: config.headers, body: JSON.stringify(createRequestBody(initialInput, { stream: true })), - signal: request.abortSignal, + signal: combinedSignal, }) if (!streamResponse.ok) { @@ -702,11 +714,17 @@ export async function executeResponsesProviderRequest( } } + // Create a 60s timeout signal and combine with any existing abort signal + const timeoutSignal = AbortSignal.timeout(60000) // 60 seconds + const combinedSignal = request.abortSignal + ? AbortSignal.any([timeoutSignal, request.abortSignal]) + : timeoutSignal + const streamResponse = await fetch(config.endpoint, { method: 'POST', headers: config.headers, body: JSON.stringify(createRequestBody(currentInput, streamOverrides)), - signal: request.abortSignal, + signal: combinedSignal, }) if (!streamResponse.ok) {