Realizado

Bug em streaming Openai respostas chegando em bloco único (Next.js 14 + Supabase + Express)

Publicado em 11 de Maio de 2026 dias na TI e Programação

Sobre este projeto

Aberto

Olá,Chat com IA em produção: streaming da OpenAI chega no frontend em bloco único, não token a token. UX quebrada.StackFrontend: Next.js 14 App Router, Client Component lendo stream via ReadableStream + TextDecoderAuth: Supabase Auth (@supabase/ssr, cookie-based)Proxy: app/api/chat/route.ts valida sessão e repassa para o ExpressBackend: Express (Node 20) com openai.chat.completions.create({ stream: true })DB: Supabase Postgres, messages com RLS por user_id. Persistência pelo Express ao fim do stream.Infra: Docker em VPS. Sem Vercel/nginx/Cloudflare na frente.Já verificadoChunks da OpenAI aparecem nos logs do Express em tempo real. O buffering ocorre depois
entre Express
route handler
client.Hipóteses (responda qual e por quê em 1~2 frases)compression() middleware bufferizando chunked no ExpressRoute handler consumindo o stream (await res.json()) em vez de new Response(upstream.body)Headers errados: Content-Length presente ou Transfer-Encoding: chunked ausenteEscopoLocalizar o buffering com curl -N hop a hopCorrigir streaming token-a-token no clientManter persistência no Supabase respeitando RLS (user_id injetado mesmo com service role)Bonus: AbortController para cancelar OpenAI quando client desconectaPR com descrição do que estava bufferizandoFora de escopo: Vercel ai sdk/langchain, refatoração de schema, frontend visual.RequisitosStreaming OpenAI em produçãoApp Router: por que Content-Length mata streaming; Response.json() vs new Response(stream)Supabase: anon key vs service role, RLS na práticaExpress: por que compression antes de streaming é um problemaOrçamento: USD 50~70. Prazo: 1 dias. Repo + staging SSH após Escrow.

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média

Prazo de Entrega: Não estabelecido

Habilidades necessárias

Outro projetos publicados por T. S.