tabnews.com.br icon indicating copy to clipboard operation
tabnews.com.br copied to clipboard

Bug: Postagens excluídas são mantidas na listagem de postagens do usuário

Open dami-i opened this issue 2 years ago • 5 comments

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: image

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?

dami-i avatar Nov 23 '22 16:11 dami-i

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

nicolasteofilo avatar Nov 23 '22 18:11 nicolasteofilo

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?

dami-i avatar Nov 23 '22 18:11 dami-i

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.

aprendendofelipe avatar Nov 23 '22 18:11 aprendendofelipe

Obrigado pelo retorno e pela explicação, @aprendendofelipe. Que bom que a causa desse bug já é conhecida.

dami-i avatar Nov 23 '22 18:11 dami-i

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.

filipedeschamps avatar Nov 23 '22 18:11 filipedeschamps

Turma, vou fechar essa issue porque acredito que, fora a questão normal de cache, os problemas citados não estão mais presentes. 🤝

aprendendofelipe avatar Dec 14 '23 19:12 aprendendofelipe