Pular para o índice
English

O botão apareceu antes da aprovação

23 de setembro de 2026

Encontrei um botão liberado antes da aprovação do processo, e o clique terminava em HTTP 500.

O problema apareceu em julho, num fluxo de aprovação em que a interface usava a ausência de próximo nível para decidir se podia liberar a ação final. Ao conferir essa condição, identifiquei que o backend montava os próximos níveis conforme o acesso de quem consultava o processo.

Isso fazia diferença porque um usuário podia terminar a própria parte enquanto o processo ainda dependia de aprovação, mas a resposta já vinha sem próximo nível para ele e a interface interpretava essa ausência como se o fluxo inteiro estivesse concluído.

Quando o botão era acionado nessa situação, o backend tentava atualizar um registro final que ainda não existia, então o problema de interpretação na tela acabava chegando ao servidor como uma operação que ele também não validava.

Na correção local, a interface passou a exigir a aprovação explícita do processo para liberar o botão, e o backend ganhou tratamento para registro inexistente ou ainda não finalizado. A disponibilidade da ação passou a acompanhar o estado de aprovação, com validação também no servidor.

Quando vocês revisam um fluxo de aprovação, qual estado usam para habilitar a ação final? Pergunto porque, nesse caso, a informação sobre o que faltava para um usuário estava sendo usada para decidir se o processo inteiro tinha terminado.