Lançamento da Nova Versão do #relay #NRServer https://github.com/gabrielmoura/nostr-relay-server ## ✨ Novas funcionalidades ### Suporte a grupos NIP-29 Módulo opcional de grupos #NIP-29 com criação, join request, gerenciamento de estado e manipulação de eventos. Inclui correção de validação restrita ao escopo do protocolo. - `68f0aaf` feat(groups): add optional NIP-29 groups support with state management and event handling - `c823be1` feat(nip29): implement optional NIP-29 groups module with configuration and database support - `af26f82` feat(group): enhance group creation and join request handling with metadata support ### Web of Trust (WoT) e camada de segurança incremental Subsistema de Web of Trust com configuração e lógica de validação. Endurecimento de segurança incremental com limites configuráveis e suporte a whitelisting. - `164ab5d` feat(wot): implement Web of Trust subsystem with configuration and validation logic - `98cf3cc` feat(security): implement incremental security hardening layer with configurable limits and whitelisting ### Implementação do protocolo Blossom Handlers, métricas e queries de banco de dados para o conjunto completo de funcionalidades #Blossom. - `b09f64e` feat(blossom): implement Blossom feature set with new handlers, metrics, and database queries ### Sincronização Negentropy e download em massa Sincronização via protocolo Negentropy e download bulk de eventos com integração de UI. - `dd21dcb` feat(sync): add #Negentropy synchronization and bulk event download features with UI integration ### Jobs board operacional Fila de jobs com Redis-backend, suporte a enqueue/start/cancel, retomada e exclusão do histórico, e painel de UI para processos de download e sync. - `97db836` feat(jobs): implement generic operational jobs board with UI integration - `9e8a129` feat(queue): implement Redis-backed job queue with enqueue, start, and cancel functionalities - `111251f` feat(jobs): add resume and delete jobs history functionalities with UI updates ### Gerenciamento de labels NIP-32 API admin e componentes de UI para criação e gerenciamento de labels conforme #NIP-32. Inclui documentação do histórico de mudanças no frontend. - `41e1484` feat(labels): implement NIP-32 labels management with admin API integration and UI components - `c311336` feat(labels): document frontend change history and requirements for NIP-32 management ### Gerenciamento NIP-05 e NIP-86 CRUD completo para identidades #NIP-05 com suporte a localização. #NIP-86 com gerenciamento de pubkeys permitidas, IPs bloqueados e eventos banidos. - `5b87723` feat(nip05): implement NIP-05 management with CRUD operations and localization support - `12c37b2` feat(nip86): implement NIP-86 management features including allowed pubkeys, blocked IPs, and banned events ### Painel admin — eventos reportados e busca avançada Endpoint de sumário de eventos reportados, modal de #analytics, busca com novos filtros, tratamento de mídia e caching de payloads do dashboard via cron. - `abc3de2` feat(admin): add reported events summary endpoint and improve event search with caching - `1b58ef4` feat(reported-events): add analytics modal and improve event search with new filters and media handling - `71b5970` feat(cache): transition to cron-based warmup for admin dashboard payloads when #Redis is enabled --- ## 🏗️ Infraestrutura e banco de dados ### PostgreSQL e Redis com Docker Arquivos de configuração para #PostgreSQL e Redis com suporte a #Docker Compose e Docker Swarm. Schema otimizado com novas funções, tabelas e índices. Pool de conexões com health check. - `d225406` feat(config): add configuration files for PostgreSQL and Redis integration - `e5b6354` feat(schema): optimize PostgreSQL schema with new functions, tables, and indexes - `9a7b5fc` feat(db): implement database connection pool with initialization and health check ### Docker multi-stage e stack Tor Dockerfile com build multi-stage, suporte a stack #Tor via Compose e documentação de runtime atualizada. - `e3b7d8b` feat(docker): update Dockerfile for improved build process and add Docker runtime documentation - `b162952` feat(docker): add multi-stage build and Tor compose stack with updated docs --- ## ♻️ Refatorações ### Lua atômica para spam check e refatoração de DB/cache Script Lua atômico para prevenção de race conditions no spam check. Refatoração de arquivos de DB e cache para melhor manutenibilidade. - `8f652ed` refactor(cache): implement atomic Lua script for spam check to prevent race conditions - `ad17f5e` feat(db): refactor oversized DB and cache files for improved maintainability and clarity ### Atualização de dependências e simplificação do stack Upgrade de módulos críticos, simplificação do stack websocket/negentropy e remoção de código não utilizado. - `cd632b5` refactor(deps): update dependencies and remove unused AcceptFile function - `9dd97bd` refactor(deps): simplify websocket/negentropy stack and upgrade critical modules ### Relay information e documentação técnica Campos adicionais e configurações padrão no `RelayInformationDocument`. Documentação técnica principal atualizada com arquitetura detalhada e diretrizes operacionais. - `1cc2fd3` feat(relay): enhance RelayInformationDocument with additional fields and default configurations - `e44604f` feat(docs): update main technical documentation for NRServer --- ## 🐛 Correções ### Validação de autenticação para eventos de relay Melhoria na validação e tratamento de erros de autenticação para eventos de relay. - `68fcf41` fix(auth): improve authentication validation and error handling for relay events ### Normalização de chaves de relay e escopo NIP-29 Normalização de chaves durante o carregamento da configuração. Validação de grupos NIP-29 restrita ao escopo explícito do protocolo. - `c36d580` fix(config): normalize relay keys during load - `4c03d05` fix(nip29): restrict group validation to explicit protocol scope