A evolução constante da plataforma BlogVermelho, do código aos gramados virtuais. Esta é uma lista parcial de atualizações.
Correção da largura da caixa do contador de visitas no iPhone/Mobile, alterando de largura total (100%) para largura automática (auto) com alinhamento centralizado em pílula, eliminando o excesso de espaço vazio.
Exposição da função triggerWhatsAppPopup no objeto global window (window.bv_triggerWhatsAppPopup) para permitir ao administrador testar e visualizar os popups modais de compartilhamento via console do navegador a qualquer momento.
1. Popups automatizados de incentivo de compartilhamento no WhatsApp para o Culpômetro e NOTAS separadamente, com controle de sessão. 2. Injeção de dados estruturados JSON-LD do Google na Retrospectiva do Inter para domínio de SEO histórico.
Adição de subtítulo 'Notas aos Jogadores' acima do badge 'Votação Aberta' na home page para deixar claro que o link leva à seção de avaliações dos atletas (Culpômetro e NOTAS).
Remoção da injeção via código do menu SOBRE. Agora, o administrador tem controle total sobre o menu SOBRE e suas sub-páginas, podendo criá-las e reordená-las nativamente no painel WordPress (Aparência > Menus).
Criação de um sistema de menu inteligente. Ao adicionar um link com URL '#retrospectiva', o sistema expande automaticamente num dropdown listando os últimos 10 anos de publicações da categoria, do mais antigo para o mais novo, com opção de 'Ver Mais'. Controlável via painel.
O badge pulsante 'Votação Aberta' na home page agora é clicável. Ele funciona como um link rápido que direciona o usuário diretamente para a seção de NOTAS e Culpômetro dentro da postagem, facilitando o acesso ao engajamento.
Ativação do seletor de Família de Fontes (Font Family) na barra de ferramentas do TinyMCE, disponibilizando fontes web-safe padrão para formatação rica de texto diretamente no painel.
Adição do seletor de tamanho de fonte (Font Size) na barra de ferramentas do editor clássico (TinyMCE) do WordPress, permitindo ao administrador aumentar ou diminuir o texto livremente durante a formatação dos posts.
Expansão do recurso de áudio customizado para suportar até 5 partes. Isso permite aos autores dividir narrações muito longas em múltiplos Voice Memos ou arquivos de áudio. O script no frontend foi atualizado para tocar a playlist sequencialmente de forma contínua (gapless).
Refinamento na interface do Narrador: quando um áudio customizado é fornecido, o título do widget agora muda automaticamente para 'Lido por [Autor]' e o status indica 'Áudio Original', dando o devido crédito a quem gravou.
Adição de recurso que permite ao administrador inserir uma URL de áudio customizado no painel do post. O Narrador Colorado agora reproduz gravações originais quando disponíveis, priorizando-as sobre a síntese TTS do Google.
Implementação de síntese multi-parte para posts longos. O Narrador Colorado agora divide textos extensos em blocos, garantindo narração contínua sem interrupções da API do Google ou timeouts de navegador.
Melhoria na visibilidade do subtítulo da série e implementação de busca robusta por nome de categoria para garantir o funcionamento do widget.
Adição de subtítulo personalizado ao widget de Linha do Tempo Colorado, identificando a série como uma produção original do BlogVermelho.com.
Refinamento do título do widget de Linha do Tempo para incluir a marca Colorado em destaque vermelho.
Implementação do widget de Linha do Tempo para a série Retrospectiva Ano a Ano. O sistema identifica automaticamente posts da categoria e os organiza cronologicamente no sidebar com design glassmorphism.
Ajuste no sistema de alertas para mostrar apenas avisos de Novos Posts. Notificações de atualizações técnicas e edições de posts foram silenciadas para melhorar a experiência do usuário.
Correção do contador de comentários no Hall of Fame. Sincronizados o identificador e a URL do badge com a configuração do chat para garantir a exibição correta dos números do Disqus.
Adicionado um badge discreto no link do Chat do Hall of Fame que exibe a quantidade atual de comentários na página.
Implementação de rótulos comparativos (Acima, Na ou Abaixo da Média) nos cards do elenco, baseados no desempenho individual vs média global do time no ano.
Resolução do bug visual no flip dos cards em dispositivos móveis. Removida a sobreposição de transformações GPU que causava transparência indesejada e invisibilidade do verso, e implementado deslocamento de profundidade (translateZ) para garantir separação nítida entre frente e verso no Safari.
Investigação e correção definitiva do crash no Safari iOS. Removida a animação de fadeIn dos painéis do elenco, que causava sobrecarga na GPU ao processar simultaneamente transformações 3D e filtros de desfoque.
Correção do erro 'Problem Occurred' no Safari do iPhone através da simplificação dos efeitos de glassmorphism (backdrop-filter) e otimização das camadas de renderização GPU (translate3d) nos cards do elenco.
Ajuste da escala Y do gráfico sparkline para focar na faixa de 4.0 a 9.0 pontos, exagerando visualmente as diferenças de desempenho entre jogador e time para melhor legibilidade.
Correção do alinhamento central dos nomes dos jogadores nos cards do elenco através de reforço estrutural no CSS (player-info).
Refinamentos visuais nos cards do elenco: centralização dos nomes, atualização da legenda do gráfico para 'Jogador', e novo estilo para o rótulo da média anual, agora em destaque amarelo com contagem de votos integrada.
Reorganização visual da frente do card do elenco: estatísticas unificadas em uma linha, adição de gráfico sparkline (SVG) comparando desempenho individual vs média do time, e atualização do rótulo de pontuação para 'Média do Ano'.
Correção de um bug onde o aviso 'Essa Página tem nova versão' entrava em loop infinito devido a falta de sincronia entre o header.php e o version.json durante as atualizações do Pinball BV.
Correção crítica na física do Pinball: adicionado piso na canaleta do plunger (mola) para a bola não cair no vazio, correção de CSS para não distorcer o canvas, e ajuste de ângulos/restrições dos flippers para não dobrarem para trás.
Lançamento do motor físico Matter.js para o novo Pinball BV, com modo restrito para administradores, controles táteis/teclado, e infraestrutura de áudio para narrações clássicas.
Além de detectar novos posts, o sistema Javascript do site (script.js) agora monitora de forma inteligente atualizações na infraestrutura do próprio código-fonte. Através da leitura de um novo arquivo version.json, se uma nova versão do site for lançada enquanto o usuário navega, ele será notificado que 'Essa página tem nova versão!'.
O sistema de atualização ao vivo via SSE (Server-Sent Events) foi aprimorado. Agora, ele é capaz de distinguir se um artigo é completamente novo ou se um artigo existente foi apenas editado. Se for um post novo, o alerta dirá 'Novo post publicado!'. Se for uma edição de uma página existente, dirá 'Essa página tem nova versão!'.
A consolidação da interface de abas continua, agora alcançando a monumental página do Hall of Fame. O conteúdo histórico completo foi encapsulado na aba '⭐ NOTAS', enquanto uma nova aba '💬 Chat' foi introduzida para permitir debates acalorados sobre as maiores lendas (e maiores bagres) da história recente do clube.
Pequeno ajuste visual na aba principal da página do Elenco, alterando o título de '⭐ NOTAS' para '🃏 ELENCO CARDS', refletindo com maior precisão o elemento interativo de cards 3D que a torcida utiliza para votar e acompanhar as estatísticas do time.
Expandindo a nova linguagem de design, a página do Elenco (onde a torcida vota nas NOTAS dos jogadores) agora possui navegação por abas. A aba '⭐ NOTAS' exibe o plantel com os cards 3D interativos, enquanto a aba '💬 Chat' oferece um espaço exclusivo e dedicado via Disqus para debates sobre atuações individuais e táticas do time.
Seguindo a mesma lógica do Palpite, a tela principal do Botão BV foi encapsulada na aba 'Jogar Botão', que agora é a aba ativa por padrão. O layout ficou ainda mais limpo, separando visualmente a arena de jogo da tabela de recordes e do chat, melhorando muito a experiência do usuário em telas menores.
A página do Palpite foi reestruturada para incluir o formulário de votação diretamente dentro da navegação de abas. Agora, a aba padrão ao entrar na página é a 'Palpite', mantendo a interface limpa e focada, enquanto a tabela do 'Ranking' fica oculta até ser solicitada pelo usuário.
A página do jogo Botão BV foi atualizada com a nova interface de abas padrão do site. As instruções de 'Como Jogar' foram limpas da tela principal e movidas para a aba 'Regras'. Foi adicionada uma aba 'Chat' com integração ao Disqus para os jogadores compartilharem recordes, e a aba 'Ranking' agora abriga o cobiçado TOP 3 Recordes da comunidade.
Implementada uma interface de abas (Tabs) na página do Palpite, replicando a excelente experiência de usuário criada no Bolão da Copa. Agora a página possui três abas: 'Ranking' (mostra a tabela e histórico), 'Chat' (integração limpa com Disqus carregada apenas sob demanda) e 'Regras' (explicação detalhada do sistema de pontuação).
Implementada uma lógica de Throttle na limpeza de cache atrelada aos votos do Culpômetro e NOTAS. O cache será apagado sempre que houver um voto, garantindo dados recentes para todos, mas no máximo UMA VEZ a cada 5 minutos. Isso elimina completamente o risco do site cair (Erro 503) em caso de pico de tráfego, garantindo performance de servidor estável.
Devido ao tráfego atual comportar (20-40 votos por jogo), o cache do WP Rocket agora é limpo dinamicamente no momento em que qualquer usuário registra um voto nas NOTAS ou no Culpômetro. Isso garante que a página estática servida para visitantes que não interagiram mostre sempre os resultados mais recentes.
Adicionado um 'buffer' de segurança de 1 minuto no Cron Job da limpeza de cache das NOTAS. A limpeza agora roda exatamente em 48 horas e 1 minuto após o fim da partida, prevenindo race conditions que pudessem causar a limpeza uma fração de segundo antes do fechamento real da votação.
Implementado um Cron Job no WordPress (`bv_clear_cache_notas_close`) que agenda a limpeza global de cache do WP Rocket para rodar exatamente 48 horas após o fim da partida. Isso garante que, no segundo em que as NOTAS se encerram, o cache é limpo automaticamente e o troféu de 'Craque do Jogo' aparece no card do Elenco sem necessidade de flush manual.
Corrigido um bug de concorrência onde o popup do Bolão reaparecia mesmo após ser fechado devido a timeouts agendados. O popup agora cancela contadores pendentes ao ser fechado e não aparece mais (ocultação permanente) caso o usuário já tenha salvo um palpite no Bolão neste navegador.
Corrigido um bug crítico onde o WordPress adicionava barras invertidas (slashes) no JSON do bracket antes de salvar no banco de dados (magic_quotes). Isso impedia o JavaScript de processar os palpites no login, resultando em brackets vazios. Aplicado wp_unslash() no salvamento e stripslashes() no carregamento de dados antigos.
Corrigido um bug visual onde os dados do usuário eram carregados corretamente do servidor, mas a UI dos Grupos (Etapa 1) não era atualizada para mostrar as seleções salvas.
Corrigido problema onde os palpites não eram salvos ao reentrar. Adicionado auto-save silencioso a cada mudança de etapa do wizard. Adicionado backup no localStorage do navegador como segurança extra. Se o servidor não tiver dados, o sistema tenta restaurar do backup local automaticamente.
Implementado sistema de polling em tempo real via arquivo JSON estático (bv-last-update.json). Se um leitor acessa o site com cache antigo e um post novo foi publicado, o JS detecta e dá refresh forçado imediato. Se ele já estiver navegando e um post for publicado, exibe uma notificação 'Toast' amigável.
Corrigido bug onde um time do R32 ficava sem oponente ('—'). O algoritmo greedy foi substituído por um solver com backtracking que garante que todos os 8 terceiros classificados sejam atribuídos corretamente aos seus slots válidos.
Corrigido Grupo K: Jamaica substituída por RD Congo (República Democrática do Congo). Jamaica não se classificou para a Copa 2026.
Verificação definitiva contra fifa.com: M75 (1F vs 2C, Monterrey), M76 (1C vs 2F), M78 (2E vs 2I, Dallas), M79 (1A vs 3rd, Cidade do México). Todas as 8 conexões R16, 4 QFs e 2 SFs conferidas e corretas.
Corrigida toda a lógica do bracket eliminatório para coincidir 100% com o caminho oficial da FIFA: R32 (M73-M88), Oitavas (M89-M96), Quartas (M97-M100), Semis (M101-M102) e Final (M104). Matchups M75/M76 e M78/M79 estavam invertidos no R32. As conexões R16→QF→SF foram completamente refeitas.
Corrigidos times nos grupos errados: Rep. Tcheca para Grupo A, Bósnia para Grupo B, Turquia para Grupo D, Suécia para Grupo F, e Jamaica para Grupo K. Todos os 12 grupos agora estão 100% conforme o sorteio oficial da FIFA.
Adicionada aba 'Chat' no Bolão Copa 2026 com integração Disqus para os leitores discutirem a Copa, compartilharem palpites e interagirem. O Disqus carrega de forma lazy apenas quando a aba é clicada.
Adicionado painel administrativo para gerenciar participantes do Bolão Copa (excluir individual ou todos). Implementada lógica de escalonamento entre popups do Palpite e Bolão Copa para nunca aparecerem simultaneamente.
Adicionado popup promocional animado no rodapé do site convidando leitores para o BV Bolão Copa 2026. O popup aparece em todas as páginas com cooldown de 24h ao dispensar. Branding atualizado com BlogVermelho.com, prefixo BV e crédito de design no cabeçalho da página. Ranking agora mostra participantes inscritos imediatamente com 0 pontos.
Lançamento do jogo de previsão do bracket da Copa do Mundo 2026. Os leitores montam seu bracket completo: classificação dos 12 grupos, seleção dos terceiros classificados e mata-mata até a final. Sistema de pontuação progressiva, identificação por apelido e email, e ranking global após o fechamento das apostas.
Resolvido o problema crítico de scroll nos cards flip do iPhone. Adicionado -webkit-overflow-scrolling: touch e overflow-y: scroll para ativar o scroll por momentum no iOS. Adicionado touch-action: pan-y para que gestos de arrasto vertical sejam tratados como scroll e não como toque de flip. Implementado rastreamento de distância do toque no JS: se o usuário arrastar mais de 8px verticalmente, o flip é suprimido. Adicionado rótulo discreto 'ROLE ▼' como indicador visual para iOS (que não mostra scrollbars nativas) — estilizado como metadado de UI, não como botão. Aplicado em NOTAS e ELENCO.
Corrigidos dois problemas no sistema de descoberta de scroll dos cards flip: (1) O gradiente agora vai até a borda inferior exata do card (bottom: 0, altura 80px), eliminando a faixa de brilho completo que aparecia abaixo. (2) A seta animada foi removida pois gerava confusão — o toque na seta acionava o flip do card em vez de indicar scroll. O indicador agora é composto apenas pelo gradiente de fade e pela trilha do scrollbar sempre visível, uma solução mais limpa e sem ambiguidade.
Implementado sistema de descoberta de scroll em três camadas nos cards flip das páginas NOTAS e ELENCO. Quando o verso do card tem conteúdo além do visível, o usuário agora vê: (1) um gradiente de sombra que escurece a borda inferior da lista; (2) uma seta animada em vermelho que pula suavemente, convidando ao scroll; e (3) uma trilha de scrollbar sempre visível. Ao atingir o final da lista, a seta e o gradiente desaparecem automaticamente.
Atualizado o ícone de aplicativo e favicon para a versão final escolhida: um escudo 'BV' moderno e dinâmico em vermelho sobre fundo branco. Esta atualização consolida a identidade mobile premium da plataforma.
Implementada a funcionalidade de ícone de aplicativo (Web App Icon). Agora, ao adicionar o BlogVermelho à tela de início do seu celular, você verá um ícone moderno e exclusivo com a identidade visual colorada, substituindo o padrão do WordPress.
Corrigido o problema onde o WordPress exigia várias linhas em branco para separar parágrafos. Adicionada margem inferior padrão e altura de linha otimizada para o conteúdo dos posts, garantindo uma leitura mais fluida e profissional.
A janela de votação para o sistema de NOTAS e o Culpômetro foi ampliada de 24 para 48 horas após o fim da partida, permitindo maior engajamento dos torcedores. As funções automatizadas da GurIA permanecem intactas.
Diagnosticado e corrigido o bloqueio que impedia o Culpômetro de aparecer no post. A causa era o lineup não estar salvo nos metadados. Implementada lógica de auto-recuperação: quando a votação está aberta e o lineup está ausente, o sistema agora busca automaticamente os dados da escalação na API e salva no post. Seguro para as rotinas da GurIA pois o jogo já estava finalizado (FT).
Adicionada página de diagnóstico profundo para identificar exatamente qual das três verificações impede o Culpômetro de aparecer no post (dados do jogo, lineup ou metatags). Permite correção cirúrgica sem afetar o funcionamento da GurIA.
Implementado lógica de 'auto-cura' para a exibição do Culpômetro. Se o sistema global indicar que a votação está aberta, o post agora garante sua exibição automaticamente, mesmo que as metatags individuais estejam ausentes ou corrompidas. Também automatizada a inicialização do banco de dados de votos via GurIA Autopilot.
Adicionado nova física de colisão nos escanteios (círculos com ícones de chuteira que arremessam a bola aleatoriamente). A IA agora toca a bola para um companheiro no pontapé inicial e prioriza encontrar o caminho livre para o gol em vez de chutar diretamente na barreira. O adversário também foi renomeado para BANANAS FC.
Corrigido o comportamento do botão 'Forçar Palpite' para ignorar jogos já encerrados, garantindo que a gurIA Colorada faça suas previsões apenas para as próximas partidas. Incluído script para limpar palpites lançados em rodadas passadas.
Implementação de um sistema robusto de notificações (admin notices) para a Guria. O botão 'Forçar Palpite' agora redireciona com flags de sucesso, erro ou duplicidade, garantindo que o usuário receba feedback visual imediato. A lógica de palpite também foi fortalecida com logs de erro detalhados.
Refinamento do motor de palpites da gurIA Colorada. Removido o 'viés colorado' da lógica; ela agora opera com frieza estatística total, sendo capaz de prever empates em 0-0 e derrotas do Inter se os dados de forma e média de gols indicarem esses resultados.
Implementação da participação automatizada da 'gurIA Colorada' no sistema BV Palpite. Ela agora utiliza análise de estatísticas (forma, mando e posição) para gerar palpites inteligentes automaticamente em todos os jogos do Inter.
Reestruturação da lógica de contagem de visualizações para permitir o rastreamento simultâneo de seções fixas e páginas dinâmicas. Resolvido o conflito onde páginas manuais paravam de contar se utilizassem templates hardcoded.
Realização de uma análise profunda de 450+ artigos de Mauro Loch (2017-2026). O relatório sintetiza uma década de opiniões sobre a reconstrução do Inter, do 'Cemitério de Talentos' ao retorno à maturidade técnica.
Atualização dos hubs de colunistas com estatísticas dinâmicas de longevidade. O campo 'Temporada' foi substituído por 'DESDE', exibindo o intervalo real entre o primeiro e o último artigo publicado por cada autor.
Remoção de informações indesejadas (como avaliações de estrelas em parênteses) dos títulos dos artigos no Hub de Colunistas, garantindo uma interface mais limpa e focada no conteúdo.
Correção visual nos Hubs de Colunistas: os títulos dos artigos foram alterados para Vermelho Inter (#E50014) para garantir contraste e alinhamento com a identidade visual do clube.
Implementação do template author.php para corrigir o redirecionamento do 'Ver Tudo' e fornecer um hub individual para cada colunista, com cabeçalhos de perfil e histórico completo de artigos.
Aprimoramento do Hub de Colunistas: os autores agora são ordenados automaticamente pela data da postagem mais recente. Também foi corrigida a visibilidade dos títulos dos artigos, que agora são exibidos em branco.
Lançamento do Hub de Colunistas - Reestruturação completa da página de Colunas, organizando posts por autor em um layout premium de prateleiras horizontais with perfis individuais e badges verificados.
Implementação do ícone de troféu 'Melhor do Jogo' no histórico de partidas (verso do card) na página Elenco, garantindo paridade visual entre as estatísticas e as conquistas individuais.
Implementação do aviso de 'Lista Parcial' na página de logs e recalibragem das datas históricas para o início real do projeto em 16 de Março de 2026.
Expansão massiva do log histórico (v14-v40) e implementação de Visual Deployment Pinning para automação de entregas.
Estabilização de estilos e correção de pequenos bugs visuais no sistema Obsidian.
Tradução completa do log para Português e preenchimento de marcos históricos.
Escurecimento total das páginas de informações com fundo 'obsidian' para contraste premium.
Implementação de um sistema de menu suspenso with posicionamento absoluto para evitar tremores.
Criação das páginas Sobre e Log de Versões with cronograma dinâmico via JSON.
Revisão das regras do Botão BV. Faltas cobradas do local real.
Narração premium via AI substituindo vozes nativas.
Metadados persistentes para rastrear o histórico de partidas diretamente nos cards.
Ranking global e sistema de cartões persistentes no Botão BV.
Adição de nomes dos marcadores nos registros de partidas.
Otimização de cache e reset de throttle para a tabela.
Lançamento do sistema interativo de palpites.
Interface expandida para o log completo de notas históricas.
Efeito flip nos cards e ledgers históricos.
Radar de recuperação para sincronização proativa de dados.
Motor centralizado de geração de conteúdo para o dashboard.
Sistema de monitoramento em tempo real da Guria Autopilot.
Scroll box for the widget de votação NOTAS.
Correção de overflow e reset de mídia mobile.
Análise histórica de decisões do VAR.
Estilos profissionais para the editor WordPress.
Botões de atualização rápida no painel administrativo.
Sincronização automática with official player data.
Timezone fix and mando ordering.
Historical dashboard for referee performances.
Launch of the Master Orchestrator for game automation.
Modern theme structure and initial Guria core.