Na beta do Telegram para macOS 13.1.0.283429, lançada em 1º de novembro, a ficha de sessão na lista de dispositivos ativos mostra se o login na conta foi feito de um aplicativo oficial do Telegram: ao lado do nome do aplicativo, há uma marca de seleção com a dica «This session is from the official Telegram app». Também apareceram a data e hora exatas do primeiro login e da última atividade, linhas separadas para a versão e o sistema, e um botão que mostra o local do login no mapa. A mudança veio de um pull request de um desenvolvedor da comunidade, que foi incorporado em 31 de outubro. Isso afeta todos que verificam quem mais está usando suas contas: na versão estável 13.1.0 (283357) de 20 de outubro, a nova ficha ainda não está disponível.
O que mudou na ficha de sessão
A ficha é aberta clicando em uma sessão: configurações, seção «Privacidade e Segurança», lista Active Sessions. Anteriormente, ela continha o modelo do dispositivo, a linha do aplicativo, onde o nome e a versão estavam separados por vírgula, o endereço IP, o local e os interruptores para chats secretos e chamadas. A versão do sistema não estava presente na ficha. Agora, as linhas estão divididas em dois grupos.
| Grupo | Linha | O que mostra |
|---|---|---|
| Device | Application | nome do aplicativo e uma marca de seleção, se a sessão for de um cliente oficial |
| Device | Version | versão do aplicativo, por exemplo 13.1.0 (283402) BETA |
| Device | OS | sistema, por exemplo macOS 27.2 |
| Connection | IP Address e Location | endereço e país com região, o botão abre o local no mapa |
| Connection | First Signed At | data e hora em que a sessão fez login na conta, com precisão de segundos |
| Connection | Last Active | data e hora da última atividade da sessão |
A própria ficha ficou mais larga — 440 points em vez de 340 — porque a linha longa do aplicativo antes empurrava a versão para fora da borda. A marca de seleção é colorida com a cor de destaque do tema, e não com uma cor própria. As legendas «First Signed At» e «Last Active» ainda estão codificadas em inglês com a anotação //TODOLANG: a tradução para outros idiomas é adicionada separadamente.
O local no mapa é pesquisado por texto, e não por coordenadas. O servidor retorna o país e a região que ele determinou pelo endereço IP, o aplicativo transmite essa string para o geocodificador do macOS (CLGeocoder, serviço da Apple) e abre uma prévia do ponto encontrado. Se não for encontrado, exibe «Couldn't find this location. Please try again.». A precisão não aumenta com isso: abaixo da ficha ainda está escrito que a estimativa do local é baseada no endereço IP e pode estar errada.
De onde vem a marca de seleção
A marca de seleção é desenhada pelo cliente, mas a decisão é do servidor. No objeto authorization, com o qual a API descreve cada sessão, existe o flag official_app — «sessão de um aplicativo oficial». Lá também estão date_created, date_active, ip, country, region, a versão do aplicativo e do sistema — tudo o que agora é exibido na ficha. Esses campos já eram fornecidos pela API; o autor da mudança escreve que os clientes usam apenas uma pequena parte deles.
Clientes de terceiros se conectam à API com seu próprio identificador de aplicativo, que é emitido em my.telegram.org, e tal login, provavelmente, não receberá a marca de seleção, mesmo que o cliente seja legítimo: a documentação não especifica como o servidor decide que um aplicativo é oficial. A ausência da marca de seleção é um motivo para examinar a sessão, e não uma prova de invasão.
O que fazer
- Verificar as sessões. No Telegram para macOS — configurações, «Privacidade e Segurança», Active Sessions. Na beta a partir da 283429, os aplicativos oficiais têm uma marca de seleção ao lado do nome; na versão estável, a ficha é antiga, mas o endereço IP e o local estão presentes.
- Conferir as datas. A linha First Signed At mostra quando a sessão foi iniciada. A hora é exibida no fuso horário deste Mac. Se naquele dia você não fez login no Telegram em um novo dispositivo, nem na versão web, nem após uma reinstalação, e Last Active está recente, é um motivo para encerrar a sessão.
- Encerrar uma sessão desconhecida. O botão Terminate Session na parte inferior da ficha de uma sessão desconhecida desconecta o dispositivo da conta. Uma sessão desconhecida sem marca de seleção, com um aplicativo ou país não familiar, é a primeira candidata. De um dispositivo recém-conectado, sessões antigas não podem ser encerradas: o aplicativo pede para aguardar algumas horas.
- Definir uma senha na nuvem. Sem a verificação em duas etapas, um único código de confirmação é suficiente para um novo login; com a senha, ela também é necessária.
A beta do macOS é distribuída através do feed de atualizações. Na versão estável 13.1.0 (283357), a nova ficha não está disponível.
Como a mudança chegou à beta
O pull request #172 foi aberto em 28 de outubro por um desenvolvedor da comunidade, e foi incorporado em 31 de outubro às 20:52 UTC pela conta da equipe do macOS: quatro commits, 256 linhas adicionadas, 21 removidas, cinco arquivos. Durante a revisão, um erro foi encontrado: a linha na primeira versão se chamava «Last Signed At», mas mostrava a hora da última atividade, e não do login — uma sessão que fez login há um ano e foi aberta há dois minutos pareceria um login recente. A linha foi renomeada para «Last Active».
A build 283426 de 31 de outubro não contém as linhas da nova ficha. Na 283429 de 1º de novembro, o binário inclui tanto a dica sobre o aplicativo oficial quanto o erro de pesquisa de localização, e a classe da linha SessionDetailRowItem do mesmo pull request. Menos de um dia se passou entre a incorporação e a beta. O cliente para macOS aceita contribuições de desenvolvedores da comunidade desde que seu código-fonte foi aberto para pull requests externos.
O que mais há nesta mesma beta
A build 283427, lançada 40 minutos antes da 283429, trouxe a barra lateral de tópicos para fóruns. No binário, apareceram ForumSidebarController, ForumSidebarView, ForumDisplayMode com opções de visualização e as linhas «All Messages» e «Show Chats». A beta do Telegram para Android 13.2.0 (7278) de 31 de outubro anunciou a mesma coisa — a barra lateral em fóruns, incluindo para bots, em mensagens diretas de canais e em «Saved Messages». No código aberto do cliente para macOS em 1º de novembro, a barra ainda não está presente, e a tela com ela não é visível na build: como ela se parece, por enquanto, é conhecido apenas pelos nomes das classes.




