📜 Macanudos GEO – Histórico de Funcionalidades

Versão atual GEO: 1.1.20
Esta página documenta a evolução técnica e funcional da plataforma Macanudos GEO. O histórico cobre todas as versões lançadas desde a primeira publicação, organizadas cronologicamente com descrição das funcionalidades e melhorias introduzidas em cada iteração.
Atalhos de versão
v1.1.20 v1.1.19 v1.1.18 v1.1.17 v1.1.16 v1.1.6 v1.1.5 v1.1.4 v1.1.3 v1.1.0 v0.1.0

🚀 Versão 1.1.20

Abril 2026

📻 QRG Repetidores

  • Importação para QRG de repetidores VHF, UHF, DMR e D-STAR com novos campos técnicos, geográficos e operacionais.
  • QRG passou a incluir filtros por tipo de repetidor e botão de exportação CSV por filtro ativo.
  • Tabela QRG reforçada com informação de canal, entrada/saída, TG/CC, reflector e localização.
  • Formulário `Adicionar ao QRG` expandido para entrada manual de campos específicos de repetidor.

📡 Estações e Indicativos

  • Criado suporte para upload de imagem da estação/indicativo no criar e editar estação.
  • Nova pasta pública dedicada para imagens de estações em `public/assets/img/stations`.
  • Perfil da estação passou a mostrar imagem da estação/indicativo e mais campos operacionais.
  • Fallback automático de imagem default por banda (CB / PMR) com compatibilidade de nomes de ficheiro.

🚀 Versão 1.1.19

Abril 2026

🗓️ Calendário e Eventos

  • Nova página dedicada de calendário `/calendario` com grelha mensal e navegação entre meses.
  • Calendário alinhado com o widget de próximas atividades, agregando `geo_alerts` e `geo_eventos`.
  • Acesso direto para criar eventos a partir do calendário e do widget de atividades.

📻 QRG e Frequências

  • Página QRG simplificada com remoção do acesso rápido a QSO e novo botão bordeaux `Adicionar ao QRG`.
  • Novo formulário para utilizadores adicionarem frequências ao QRG.
  • Adição de frequência ao QRG passa a publicar registo automático no chat público e no log.

🧭 Interface Operacional

  • Widget 1 passou a destacar `Calendário` como atalho com descrição de eventos, alertas e atividades.
  • Tabela QSO do cluster reorganizada para leitura mais clara da estação escutada e do spotter.
  • QRV Radar e DX receberam ajustes visuais nas ações rápidas.

🛠️ Correções

  • Edição de registos no perfil voltou a gravar coordenadas `lat/lng`.
  • Widget de chat protegido contra carregamentos concorrentes.
  • Corrigido ficheiro legado `public/widgets/pchat.php` após inserção acidental de conteúdo inválido.

🚀 Versão 1.1.18

Abril 2026

🧭 Navegação e Estrutura

  • Separação de páginas dedicadas para QAP, QSO e DX com rotas próprias.
  • Menu principal alinhado para GEO | MAPA | QAP | QSO | DX | CHAT.
  • Mapa DX passou a rota dedicada `/mapa/dx` para contexto exclusivamente DX.

🗺️ Mapa de Contactos / DX

  • Mapa de contactos em `/mapa/registos` agora global (QAP/QSO) e não limitado ao perfil.
  • Filtro temporal por defeito definido para últimos 3 meses.
  • Popup do mapa expandido com estação que escuta, estação reportada e localização escutada.
  • DX mapa com legendas e paleta próprias (azul escuro para estação que reporta, azul claro para estação escutada).

👤 Perfil Operacional

  • Perfil dividido em fluxos dedicados: `Os meus QAP e QSO` e `Os meus DX`.
  • Página DX do perfil com mapa de linhas de distância e tabela filtrável de registos DX.
  • Ações e botões do perfil reorganizados por prioridade operacional.

📡 Estações e Geocodificação

  • Formulários de estação (criar/editar) atualizados com novas opções de Tipologia e Rede.
  • Localidade e país passam a ser atualizados automaticamente via pesquisa, clique no mapa e arrasto da pinta.

📣 Eventos GEO

  • Formulário de eventos com tipologia (Evento/Atividade/Alerta) e tabela de orientação melhorada.

🚀 Versão 1.1.17

Abril 2026

📜 Log de Sessão

  • Login WordPress passa a gerar registo neutro no log: "Um macanudo logou-se."
  • Logout GEO alinhado para registo neutro no log sem expor nome do utilizador.

💬 Chat / Áudio

  • Widget 2 de chat na home alinhado para usar o quindar tone, tal como as páginas de chat.

🚀 Versão 1.1.16

Abril 2026

🗺️ Mapa de Registos

  • Novo mapa dedicado de registos (QSO/QRK/DX) com filtros por tipo e data para reduzir carga.
  • Suporte para foco num contacto específico a partir do perfil/cluster (record_id).
  • No perfil, o mapa pode ser limitado às estações do próprio utilizador (profile_only).

