Mobile - Logout não funciona após login no Facebook

Ei pessoal, estou enfrentando um problema: após fazer login no Facebook, quando clico no botão de sair, a página trava. Não há redirecionamento para a página inicial. No entanto, se eu recarregar a página, ela é redirecionada para a página inicial, indicando que a sessão foi destruída. Isso mostra que há algum erro durante o redirecionamento após clicar no botão de sair. Alguém pode me ajudar a encontrar uma solução para esse problema?

Isso ocorre em dispositivos móveis; na web, está funcionando corretamente.

Obrigado.

Você consegue reproduzir isso aqui no Meta?

Consegui reproduzir o problema em https://try.discourse.org/.

Vídeo em anexo

Você consegue reproduzir isso, @tshenry?

Com certeza. Consigo reproduzir no Safari do iOS.

Qual é o erro real, @tshenry?

O logout foi realizado com sucesso, apenas não está atualizando/redirecionando corretamente.

Não há popup de erro, nem nada em /logs que eu possa ver (mesmo com logging detalhado). Não há nada no console do navegador na tentativa inicial de logout, mas erros começam a aparecer após tentativas subsequentes de logout (tentando fazer logout quando já estou tecnicamente desconectado):

Isso é muito semelhante a um bug recente que reportei à Apple.

Você pode tentar reproduzir o problema após definir cookies do mesmo site como Desativado no Try? Você precisará sair e entrar novamente após alterar a configuração para que ela entre em vigor.

Sim, o problema persiste mesmo após desativar os ‘same site cookies’.

Você pode confirmar que isso também é reproduzível no meta? Além disso, confirme que isso ocorre apenas no celular. Isso também acontece se você adicionar ?mobile_view=1 à URL para forçar a visualização móvel no desktop?

Não verifiquei no meta, apenas em https://try.discourse.org/. Sim, isso ocorre apenas no Safari iOS móvel e não acontece quando adiciono ?mobile_view=1 à URL para forçar a visualização móvel no desktop. @tshenry, por favor, confirme minhas observações.

Posso confirmar:

  • O redirecionamento ao sair funciona corretamente no Desktop Safari quando a visualização móvel foi forçada
  • O problema é reproduzível no Meta com o Safari móvel
  • Parece ser um problema apenas ao tentar sair da página inicial de aterrissagem após cada login.
    • Se eu fizer login, entrar em um tópico e tentar sair, o redirecionamento ao sair funciona corretamente.
    • Se eu fizer login, entrar em um tópico, pressionar o botão voltar e depois tentar sair, o redirecionamento ao sair NÃO funciona.
    • Se eu fizer login, entrar em um tópico, clicar no logotipo inicial e depois tentar sair, o redirecionamento ao sair funciona.

@Falco, você estava certo! Acabei de testar isso no Try e isso resolve o problema.

Cara, eu deveria ter apostado nisso :facepalm:

Tive que desativar o Discourse offline por causa desse bug, mesmo a funcionalidade funcionando bem, pois nosso padrão é usar cookies estritos, o que dispara bugs no Safari.

@tshenry, ainda estou enfrentando o problema após desabilitar os “cookies same-site”. No entanto, o redirecionamento funcionou bem na primeira tentativa. Mas, quando tentei novamente, não funcionou.

Também verifiquei no Try e não funcionou na segunda vez.

Hmm, você tem razão… Acredito que me empolguei ao vê-lo funcionar na primeira vez e não tentei nas vezes seguintes :pensive:

Tenho uma nova observação para adicionar: o redirecionamento de logout parece funcionar diretamente após receber a mensagem “A autorização expirou ou você trocou de navegador. Tente novamente.”. Isso parece ocorrer ao tentar fazer login muito rapidamente após o logout.

O clipe abaixo mostra um redirecionamento de logout falho inicialmente e, aos 13 segundos, mostra o redirecionamento funcionando após a mensagem ser exibida.