Ativar a captura de erros em produção
Gere o DSN, envie source maps no CI e veja o primeiro erro agrupado na lista.
Ao fim, os erros da app em produção chegam ao Mira agrupados, com a stack no código original.
Pré-requisitos
- A app já integrada, como em Preparar uma app para QA.
- Um ambiente
productionno projeto, com a origem da app em produção cadastrada. Veja Ambientes e origens. - Acesso ao CI da app e ao gerenciador de segredos dele.
- O nível de código do projeto em Só mapeamento (padrão) ou Completo. Com Sem código, o envio de maps é recusado.
Em produção o widget não existe. Só a captura de erros roda.
Passos
Gerar a chave de ingestão
Quem faz: admin.
Em Configurações do projeto, Erros, escolha o ambiente production no seletor, dê um nome à chave (web) e clique em Gerar chave. Copie o DSN.

Resultado: a tabela mostra a chave com o DSN. Ela vale só para esse ambiente e só escreve ocorrências. Antes de armazenar dados de usuário, confira o nível de dados do ambiente em Níveis de dados. O padrão é Mínimo.
Criar a credencial dos source maps
Quem faz: admin.
Em Administração do Mira, Serviços de API, crie um serviço com o projeto da app e ative só Permitir envio de source maps. Em Chaves, use Emitir chave e salve o mira_svc_... no gerenciador de segredos do CI.
Resultado: o segredo aparece uma vez. Se perder, emita outro. Veja Tokens.
Configurar o bridge para produção
Quem faz: dev.
Use o bootstrap.ts da aba Produção de Integrar uma app, com VITE_MIRA_DSN, VITE_VERSION, VITE_BUILD_SHA e VITE_BUILD_TIME no .env.production. Libere o host do Mira em connect-src, se a app tem CSP.
Resultado: a release do build tem a forma 1.4.0+abc1234.
Enviar os source maps no build
Quem faz: dev.
Instale o @mira/sourcemaps, adicione miraSourceMaps() ao vite.config.ts com a mesma release e o mesmo buildTime, e defina MIRA_URL, MIRA_PROJECT_ID e MIRA_SOURCEMAPS_TOKEN no passo de build do CI. Rode pnpm exec mira-sourcemaps check dist antes de publicar. O código está em Integrar uma app.
Resultado: o log do build mostra o envio dos maps e o dist fica sem arquivos .map.
Publicar e provocar um erro
Quem faz: dev.
Publique o build só depois do envio. Abra a app em produção e dispare uma falha conhecida, como um throw numa ação de teste.
Resultado: o navegador envia a ocorrência ao Mira.
Ver o erro no dashboard
Quem faz: admin ou dev.
Abra Erros no projeto e filtre pelo ambiente production.
Resultado: um erro novo aparece na lista, com a contagem de ocorrências e de usuários afetados.

Conferir que deu certo
Abra o erro. A stack deve mostrar arquivo, linha e função do código-fonte, com a posição no bundle embaixo, e o contexto deve trazer a release do build. Clique em Criar report para transformar o erro num report Bug na triagem. Veja o que cada bloco mostra em Detalhe do erro.
Problemas comuns
| Sintoma | Causa provável |
|---|---|
| Nenhum erro chega | A origem da app não está cadastrada no ambiente, o DSN é de outro ambiente ou o CSP bloqueia o host do Mira. Um DSN malformado gera aviso com o prefixo [Mira] no console |
| A stack chega minificada | Os maps não foram enviados para essa release, ou a release do build difere da do mira.init() |
| O mesmo erro aparece duas vezes, um minificado | Ocorrências chegaram antes dos maps. Publique só depois do envio |
| O build do CI falha no envio | Confira MIRA_URL com https, MIRA_PROJECT_ID e o token. Sem token, o plugin só remove os maps |
| Um erro resolvido não reabre | O buildTime não foi enviado. Sem ele, a regressão fica desativada |
Próximos passos
- Status do erro, para resolver, ignorar e acompanhar regressões.
- Webhooks, para receber
error.createdeerror.spikefora do dashboard.