📒 Perfil e Cluster

  • Botões "Ver no mapa" por linha em QSO e DX no perfil e no cluster.
  • Botão só aparece quando existem coordenadas válidas nas duas estações do contacto.

🔊 Notificações áudio

  • Notificações de log e chat estabilizadas com desbloqueio de reprodução compatível com browsers modernos.
  • Chat privado voltou a emitir quindar tone em novas mensagens e ganhou botão de som 🔊/🔇.

📜 Ajuda e Changelog

  • Página Ajuda expandida para manual completo com Ajuda Rápida e âncoras por secção.
  • Privacidade do perfil clarificada: perfil é privado e separado da exposição operacional de estações.
  • Definições QRK/QSO clarificadas: QRK unilateral, QSO bilateral.
  • Widget de log voltou a mostrar eventos de login após remoção de filtro incorreto.
  • Novo registo automático por sessão no login WordPress: "Um macanudo logou-se." sem identificação do utilizador.

🚀 Versão 1.1.6

Março 2026

🛰️ Cluster de Contactos

  • Nova área Cluster com registos agregados de QRK, QSO e DX numa única vista.
  • Separadores por tipo de contacto (QRK / QSO / DX) com contadores em tempo real.
  • Botão de criação muda conforme o separador ativo (Novo QSO, Novo QRK ou Novo DX).
  • Formulário DX dedicado com banda CB por defeito e campo privado funcional.
  • Registo de contactos DX gravado com type=dx na tabela unificada de contactos.

📩 Mensagens Privadas

  • Botão INBOX só acende em vermelho quando existem mensagens privadas por ler.
  • Mensagens privadas passam automaticamente a lidas ao abrir chat ou inbox.
  • Badge numérico no botão INBOX indica total de mensagens por ler.
  • Em modo mobile o botão INBOX exibe a etiqueta INBOX visível.
  • Tooltip informativo no botão quando existem mensagens pendentes.

📒 Registos QRK / QSO

  • Formulários QRK e QSO bloqueiam datas no futuro, tanto no browser como na validação de servidor.
  • Campo Privado (0/1) agora gravado corretamente na base de dados para os três tipos de registo.

📜 Changelog

  • Página de changelog convertida para formato textual funcional por versão.
  • Conteúdo gerido nativamente em Laravel, sem dependência de visualização de commits Git.

🚀 Versão 1.1.5

Março 2026

✅ Laravel como versão principal

  • Fluxo principal consolidado em /geo (Laravel); legado mantido em /geolegacy/ para compatibilidade.
  • Correção de links internos que ainda apontavam para páginas .php antigas.
  • Fluxo de logout alinhado para regressar corretamente à home nativa Laravel.
  • Proteção e consistência de acesso em Profile e Registos com bridge WordPress.

🗺️ Mapa e Popups

  • Botão Detalhes do popup atualizado para /geo/stations/{id}.
  • Botões + QRK e + QSO atualizados para rotas Laravel com pré-preenchimento de estação, banda e hora.

📒 QRK / QSO

  • Redireções de erro e sucesso alinhadas com rotas Laravel.
  • Autenticação consistente nas páginas de listagem.
  • Mensagens informativas de contexto restauradas nas views.

🔗 Navegação

  • Perfil, estação e QRG atualizados para links corretos de registo rápido.
  • Página SDR e widget SDR atualizados para detalhe de estação em rota Laravel.

🌦️ Meteorologia

  • Widget meteo recuperado com ligação correta à base dedicada.
  • As três caixas de previsão passaram a mostrar fallback seguro quando não há dados.

🚀 Versão 1.1.4

Fevereiro 2026

🌦️ Alertas Meteo (IPMA)

  • Regra de seleção de alertas atualizada para preenchimento por prioridade: Vermelho → Laranja → Amarelo → Verde.
  • Exibição compacta do número total de alertas no título do widget.
  • Rotação dinâmica mantida para cenários com muitos avisos graves.

🗺️ QAP Mapa e Histórico

  • Mapa QAP alinhado com o mapa principal em termos de estética e comportamento.
  • Popups unificados com descrição, estado No Ar e ações rápidas (+QRK / +QSO).
  • Histórico No Ar simplificado para foco exclusivo em rádio: agora, 24h, 3 dias, semana e mês.
  • Marcadores por banda aplicados no QAP Mapa e no Histórico.

🎙️ No Ar (QAP)

  • Monitor global de expiração do estado No Ar disponível em qualquer página autenticada.
  • Popup de prolongamento (+30 min) disponível fora da página de estações.
  • Sincronização imediata do estado no topo após ligar ou desligar rádio.

🧭 Menu e UX

  • Botão Estações e Indicativos renomeado para RADIOS.
  • Indicador visual em tempo real no botão RADIOS quando existem estações no ar.
  • Indicador visual em tempo real no botão Mensagens quando existem mensagens privadas por ler.
  • Adicionado ícone ao botão Perfil.

👤 Perfil e Estações

  • Texto informativo do Perfil revisto para esclarecer isolamento e privacidade total do painel.
  • Página de estações atualizada com título "As minhas estações e indicativos".
  • Adicionada nota vermelha informativa sobre criação de estações e futura localização móvel.

