Skip to content

Agosto

Dia 31

Relatórios

  • 🎨 Melhorias de responsividade no Relatório Socioeconômico Geral em telas menores - rótulos longos dos gráficos agora quebram linha em vez de ultrapassar os cards (#4381)

Certificados

  • 🐛 Campo "Carga Horária" volta a aceitar texto na criação de certificados (ex: "40 horas") - antes era numérico e bloqueava o salvamento com textos descritivos (#4395)

Atividades

  • 🐛 API mobile: Atividades agendadas agora só exibem a nota após a conclusão da correção, e a lista de alunos inclui informação de alunos PCD e status da resposta (#4375)

Usuários

  • 🐛 Redefinição de Senha: Correção do botão "Salvar" que ficava permanentemente desabilitado no fluxo de redefinição de senha e de completar cadastro, mesmo com senhas válidas (#4394)

Desenvolvimento

  • 🆕 Modal Semântica: Novo componente reutilizável de modal de confirmação (sucesso, aviso e erro), já aplicado nas modais de redação, pesquisa socioeconômica, criação de questões e convite de professores (#4379)
  • 🏗️ Inputs: Refatoração dos componentes de formulário com classe base compartilhada - exibição de erros e labels agora centralizados e consistentes em todos os tipos de campo (#4368)
  • 🆕 Criação de Alunos e Tags: Novo componente de modal de criação (individual e em massa via Excel) com melhor feedback de erros, incluindo novo componente de upload de planilha (#4354)
  • 🔧 Feature flag para ativar/desativar o Sentry em desenvolvimento sem necessidade de mudança de código (#4373)
  • 🧪 Testes E2E para a sincronização de dados entre Postgres e ClickHouse (projectors) (#4383)

Dia 28

Relatórios

  • 🏗️ Relatório Pedagógico: Feature flag legacy_pedagogical_report para controlar a versão servida pela rota padrão do relatório pedagógico (Analytics/ClickHouse por padrão, Legado/Cache quando habilitada), com rotas explícitas /analytics/ e /legacy/ para cada modo

Dia 27

Salas Virtuais

  • 🆕 App do Professor e Gestor: Dashboard agora exibe a proficiência dos alunos em quatro faixas (Abaixo do básico, Básico, Adequado e Avançado) e a listagem de turmas, com carregamento otimizado para gestores (#4382)

Atividades

  • 🐛 Correção Discursiva: Ao salvar as notas, o professor agora recebe confirmação e é direcionado ao menu de correção - antes permanecia na tela e precisava atualizar a página para ver as notas salvas (#4344)

Usuários

  • 🐛 Correção de erro ao remover um professor da última escola em que atuava, quando este possuía atividades previamente excluídas - o professor agora é desativado corretamente (#4308)

Outros

  • 🆕 Biblioteca: Aviso "Nenhum ano selecionado" ao lado dos municípios cuja permissão de acesso a uma coleção ainda não teve os anos configurados (#4374)

Dia 26

Atividades

  • ⚡ Performance na listagem de lotes de provas - a coluna "Agendado" não carrega mais dados desnecessários de cada lote (#4376)

Outros

  • 🐛 Menus e Filtros: Correção definitiva dos dropdowns que abriam vazios em todo o sistema (filtros do dashboard, ações do fórum, filtros socioeconômicos e menus de salas virtuais) (#4356)
  • 🎨 Seta do perfil do usuário na sidebar ganhou animação de rotação ao abrir e efeito de hover (#4336)
  • 🐛 App mobile: Correção no filtro de mídias da Biblioteca (#4325)

Desenvolvimento

  • 🏗️ Provas: Página de edição de provas migrada para o novo FormLayout, com controle redesenhado para exibir/ocultar questões (#4365)
  • 🐛 Limpeza de jobs "fantasmas" no Sidekiq que geravam milhares de alertas no Sentry (NameError: uninitialized constant Database) (#4380)

Dia 25

Salas Virtuais

  • 🐛 Lateral de respostas do aluno agora abre corretamente no Safari, sem ícones sobrepostos (#4353)

Atividades

  • 🎨 Tela de "Inserir Respostas" com espaçamento reduzido entre alternativas e tabela que se adapta à tela - mais questões visíveis sem rolagem (#4360)

Usuários

  • 🏗️ Gerentes e Formadores: Criação unificada em modais modernos, com erros de validação exibidos nos campos e valores preservados em caso de erro (#4348)

Relatórios

  • 🐛 Relatório Geral Socioeconômico: Menu de relatórios agora mostra apenas os anos que existem nas turmas da escola selecionada (#4342)

Outros

  • 🐛 Ícone inexistente não derruba mais a página com erro 500 - o erro é reportado silenciosamente ao Sentry (#4361)

Desenvolvimento

  • 🏗️ Formulários: Melhorias gerais - limites por ano do município tornam os campos obrigatórios dinamicamente e planilhas com Google IDs duplicados exibem mensagem amigável (#4338)
  • 🔧 Resolução do warning de deprecação do Rack no console (#4367)

Dia 24

Atividades

  • 🐛 Botão "Corrigir discursivas" restaurado na tela da atividade agendada, havia sumido em uma limpeza de código (#4339)
  • 🎨 PDFs diagramáveis do AvaliaMT e do SAEB ajustados ao design do Figma (#4347, #4351)
  • 🐛 Nomes longos de estudantes agora quebram corretamente no detalhamento de respostas, sem invadir a coluna de nota (#4352)

Desenvolvimento

  • 🎨 Formulários: Botão de envio ganha indicador de carregamento e bloqueio de envios duplicados (#4331)

Dia 23

Desenvolvimento

  • 🏗️ Analytics: Refatoração do sincronizador Postgres → ClickHouse (scope resolver e projectors) para queries mais eficientes e código mais legível (#4313)

Dia 21

Salas Virtuais

  • 🆕 App do Aluno: Dashboard com novas opções de ordenação das atividades (Próximas, Recentes, Antigas) (#4315)
  • 🐛 App do Professor: Listagem de salas virtuais agora mostra exatamente as salas em que o professor está cadastrado (#4213)

Atividades

  • 🎨 PDFs diagramáveis: Redesign dos PDFs da EduQ - capa equilibrada, alternativas alinhadas e ícone de megafone apenas em questões de leitura em voz alta (#4327)
  • 🎨 Questões com IA: Step selector da geração de questões atualizado para o novo design (#4284)

Outros

  • 🐛 Ícones com nomes incorretos consertados e sub-tabelas agora exibem cabeçalho mesmo sem conteúdo (#4355, #4337)

Desenvolvimento

  • 🧹 Remoção das últimas referências ao Font Awesome nos testes (#4357)

Dia 20

Salas Virtuais

  • 🎨 Criação de sala virtual com nome obrigatório e erros de validação exibidos no formulário (#4334)

Atividades

  • 🐛 Revisão da Ficha Avaliativa agora mostra ano, título, objetivo e habilidades das questões; erros no cadastro da Redação mantêm o formulário preenchido (#4335)

Usuários

  • 🐛 Correção do link professor-turma para o caso de professor desvinculado e vinculado novamente (#4346)
  • Convite de Professor: Modal de turmas virtuais carrega sob demanda com skeleton loaders e scroll infinito (#4321)
  • 🎨 Tabela de professores da tela da escola padronizada com as demais tabelas do sistema (#4329)

Desenvolvimento

  • 🏗️ Sincronização do schema.rb com o banco de produção - fim dos "diffs fantasmas" ao rodar migrations (#4318)
  • 🏗️ Redações: Formulários de gêneros migrados para o FormLayout com erros inline (#4282)

Dia 19

Atividades

  • 🏗️ Salas Virtuais: Tópicos de atividade com fluxo RESTful unificado e modais de provas agendadas corrigidos (#4285)

Usuários

  • 🆕 Atalho: Botão "Adicionar alunos" na tabela de turmas da escola, com modal para escolher a sala virtual de destino (#4326)
  • 🐛 Correção do link professor-turma que aparecia em vermelho (#4341)

Outros

  • 🎨 Ícones: Finalização da migração de Font Awesome para Lucide Icons em toda a plataforma (#4258)
  • 🐛 Ícones ausentes no Lookbook corrigidos e ajustes de contraste em ícones com traços invisíveis (#4333, #4340)

Desenvolvimento

  • 🔧 Atualização de 25 dependências JavaScript de produção e 8 de desenvolvimento (#4298, #4299)
  • 📄 Documentação do Questionário Socioeconômico (NSE) (#4332)

Dia 18

Atividades

  • 🐛 Redações: Correção da nota final zerada no relatório de atividades de redação, mesmo com as competências corrigidas - o zero era gravado permanentemente e derrubava a média (#4306)
  • ⚡ Performance na tela de notas - filtros de estudantes (nome, NSE, etnia) agora executam no banco de dados (#4317)
  • 🏗️ PDFs: Geração de provas diagramáveis (SAEB, SARESP, EduQ, AvaliaMT) unificada em um serviço único configurável (#4283)

Outros

  • 🐛 Modais responsivos agora rolam corretamente em telas pequenas, especialmente no Safari (#4323)

Desenvolvimento

  • 📄 Documentação dos sistemas de Permissões/Feature Flags e de Importação/Exportação Excel (#4319, #4320)

Dia 17

Relatórios

  • 🆕 Filtros no exports do relatório pedagógico - Filtros do relatório agora são propagados para os arquivos exportados. A informação de quais filtros foram aplicados se encontram na tabela de município, que mostra quais estavam inclusos no filtro e a quantidade de escolas daquele município que estão sendo filtradas no relatório.
  • 🎨 Corrigida estilização das tabelas dos relatórios comparativos de turmas e escolas.
  • 🎨 Modal de geração de relatórios de atividades do município redesenhado, com cabeçalho, seleção confortável e botão de cancelar (#4304)
  • 🐛 Correção do lazy loading que não finalizava em algumas telas do relatório geral socioeconômico (#4256)

Atividades

  • 🐛 Agendamento: Modalidade escolhida na configuração geral agora é respeitada para todas as salas - antes atividades presenciais eram salvas como online (#4305)

Outros

  • 🆕 Open Graph: Links da plataforma compartilhados no WhatsApp e redes sociais agora exibem card com logo, título e descrição (#4301)
  • 🐛 Correção de erros de "content" no popover da plataforma (#4311)
  • 🎨 Remoção do link da Switch Dreams no rodapé dos e-mails (#4330)

Desenvolvimento

  • 🏗️ Analytics: Geração de eventos de sincronia mais seletiva, timeout customizado para queries PostgreSQL e redução drástica de rows reprocessadas no ClickHouse (#4226, #4227, #4312)
  • 🏗️ Criação de Provas: Refatoração da controller principal do banco de questões em 8 serviços focados (#4307)

Dia 14

Relatórios

  • 🆕 Filtro de Etnia no relatório de estudantes do módulo socioeconômico (#4278)

Usuários

  • 🎨 Bordas e cabeçalhos escurecidos nas tabelas da tela de pessoas da turma (#4309)

Outros

  • 🎨 Logo: Logo da EduQ padronizada em toda a aplicação (navbar, login, recuperação de senha e favicon) (#4278)

Desenvolvimento

  • 🏗️ Formulários: Turmas, Gerentes de Escola e Empresas migrados para o FormLayout, com erros de validação inline e criação aninhada de gestor no cadastro de empresa (#4302, #4280, #4277)
  • 🔧 Atualizações de dependências com correções de segurança: json, avo, activestorage e postcss (#4295, #4292, #4294, #4287)

Dia 13

Certificados

  • 🎨 Criação de certificados migrada para o FormLayout, com validação robusta da planilha Excel (cabeçalhos obrigatórios, e-mails duplicados) e erros exibidos nos campos (#4268)

Atividades

  • 🏗️ Trilha de Aprendizado: Componentes da trilha reorganizados com DDD, com correção de erro JS silencioso e do rodapé sobreposto na tela de resultados (#4274)

Desenvolvimento

  • 🏗️ Analytics: Trigger mais seletivo para eventos de sincronia, timeout customizado para queries PostgreSQL, projections mais legíveis, backfill idempotente e auditoria de sincronia por tenant no ClickHouse (#4226, #4227, #4228, #4229, #4230)
  • 🏗️ Formulários: Habilidades e Empresas migradas para o FormLayout, tratamento de erros padronizado nos wizards multi-step e correção do required no SelectBox com exibição de erros (#4281, #4277, #4264, #4267)

Dia 12

Desenvolvimento

  • 🏗️ Sidebar: Componentização em header, footer e navegação, com tooltips exibindo mais rápido ao passar o mouse (#4269)
  • 🔧 Tags de id e role do usuário nos erros reportados ao Sentry (#4270)

Dia 11

Atividades

  • 🐛 Questões com IA: Geração de questão migrada para processamento assíncrono, corrigindo erro de timeout que acontecia em produção (#4200)

Desenvolvimento

  • 🔧 CI corrigido e GitHub Actions atualizadas (#4300, #4296)
  • 🧪 Nova jornada de usuário para testes de carga com K6 (#4181)

Dia 10

Usuários

  • 🔒 Perfil: Nova rota /users/my_profile sem exposição do ID do usuário na URL, impedindo o acesso a perfis de outras pessoas por enumeração (#4263)

Atividades

  • 🧹 Remoção completa do sistema legado de avaliação de redações (TextGenres, Criteria e CriteriumAlternatives), substituído pela nova arquitetura com Genre, Skills e EssayResponses (#4259)

Desenvolvimento

  • 🎨 Indicadores padronizados nos formulários: asterisco vermelho para campos obrigatórios e "(opcional)" para os opcionais, gerenciado pelos próprios componentes (#4241)
  • 🆕 Novo componente Collapsible (accordion) com animação suave de abertura e fechamento (#4252)

Dia 7

Pedidos

  • Export da planilha do município Valentim Gentil contendo todos os usuários, escolas e turmas.

Salas Virtuais

  • 🎨 Ícones: Migração de Font Awesome para Lucide Icons - biblioteca moderna de ícones SVG que substitui o FA antigo (#4276)
  • 🐛 Dashboard: Correção de erro "getParsed" que causava crash ao navegar do dashboard para outras páginas - gráficos agora são limpos corretamente ao sair da página (#4262)

Atividades

  • 🐛 Relatórios: Correção de acesso ao relatório pedagógico geral - diferentes perfis institucionais agora veem os exames corretos (#4272)
  • 🐛 Relatórios: Correção de bug no modal de comparação de turmas - modal agora sempre inicia limpo ao abrir, sem carregar dados de buscas anteriores (#4250)
  • 🐛 Importação de Notas: Correção de erro ao importar notas via Excel - mensagem de erro real agora é exibida em vez de erro confuso de "arquivo não encontrado" (#4239)
  • 🆕 Resumos: Geração de resumos de relatórios sob demanda - botão dedicado para gerar resumo ao invés de automático (#4238)
  • 🐛 Status de Atividades: Nova lógica de status para atividades agendadas - "Corrigida", "Aguardando Correção" e "Não corrigida" agora funcionam corretamente de acordo com prazo e tipo de prova (#4217)
  • 🆕 Offline: Salvamento de respostas offline - respostas são armazenadas no localStorage em caso de falha de rede e sincronizadas quando a conexão volta (#4216)
  • Performance: Melhoria de performance na página de município (#4139)
  • Performance: Correção de timeout no gráfico de "Acertos por Habilidade" do dashboard - query agora filtra corretamente apenas alunos da turma (#4180)

Usuários

  • 🎨 Tabelas: Padronização do componente de usuário nas tabelas - nomes longos agora exibem reticências e tooltip (#4255)
  • 🆕 Filtros: Campo de pesquisa no filtro de Município na página de Escolas - busca rápida quando lista tem mais de 15 itens (#4253)
  • 🐛 Reset de Senha: Correção de erro ao criar nova senha no formulário "Esqueci minha senha" (#4248)
  • 🐛 Mover Usuário: Melhoria na mensagem de erro ao mover alunos - agora informa qual limite foi extrapolado (#4240)
  • 🐛 Autenticação: Aprimoramento da proteção contra Brute Force (#4086)

Desenvolvimento

  • 🏗️ Formulários: Novo layout de formulários (FormLayout) com validação aprimorada e sistema de erros em inputs (#4222, #4215)
  • 🏗️ CSS: Remoção completa de SCSS/SASS e migração para Plain CSS (#4197)
  • 🏗️ Tailwind: Ativação do Tailwind Preflight e limpeza de styles não utilizados (#4194)
  • 🏗️ Bootstrap: Remoção de classes Bootstrap border e migração para Tailwind (#4196)
  • 🧹 Controllers: Remoção de controllers Stimulus não utilizados (#4249)
  • 🏗️ Refatoração: Refatoração do new_exams_controller - remoção de código morto e simplificação (#4221)

Outros

  • 🐛 Relatórios Resumidos: Correção de bugs visuais de proficiência (#4254)
  • 🐛 Erro Sentry: Correção de erro no tooltip da sidebar (#4237)
  • 🏗️ Multi-step Wizard: Implementação do padrão Multi-step Wizard para criação de município e fluxos de atividades (#4211, #4210, #4206, #4177)
  • 📄 Documentação: Documentação para criação de questões com IA (#4234)
  • 📄 Documentação: Documentação de sistemas menores (#5265)
  • 🐛 Erro 500: Correção de erro 500 em filtered exams (#4164)
  • 🏗️ Tabelas: Ações de deletar e gerenciar agora ficam visíveis direto na coluna de ações (#4235)
  • 🎨 Dropdown: Novo design do dropdown de relatórios socioeconômicos com ícones, título e subtítulo (#4223)
  • 🏗️ LGPD: Melhoria da conformidade com anonimização de dados (#4154)
  • 🏗️ Dev Containers: README para dev containers (#4224)

Dia 6

Salas Virtuais

  • 🐛 Dashboard: Correção de bugs nos gráficos do dashboard (#4178, #4175)
  • 🐛 Fórum: Botões não funcionam dentro da postagem do fórum (#4171)
  • 🐛 Postagem no Mural: Correções no fluxo de criação de postagens (#4102)

Atividades

  • Performance: Melhorias de performance em ScheduledExams::ModelsController#show (#4147)
  • 🏗️ PDF: Melhorias na organização de arquivos PDF (#4201)
  • 🏗️ PDF: Melhorias no detalhamento de questões diagramáveis (#4107)
  • 🏗️ PDF: Cálculo do tamanho da questão para melhor distribuição no PDF (#4212)
  • 🐛 PDF: Inserção de respostas de PDF (#4208)
  • 🐛 Relatórios: Correção de datasetError no Sentry (#4162)
  • 🐛 Gráficos: Correção de erro de chart id (#4161)
  • 🏗️ Filtros: Melhorias no Table Filters (#4166)
  • 🐛 Exportar Excel: Botão de exportar para Excel não funcionava (#4165)
  • 🏗️ Pagination: Melhorias na paginação (#4163)
  • 🐛 Relatório Legado: Troca para relatório legado por padrão (#4220)
  • 🏗️ Questionário IA: Refatoração da controller de IA (#4193)
  • 🏗️ Child Education: Renomeação de evaluation para child education (#4174)
  • 🏗️ Multi-step: Componentização de fluxos multi-step (wizard) - PoC (#4177)
  • 🎨 Select: Melhorias no componente de Select e Input para relatórios (#4176)

Usuários

  • 🐛 Charts: Correção para o excel e bugs visuais (#4173, #4170)
  • 🐛 Scroll: Correção para o scroll na operação de editar questões (#4168)
  • 🐛 Tabelas: Melhorias na parte das tabelas globais (#4158)
  • 🐛 Checkbox: Correção para o checkbox sumindo (#4157)
  • 🎨 Empty States: Adicionar botão "Adicionar Turmas" no empty state (#4186)
  • 🎨 Ícones: Adicionar ícone nos Index (#4188)
  • 📧 Emails: Atualização dos templates dos 3 e-mails da plataforma (#4187)
  • 🐛 Vínculo Professor-Sala: Correção do bug que não permitia o link entre professor e sala virtual (#4190)

Desenvolvimento

  • 🏗️ ClickHouse: Scripts para sync entre ClickHouse e Postgres (#3895, #3880)
  • 🐛 Sidebar: Correção do alinhamento da sidebar (#4184)
  • 🐛 Select: BUG no Select & carregamento de HTML & exibição da página 404 (#4183)
  • 🧹 CSS: Limpeza de classes CSS não utilizadas na pasta styles (#4179)
  • 🏗️ Dev: Feature: gerenciamento de containers de bancos em dev (#4185)
  • 🏗️ Anonimização: Processo para gerar banco de dados anonimizados (#4189)
  • 🏗️ Tabela: Implementação de "novo" layout de tabela nas sub-tabelas (#4152)
  • 🏗️ API: Remove a api default (#4149)

Outros

  • 🏗️ Gráfico Poluído: Correção para gráfico poluído (#4142)