Novo bug no Telegram Desktop permite que você leia a última mensagem

Eu descobri recentemente um bug muito interessante no Telegram. Permite ler mensagens excluídas. E como defensor e fã de produtos cult, ele imediatamente enviou uma mensagem sobre o bug ao suporte do Telegram. Com a consciência limpa, ele demonstrou aos colegas de trabalho um bug encontrado. "Deseja restaurar sua última mensagem de telegrama?" Eu disse e comecei a trabalhar, observando os rostos surpresos dos meus colegas.

erro de telegrama

Mas não vamos hesitar e começar a trabalhar


Telegram Desktop versão 1.6.3 (a mais recente possível para hoje)

Passos para jogar

  1. Enviando uma mensagem "secreta" para Bob
  2. Limpamos as mensagens de bate-papo com Bob, o botão "Limpar histórico"
  3. Envie qualquer nova mensagem para Bob
  4. Exclua a mensagem do menu de contexto "Excluir mensagem" (marque a caixa - excluir também de Bob)

Expectativas

Todas as mensagens são excluídas e o bate-papo está completamente vazio.

Realidade

Nossa "mensagem secreta" apareceu e foi excluída.

O curso adicional dos meus pensamentos


A primeira coisa que eu queria entender era o lado do servidor ou o lado do cliente. Portanto, de maneira semelhante, tentei reproduzir o bug no cliente Telegram para Android. Infelizmente, o bug não foi reproduzido no celular e o otimismo já diminuiu. Ficou claro que provavelmente somos confrontados com uma correção cosmética: eles atrapalharam os índices e um pouco mais de entradas foram retiradas do cache local.

Como o Telegram Desktop é de código aberto e está no github . Encontrei minha versão do Telegram, abri o código e tentei descobrir o que era o quê. O código acabou sendo bastante trivial e compreensível. Tudo começa com a suspensão de um manipulador para a equipe. Apenas mostra uma caixa de diálogo com opções para exclusão e o bate-papo é limpo. Pessoalmente, visualmente, não prendi a atenção em nada e tudo parece funcionar corretamente. Você precisa implantar o ambiente, depurá-lo e imediatamente fica claro o que é o quê.

No momento atual e no momento da publicação deste artigo, esse bug não foi corrigido, para que você possa surpreender seus colegas e amigos. Você pode mostrar à sua namorada para não fazer nada estúpido.

Se você gosta deste artigo e haverá muitos comentários, escreverei o seguinte artigo: “Como corrigi o bug no Telegram”. E também explicarei em detalhes como implantar o ambiente para a versão desktop do Telegram. Obrigado pela atenção!

Update


Como a vida mudou após a publicação em Habré


Como sempre, levanto-me e assisto as notícias no google. Vejo meu nome nas primeiras páginas e entendo que algo está errado. As pessoas também reproduzem esse bug e forçam a mensagem fornecida ( texto completo do artigo ). Isso é muito legal, obrigado!

imagem

Assistindo o aplicativo Android


No PM, muitos pediram para ver o aplicativo Android. Não posso recusar meus colegas e instalar o aplicativo Telegram Android. Não mergulhei particularmente nisso, mas há erros suficientes aqui. Por exemplo, aqui.

imagem

Reproduzir etapas
1) Limpando a história com Victor
2) "Victor" escreve uma mensagem

Expectativas
O Notify vem pelo servidor do Google e a mensagem é exibida no ListView.

Realidade
O Notify vem, mas o ListView não exibe alterações. Há uma nota "O histórico está limpo".

Como o bug atual foi encontrado


Muitos colegas estavam interessados ​​em como eu encontrei esse bug. Porque todo o Telegram "funciona como um relógio". Meu ex-líder de equipe (Anton Ryzhakov), certa vez respondeu a essa pergunta assim: "Cutucou cutucou e cutucou problemas". Isso descreve com muita precisão o que está acontecendo. Amigos, obrigado por todos os comentários no PM - foi muito bom lê-los. Espero que você esteja interessado. Tenha um bom dia de trabalho!

Source: https://habr.com/ru/post/pt447034/


All Articles