🚀 Versão 1.1.3

Fevereiro 2026

🌦️ Alertas Meteo (IPMA)

  • Widget da home migrado para API oficial IPMA com cache local horária.
  • Resolução de áreas por identificador de aviso e agrupamento por zona e nível.
  • Exclusão de Agitação Marítima no resumo principal.
  • Seleção por severidade dominante (vermelho > laranja > amarelo > verde).
  • Rotação dinâmica para cenários com muitos avisos graves (janela de 5 minutos).
  • Layout compacto otimizado para dashboard.

💬 Chat Privado por Estações

  • Correção de duplicação visual no envio otimista.
  • ACK com ID real da mensagem para sincronização imediata.
  • Fetch incremental com suporte JSON (mantendo fallback HTML).
  • Melhoria de robustez no polling e prevenção de requests sobrepostos.
  • Endurecimento de segurança no rendering local de mensagens.

🗺️ Popup do Mapa

  • Popup visual unificado com tema cinza escuro.
  • Remoção do botão fechar (mantém fecho por clique fora ou ESC).
  • Ações rápidas no popup: + QRK e + QSO.
  • Pré-preenchimento dos formulários com estação, banda e hora do popup.
  • Botões equivalentes adicionados também na página da estação.

🎙️ Fluxo No Ar (QAP)

  • Ao ligar uma estação, confirmação inicial e escolha de canal por botões.
  • CB: canais 1–40 | PMR446: canais 1–16.
  • Validação de canal no frontend e backend.
  • Suporte para exibir no popup: 🔴 No Ar! Canal X.

🛠️ Correções

  • Link inválido corrigido em edição de registos (cancelar).
  • Melhoria de cache-busting dos scripts do mapa.

🚀 Versão 1.1.0

Fevereiro 2026

📡 Estações no Ar

  • Nova funcionalidade Estações no Ar baseada em QRZ.
  • Visualização dinâmica de estações ativas no ecossistema GEO.
  • Os meus QRK e QSO: editar e apagar registos pessoais.
  • Alertas e eventos de atividade rádio em tempo real.

📜 Log / Feed Global

  • Centralização de informação em formato de feed cronológico.
  • Registos de estações no ar, boletins, Plano 3-3-3 e notícias integradas.
  • Superfeed agregado com atualização contínua ordenada por tempo.

💬 Chat

  • Expansão do sistema de canais de chat.
  • Ativação e desativação de canais por utilizador.
  • Filtros de canais persistentes entre sessões.
  • Pesquisa de mensagens em tempo real.
  • Melhoria da legibilidade em chats com grande volume de mensagens.

🧠 Melhorias Técnicas

  • Otimização de polling no chat com redução de carga.
  • Estrutura preparada para evolução para SSE / WebSocket.

🚀 Versão 0.1.0

Janeiro 2026

🗄️ Base de Dados

  • Base de dados GEO separada do WordPress.
  • Ligação centralizada via includes/db.php.
  • Estruturas criadas para estações, QTH, QSO, QRK, chat e log do sistema.

🔐 Autenticação

  • Login integrado com a conta WordPress (Macanudos.org).
  • Proteção de páginas e widgets por sessão autenticada.
  • Associação direta entre utilizador e atividade rádio.

🧭 Dashboard

  • Página inicial em grelha modular com layout responsivo (desktop e mobile).
  • Containers reorganizáveis por widgets.

🧱 Topbar

  • Exibe utilizador autenticado, versão do sistema e data/hora em tempo real.
  • Localização aproximada por IP, endereço IP e logout rápido.

📋 Menus

  • Menu Rádio Operador: Perfil e Gestão de estações.
  • Menu GEO: Início, Mapa (QTHMap), QRG, SDR, QRK, QSO e Chat.

🗺️ Mapa / Geolocalização

  • Mapa interativo com OpenLayers e visualização de estações.
  • Integração com QTH, QSO e QRK.

📒 Registos Rádio

  • QSO: registo bidirecional de contactos com estações registadas e não registadas.
  • QSO: localização confirmada via autocomplete (OpenStreetMap), banda, modo, canal, sinal, rádio e modo privado.
  • QRK: registo de escuta com localização associada e integração com mapa.

💬 Chat

  • Chat em tempo real por polling.
  • Canais: Público, Privado, CB, PMR, MeshCore, DEV.
  • Widget e página dedicada de chat.
  • Envio via AJAX, cores por canal e destaque das próprias mensagens.

🎛️ Widgets

  • 📻 Player: SDR, Emissões, Antena 2, TSF.
  • 💬 Chat integrado na dashboard.
  • 🗺️ Mapa em widget.
  • 📡 Plano 3-3-3.
  • 🌦️ Meteorologia.
  • 📰 Notícias.
  • ☀️ Solar Map e Solar Conditions.
  • 📜 Log do sistema em tempo real.

🧩 Interface

  • Tema escuro consistente em toda a plataforma.
  • Botões selecionáveis para banda, modo, sinal e rádio nos formulários.
  • Separação progressiva de CSS por módulos.