Recuperar autenticação sem perder o trabalho em andamento
Sessões longas precisam distinguir expiração de credencial, falha de rede e erro de modelo antes de mandar o usuário de volta ao login.
Redirecionar para login não é diagnóstico
Quando uma chamada recebe 401, o problema pode ser uma corrida de autorização ou um token que precisa ser renovado. Derrubar toda a sessão e voltar ao login transforma um erro recuperável em perda de contexto.
Ordem de recuperação
- Tentar renovar a autenticação quando a sessão ainda é válida.
- Preservar o prompt, arquivos e estado da tarefa durante o retry.
- Só pedir login novamente quando a recuperação realmente falhar.
Confiabilidade é continuidade
Para quem está trabalhando em uma tarefa longa, manter contexto e estado durante uma falha transitória vale mais do que esconder o erro com uma animação de carregamento.
A parte difícil de Renovar sessão não pode apagar estado local
Uma corrida de refresh token pode acontecer no pior momento: depois que o usuário anexou arquivos ou enquanto uma resposta longa está sendo gerada. Recuperação de auth precisa distinguir credencial expirada de sessão terminal e preservar o trabalho ainda não enviado.
- causa raiz vem antes do fallback
- mudança não quebra subsistemas fora do escopo
- logs e códigos permitem reproduzir a falha
Falha específica: Renovar sessão não pode apagar estado local
O perigo é “resolver” 401 redirecionando imediatamente para login e destruindo composer, anexos e estado do workspace.
Evidência que fecha Renovar sessão não pode apagar estado local
O comportamento correto tenta recuperar sessão uma vez, bloqueia duplicação de refresh, repete somente a operação segura e restaura o contexto local se o login realmente for necessário.
Falha que esse desenho evita como gate
Em “Recuperar autenticação sem perder o trabalho em andamento”, o ponto técnico que fecha a análise é tratar ownership, recuperação e observabilidade como parte do mesmo contrato. A implementação deixa de ser convincente quando uma dessas dimensões existe só no texto, mas não aparece no comportamento verificável do produto.
- definir o estado esperado antes da ação
- observar o efeito real e registrar a evidência
- se o gate falhar, reparar a causa antes de ampliar o escopo