tabnews.com.br
tabnews.com.br copied to clipboard
Bug: Postagens excluídas são mantidas na listagem de postagens do usuário
Atualização: Depois de um tempo, a postagem sumiu da listagem
Eu excluí uma resposta minha em um post, mas ela continuou sendo listada na minha página de usuário, e ainda clicável.
Quando tentei acessá-la com um clique, obtive uma página de erro em branco, somente exibindo a seguinte mensagem:
Application error: a client-side exception has occurred (see the browser console for more information).
O que mostra no console:
Não é fácil identificar o erro pelo console, porque os assets foram afetados pela minificação no build.
Esse é o permalink do post excluído: https://www.tabnews.com.br/dami/c45b1065-3f46-4640-ae0c-298dbd6551b2
Reparem que a postagem excluída aparece rapidamente, em um flash, antes de ser substituída pela mensagem de erro.
Será que é só um caso de não-interceptação de um erro 404?
No console aqui não apareceu estes erros interceptados por você, a requestfoi feita normalmente e retorna o erro 404, sem dados nenhum para serem exibidos em tela, também não cheguei a perceper nenhum delay no front-end da página, o not foud apareceu quase que instantâneo
No console aqui não apareceu estes erros interceptados por você, a requestfoi feita normalmente e retorna o erro 404, sem dados nenhum para serem exibidos em tela, também não cheguei a perceper nenhum delay no front-end da página, o not foud apareceu quase que instantâneo
Isso foi replicando a situação com uma postagem sua ou acessando o permalink ali em cima?
Oi @dami-i, isso deve ter ocorrido por três fatores:
O primeiro não é um problema, mas sim algo característico do Next.js, pois utilizamos next/link
paras as navegações, e com isso o Next.js faz um pré-carregamento das páginas, mesmo que elas estejam obsoletas. Então você estava vendo a versão em cache das páginas.
O segundo fator é que após carregar a página ocorre a revalidação dos dados pelo client via SWR
. E com isso gerava o erro após um tempo, pois não está previsto o retorno 404 via SWR
. Precisamos arrumar esse BUG.
O terceiro fator é um problema que está ocorrendo na CDN da Vercel, em que eles não estão propagando a revalidação das páginas quando navegamos via next/link
, ou seja, o que deveria acontecer é que após você navegar a primeira vez para a página obsoleta, em segundo plano deveria ser cacheada uma versão atualizada (que nesse caso seria 404), mas isso não está ocorrendo. Então com esse BUG da CDN, só com F5 você força a revalidação das páginas.
Obs. Mesmo com F5, no primeiro acesso você verá a página obsoleta, mas se esperar o tempo necessário para a revalidação da página ocorrer em segundo plano, na próxima navegação a página já estará atualizada.
Sobre o problema na CDN, por enquanto acho que devemos aguardar a solução pela Vercel. Só se eles não resolverem isso logo, aí a gente deve mudar a abordagem das navegações, mas isso seria muito ruim, pois perderíamos uma das grandes vantagens de usar o Next.js.
Obrigado pelo retorno e pela explicação, @aprendendofelipe. Que bom que a causa desse bug já é conhecida.
E eu adicionaria ao que o @aprendendofelipe escreveu que removemos a atualização automática da lista temporariamente, e isto irá contribuir em você ver uma lista obsoleta. Assim que publicarmos umas otimizações no backend iremos habilitar esse recurso novamente 🤝
E o bug de não tratar o erro do SWR de fato é o que está mais machucando o frontend hoje.
Turma, vou fechar essa issue porque acredito que, fora a questão normal de cache, os problemas citados não estão mais presentes. 🤝