Pular para o conteúdo
upgbp

Erro · log · diagnóstico · correção

Os problemas que travaram um projeto em produção — e o que exatamente os resolveu.

Postgres estourando conexão, webhook executando duas vezes, hidratação quebrando no App Router. Cada artigo traz o log real, o diagnóstico e o código corrigido — na ordem em que a coisa foi resolvida.

Assuntos

Últimos artigos

Todos →
APIs & Resiliência10 min

Cortando o custo de API de LLM: medir, rotear e cachear

A fatura triplicou sem o uso triplicar. Como atribuir custo por funcionalidade e quais alavancas realmente rendem, na ordem de retorno.

  • Node 22
  • Postgres 15
  • API de LLM compatível com OpenAI
Performance Web8 min

Push não chega no iOS: as regras da Apple para PWA instalada

ReferenceError: Can't find variable: Notification

No Safari móvel a API de notificação nem existe até o site ser adicionado à tela de início. As cinco condições, e como detectar cada uma.

  • iOS 18
  • Safari 18
  • Next.js 15.3
  • web-push 3.6
APIs & Resiliência11 min

Fila no Postgres com SKIP LOCKED, ou serviço de fila: qual escolher

ERROR: deadlock detected — Process 18442 waits for ShareLock on transaction 9912

Dois workers pegando a mesma tarefa é o defeito clássico de fila caseira. A cláusula que resolve, e quando vale trocar o banco por um serviço.

  • PostgreSQL 15
  • Node 22
  • Prisma 6.5
  • Upstash QStash
Performance Web8 min

Web Push do zero: Service Worker, VAPID e o pedido de permissão

DOMException: Registration failed - permission denied

A implementação inteira, do registro do worker ao envio. E o erro de UX que queima a permissão do usuário para sempre, sem possibilidade de desfazer.

  • Next.js 15.3
  • web-push 3.6
  • Chrome 140
  • Firefox 142
APIs & Resiliência9 min

Cron em serverless: Vercel Cron, pg_cron ou Cloudflare Workers

Cron job failed: GET /api/cron/faturas returned 401 Unauthorized

As três opções resolvem agendamento de formas incompatíveis. O critério de escolha, e os quatro erros que aparecem em qualquer uma delas.

  • Vercel Cron
  • Supabase pg_cron 1.6
  • Cloudflare Workers
  • Postgres 15

Escrito por Bruno Oliveira Rodrigues

Desenvolvedor backend, trabalhando com JavaScript e TypeScript. Escrevo aqui os problemas que travaram meus projetos em produção e como saí deles.

Sobre o autor