O seu perfil deixa de mostrar zero aos outros
Ao abrir o perfil de outro jogador não apareciam partidas, nem vitórias, nem cartas, nem sequência, por muito que ele tivesse jogado. Cada um desses números era contado nas linhas erradas.

Em palavras simples
Um perfil é a única página do opolyx feita para ser mostrada a outra pessoa, e ele vinha mentindo para essa pessoa em silêncio. O seu nível e o seu XP eram reais, porque são públicos — mas partidas jogadas, vitórias, taxa de vitória e sequência mostravam zero para todo mundo, menos para você, e a coleção de cartas logo abaixo aparecia vazia. Um jogador com duas centenas de partidas nas costas parecia, para o resto do site, alguém que nunca tinha se sentado a uma mesa.
Agora os quatro números são reais para quem estiver olhando, e a coleção mostra as cartas que o jogador realmente tem. As contagens também batem com o ranking, corrigido na mesma semana e pelo mesmo motivo.
A coleção de cartas é a parte que ficou invisível por mais tempo. As cartas caem ao vencer e ao chegar a níveis marcantes, são o que o opolyx tem de mais próximo de algo para se exibir, e a prateleira estava vazia para qualquer visitante desde o dia em que foi lançada — então a única coisa para que serve uma coleção era justamente a única coisa que ela não conseguia fazer.
Para os mais técnicos
Os quatro números vinham de contar linhas no navegador do próprio visitante. Isso funciona para tudo o que é público e está errado para todo o resto aqui: as tabelas de partidas só devolvem as partidas de que você participou, e o inventário só devolve os seus próprios itens. Então o navegador fazia uma pergunta honesta, recebia uma resposta honesta sobre o jogador errado e a imprimia como um fato sobre outra pessoa. Para um desconhecido, a resposta certa para “de quantas das suas partidas eu participei” é mesmo zero.
A sequência foi a última coisa a ser encontrada, e é aí que está a lição útil. Uma revisão anterior já tinha notado que a lista de partidas vinha cortada para visitantes — e parou por aí, sem ir até o número calculado a partir dessa lista. A sequência era um laço exatamente sobre essas linhas cortadas, então mostrava zero em todos os perfis do site, inclusive nos de jogadores em longas sequências de vitórias. Uma leitura que volta incompleta contamina tudo o que vem depois dela, não só o que ela mostra.
| Um perfil real, visto por um visitante | Antes | Agora |
|---|---|---|
| Partidas / vitórias / taxa de vitória | 0 / 0 / 0% | 15 / 8 / 53% |
| Sequência de vitórias | 0 | 3 |
| Coleção de cartas | vazia | 7 cartas |
Os totais agora vêm de contadores públicos atualizados quando uma partida é pontuada, e as cartas e a sequência saem, cada uma, de uma pequena função que responde a uma pergunta sobre um jogador e mais nada. Abrir as tabelas por trás disso para todo mundo teria exigido menos linhas e seria muito pior: exporia todos os futuros itens de inventário e, junto, a lista de participantes de cada partida privada. A lista de partidas continua sendo só sua — ela apenas deixou de afirmar que você nunca jogou.
