Skip to content

Setembro ​

Dia 30 ​

Atividades ​

  • 🐛 Correção de discursivas: Correção do ícone quebrado ao entrar na correção de questões discursivas e do fluxo desalinhado ao corrigir com IA

Relatórios ​

  • 🐛 Quantidade de estudantes: Contagem corrigida na página de Turmas do professor e na frequência do relatório de turmas - alunos transferidos passam a ser incluídos

Usuários ​

  • 🐛 Filtros de escola e turma: Selecionar uma escola nos filtros da tela de Usuários volta a responder após navegar de volta pelo navegador, destravando o filtro de turma

Desenvolvimento ​

  • 🔧 Makefile: Correção dos comandos de interação com o Postgres (porta do banco) e dos jobs de sincronia Analytics (hot reload/inotify)
  • 📝 Guia rápido de configuração do ClickHouse adicionado ao README
  • 🔧 CI/CD: Workflows migradas para os runners da Blacksmith, com hardware mais rápido e cache compartilhado

Outros ​

  • 🎨 Campos de data: Digitação manual aceita apenas números, com formatação automática dd/mm/aaaa hh:mm e placeholders indicando o formato esperado

Dia 29 ​

Relatórios ​

  • ⚡ Relatório Socioeconômico: Consultas otimizadas reduziram o carregamento dos relatórios comparativos de ~1,8s para ~300ms

Usuários ​

  • 🐛 Filtro de turmas: A lista de turmas agora é preenchida corretamente ao filtrar por escola na tela de Usuários

Desenvolvimento ​

  • 🔧 OpenTelemetry desativado fora de produção, evitando coleta de telemetria em ambientes de desenvolvimento e QA

Dia 28 ​

Atividades ​

  • 🐛 Busca de atividades: Campo de pesquisa das Provas Aplicadas limitado a 100 caracteres, evitando erro 500 ao colar textos enormes

Desenvolvimento ​

  • 🔒 Login do EduQ App: O bloqueio de acesso definido pelo município agora vale em toda requisição - usuários bloqueados são desconectados do app imediatamente, sem depender de identificação controlada pelo cliente
  • 🔒 Envio de respostas: Salvamento de respostas e redações passou a exigir comprovação de origem legítima (CSRF), impedindo que sites maliciosos enviem respostas em nome do aluno
  • 🔒 Autoria no mural: Posts, comentários e provas agendadas pelo app sempre têm como autor o usuário logado - não é mais possível se passar por outra pessoa

Outros ​

  • ⚡ Biblioteca: Edição de coleções cerca de 3x mais rápida (de ~6s para ~2s)

Dia 25 ​

Salas Virtuais ​

  • 🐛 Botão "Adicionar" do card de Professores da aba Pessoas não aparece mais cortado
  • 🐛 Página Pessoas: Correção do problema de abertura de modal na página de pessoas da turma

Atividades ​

  • 🆕 PDFs de atividades diagramáveis: Geração dos PDFs EduQ, SAEB, SARESP e AvaliaMT migrada para Chrome headless - o arquivo final fica idêntico ao que aparece no navegador, com layouts e fontes repaginados
  • 🐛 Agendamento por tipo de atividade: A listagem de turmas respeita o tipo da atividade - atividades de Educação Infantil só listam turmas dessa etapa, e provas comuns/redação não listam turmas de Educação Infantil
  • 🐛 Modais durante a prova: Modal não fica mais preso após usar o botão voltar do navegador, e a página de resultado exibe traço nas questões sem resposta em vez de quebrar
  • 🎨 Placeholders nos campos de data do agendamento em massa de atividades

Usuários ​

  • 🎨 Fotos de perfil: Imagens não quadradas mantêm o formato circular em todas as telas, sem deformações

Desenvolvimento ​

  • 🔒 API do app: Endpoints de escolas, turmas e salas virtuais da API v3 filtram pelo vínculo do usuário - cada perfil vê apenas os próprios recursos, sem expor a rede escolar inteira
  • 🔧 Migrations: Migrations antigas consolidadas em um único arquivo, simplificando o histórico do banco

Outros ​

  • 🐛 Chat da Biblioteca: Assistente DuduQ volta a responder no chat da Biblioteca, sem o erro "conversa não disponível"
  • 🐛 Formulários de escola, empresa e município: Botões Voltar e Cancelar passam a respeitar a página de origem do usuário, também após salvar

Dia 24 ​

Atividades ​

  • 🆕 Visualização de questões: Detalhes da questão agora abrem em modal moderna com cards de alternativas e metadados (nível, habilidades, disciplina), skeleton durante o carregamento e tooltips corrigidos

Outros ​

  • 🎨 Filtros das tabelas: Drawer de filtros substituído por painel lateral ancorado à direita, com badge de filtros ativos e ações Limpar/Aplicar

Dia 23 ​

Relatórios ​

  • ✨ Relatório de Turma: O relatório individual (e o resumo gerado pela IA) agora é gerado diretamente do banco de dados analítico ClickHouse, sem depender do cache do relatório — as informações ficam sempre atualizadas.

Dia 18 ​

Atividades ​

  • 🐛 Gabaritos SAEB com duas disciplinas: Cada lado do gabarito agora exibe o nome da própria disciplina, na tela e no PDF - antes os dois lados apareciam com o nome da primeira matéria
  • 🐛 Revisão de correção de redações: O lápis "Revisar correção" só aparece depois da correção e abre as notas e o feedback já preenchidos, sem mais permitir editar o texto do aluno
  • 🐛 Correções em atividades: Atividades direcionadas a alunos específicos agora aparecem na dashboard do aluno (na lista e nos contadores); clicar na aba já aberta da sala virtual não trava mais o carregamento; e o botão "Editar Questão" só aparece para quem tem permissão de editar
  • 🐛 Questões com IA: O fluxo recomeça do zero ao reentrar ou voltar da etapa de revisão - questões antigas não ficam mais "presas" e a contagem respeita a quantidade pedida (10 pedidas, 10 entregues); a tela vazia após apagar todas as questões agora oferece um recomeço limpo; e ao salvar, as questões com falha permanecem na tela com o motivo do erro para nova tentativa

Desenvolvimento ​

  • 🔧 Regras e guias internos de desenvolvimento assistido por IA atualizados e expandidos

Dia 17 ​

Salas Virtuais ​

  • 🎨 Tela Pessoas modernizada: Listagens de professores e alunos no padrão de tabelas da plataforma, com contadores de registros e botões "Adicionar" no lugar dos ícones

Atividades ​

  • 🐛 Créditos de IA: Município sem saldo recebe aviso imediato ao gerar questões com IA (antes, ficava num carregamento infinito); se a geração falha depois da cobrança, os créditos voltam automaticamente para o município; e o preço passou a ser proporcional à quantidade de questões geradas

Desenvolvimento ​

  • 🔧 Makefile do ambiente de desenvolvimento compatível com macOS

Outros ​

  • 🔒 Preferências de cookies: Novo fluxo completo de consentimento - cada pessoa escolhe quais categorias autoriza (essenciais, funcionais, analíticos e marketing), pode consultar e alterar a decisão depois pelo botão de preferências, o histórico fica registrado (LGPD) e integrações como Google Analytics, PostHog e Sentry só iniciam conforme o consentimento. No celular, as preferências abrem como um painel arrastável

Dia 16 ​

Relatórios ​

  • 🐛 Resumo com IA nos relatórios: Gestores de Escola e Supervisores de Município voltaram a conseguir gerar resumos e conversar com o assistente de IA nos relatórios de Turmas, Escolas e Município

Usuários ​

  • ✨ Perfil do aluno renovado: Gráfico de desempenho em linhas por disciplina (nota em cada ponto, nome da atividade ao passar o mouse), histórico completo de atividades com escola, turma, nota e situação, e histórico de transferências entre turmas - o histórico permanece fiel mesmo se a escola ou a turma forem renomeadas ou descartadas depois
  • 🐛 Convite de professores por planilha: Mensagem "Professores convidados!" volta a aparecer como modal, sem quebrar o layout da listagem, e é possível reabrir a tela de convites sem recarregar a página

Desenvolvimento ​

  • 🔧 Professores não podem mais ser vinculados duas vezes à mesma disciplina, com restrição no banco de dados e limpeza dos vínculos duplicados existentes

Outros ​

  • 🐛 Modais: Correção de erro de JavaScript que podia quebrar o fechamento de modais ao navegar entre telas
  • 🐛 Biblioteca: Remover todas as permissões de série de uma mídia não trava mais a tela de configurações

Dia 15 ​

Salas Virtuais ​

  • 🐛 Salas virtuais no app mobile: Correção do sumiço de turmas e salas virtuais quando o professor alternava entre Educação Infantil e Ensino Regular na web - o app agora exibe sempre todas as turmas do professor, de ambos os segmentos.
  • 🎨 Fórum: Painel de Interações simplificado - removidas as opções de ordenação que não funcionavam como esperado, o ranking agora mostra a quantidade de interações ao lado de cada usuário e os tópicos fixados mantêm prioridade em qualquer ordenação

Atividades ​

  • 🐛 Questões com IA: Modal de reformulação agora mostra as informações reais da questão - dificuldade correta, disciplina e o objetivo (tema central) - em vez de valores fixos que valiam para qualquer questão

Desenvolvimento ​

  • 🔧 Porta interna do Postgres no Docker agora pode ser igual à porta externa no ambiente dev
  • 📝 Guia interno de profiling de performance em desenvolvimento com rack-mini-profiler

Dia 14 ​

Relatórios ​

  • ✨ Relatório comparativo de escolas: Relatório comparativo de escolas gerado a partir do banco de dados clickhouse, removendo a necessidade de cachear as informações do relatório, sendo constantemente atualizado.
  • 🏗️ Relatório pedagógico analytics reescrito com Active Record no lugar de queries SQL cruas, deixando o código mais simples e manutenível

Usuários ​

  • 🆕 Chaves de primeiro acesso por e-mail: Quem convida aluno agora recebe por e-mail a chave de acesso (no convite individual) ou a planilha só com os alunos criados (na importação em lote), sem precisar baixar manualmente. Convites são bloqueados se o responsável não tiver e-mail
  • 🐛 Inserção de professores: Professor recém-convidado agora aparece na listagem da escola (ordenado pelo vínculo mais recente), e o botão cancelar do modal de vínculo com turma não prende mais o usuário entre dois modais

Desenvolvimento ​

  • ⚡ Missão Performance de Testes: Instalação de ferramentas de profiling (StackProf) e correções globais - diagnóstico apontou que 75% do tempo dos testes ia para conexões de banco e BCrypt, com custo de hash ajustado no ambiente de teste
  • ⚡ Missão Performance de Testes: Otimização das suítes mais lentas - specs de policies com queda de até 70% no tempo (ex.: ScheduledExams::ModelPolicy de 3,4s para 1s) e 44% menos chamadas de factories
  • 🏗️ Observabilidade: Nova telemetria da aplicação com logs estruturados em stdout e exportação de traces via OpenTelemetry para diagnóstico de infra
  • 🏗️ Novas variações de modal para mobile nos formatos "bottom sheet" e "tela cheia", com melhor acessibilidade
  • 🔧 Listagem de Google IDs simplificada com remoção da coluna Professor, que nunca era preenchida
  • 🧪 Testes automatizados para o relatório de turma
  • 🔧 Rake task de manutenção que remove registros duplicados de professor-disciplina

Outros ​

  • 🎨 Biblioteca: Listagem de tags no padrão da plataforma, com filtros identificados e opção de limpá-los
  • 🐛 Não é mais possível criar gêneros com nomes duplicados na biblioteca, com migração dos registros existentes
  • 🎨 Select box: Componente agora suporta opções agrupadas e subtextos, e a criação de turmas virtuais permite associar múltiplos professores de uma vez
  • 🐛 Análise com IA: Modal de correção com layout ajustado para aproveitar a largura disponível e correção na identificação do usuário na cobrança de créditos
  • 🎨 Modais de configuração: Padronização das telas de configuração da empresa com melhor navegação por teclado e suporte a mobile
  • 🎨 Dashboard de gestão: Gráficos do supervisor padronizados com o visual do professor, com paginação e barras adaptáveis

Dia 11 ​

Desenvolvimento ​

  • 🔧 Painel admin (Avo): Novas páginas de auditoria e um console de análise de sessões de acesso do ambiente de produção

Dia 10 ​

Atividades ​

  • 🐛 PDF do Saresp: Questões agora aparecem depois da capa e a numeração de páginas e questões continua de onde a seção anterior parou

Usuários ​

  • ✨ Migração de alunos entre turmas: Novo aluno transferido não perde o histórico nem leva respostas duplicadas - as respostas das atividades que a nova turma também vai aplicar são levadas junto, e atividades já feitas na nova turma têm prioridade para a resposta mais recente

Outros ​

  • 🐛 Dashboard: Correção de gráficos que desapareciam na tela Gráficos do professor ao navegar entre páginas
  • 🎨 Logo do DuduQ com tamanho e alinhamento corretos na tela de login e no menu lateral, incluindo o ícone da aba do navegador

Dia 9 ​

Atividades ​

  • 🐛 Questões diagramáveis: Professor agora escreve com a mesma liberdade das questões normais (antes o texto era cortado num limite menor) e as alternativas sempre aparecem na ordem correta ao editar
  • 🐛 Criação de atividades com banco de questões: Correção de três bugs na etapa de revisão que faziam questões sumirem ao voltar para a última etapa e a criação falhar sem aviso

Relatórios ​

  • 🐛 Chat com IA no relatório pedagógico: Correção do chat no relatório analytics, que quebrou após refatorações e a migração para o ClickHouse

Usuários ​

  • 🆕 Novo filtro de ano escolar na tela de turmas da API mobile

Desenvolvimento ​

  • 🔒 Proteção de dados em logs: Instalação do logstop, que impede que dados sensíveis (senhas, tokens) apareçam nos logs
  • 🔒 Anonimização de IPs: Endereços IP passam a ser mascarados nos registros, preservando geolocalização sem permitir identificação individual (LGPD)

Outros ​

  • ✨ Filtros das tabelas: Alterações feitas na bandeja de filtros não são mais perdidas ao fechar (Esc, X ou clique fora) e os itens já selecionados aparecem no topo dos menus
  • 🎨 Telas de escola, redação e atividade agendada: Informações reorganizadas no padrão visual atual - atividade agendada agora mostra turma e escola, com layout responsivo para nomes extensos
  • 🐛 Título colapsado: Correção do item de sidebar que permanecia "aberto" invisível ao trocar de tela na atividade agendada
  • 🎨 Ajustes de tipografia da plataforma

Dia 8 ​

Salas Virtuais ​

  • 🐛 Tópicos de atividade: Correção do carregamento infinito na Sala Virtual após excluir um tópico, e o tópico recém-criado durante o agendamento agora permanece selecionado automaticamente

Usuários ​

  • 🐛 Transações dos admins: Correção do erro 500 na consulta do histórico de transações quando existia transação sem custo calculado - agora exibe um traço até o valor ficar disponível

Desenvolvimento ​

  • 🏗️ Refatoração das controllers de criação e edição de atividades em PDF - código duplicado unificado em módulos, sem mudança de comportamento
  • 🏗️ Componentes de modal refatorados com header e footer próprios, suporte a ícones/avatares e layouts mais flexíveis

Outros ​

  • 🐛 Menus de opções: Correção de popovers (menu do usuário na sidebar e similares) que paravam de funcionar depois de navegar entre telas
  • 🐛 Dashboard: Correção de erro ao sair da tela com gráficos para outra página
  • 🎨 Formulários multi-etapas: Loading no botão de envio, animação de erro nos campos mais perceptível e correção na edição de coleções da biblioteca

Dia 4 ​

Atividades ​

  • 🎨 Criação de Atividade: Adicionado ícone de erro no stepper da criação de atividade com banco de questões e tratamento visual dos steps com erro.
  • ✨ Validação da Etapa 2: Limpeza automática do estado de erro no stepper assim que os campos obrigatórios (nome da atividade e disciplina) forem preenchidos.
  • ✨ Dashboards do aluno e do professor: Listagem de atividades com scroll infinito - as próximas atividades carregam automaticamente ao rolar, sem paginação e sem recarregar a página

Desenvolvimento ​

  • 🔧 Atualização de 6 gems de desenvolvimento, incluindo Brakeman e SimpleCov

Outros ​

  • 🎨 Formulários e modais: Melhorias gerais de usabilidade - opções padrão mais úteis (ex.: prova presencial), textos e placeholders instrutivos, botões que ficavam cortados e validação com bordas vermelhas e mensagens em português

Dia 3 ​

Relatórios ​

  • 🐛 Exportação de relatórios comparativos: Correção de travamento na exportação para PDF - os gráficos agora são preservados no arquivo gerado e cliques repetidos no botão exportar não iniciam múltiplas exportações simultâneas
  • 🐛 Chat com IA no relatório pedagógico: Correção na geração de dados para o contexto do chat com assistente virtual dentro do relatório pedagógico, que não estavam sendo gerados corretamente, resultando na ausência de informações no resumo do relatório.

Pedidos ​

  • 📊 Métricas da Plataforma (EduQ Brasil): Levantamento solicitado pelo cliente com a quantidade de questões do repositório Brasil Cultural, municípios ativos, escolas ativas em municípios ativos, alunos ativos, usuários ativos, atividades agendadas no ano corrente e questionários socioeconômicos respondidos
  • 📊 EduQ Corrige: Levantamento da quantidade de correções realizadas no ano corrente
  • 📊 Biblioteca: Levantamento do acervo total de mídias, detalhado por tipo (livros, áudios, vídeos, apresentações e jogos)

Desenvolvimento ​

  • 🏗️ Formulários: Padronização da propriedade form (no singular) em todos os componentes visuais de formulário, eliminando a ambiguidade entre form/forms que facilitava erros

Dia 2 ​

Atividades ​

  • 🎨 Melhorias no layout e na paginação da página de Atividades em Lote
  • 🏗️ Banco de Questões: Refatoração dos filtros do passo 3 de criação de atividades - de quebra, corrigiu bugs de cards duplicados na rolagem infinita e da tela de review renderizada duas vezes

Desenvolvimento ​

  • 🐛 Ícones: Correção de ícones SVG com gradientes renderizando com cores erradas quando o mesmo ícone aparece várias vezes na mesma página
  • 🔧 Atualização de 22 dependências JavaScript de produção, incluindo correções de segurança no editor de texto Tiptap
  • 🔧 Atualização das GitHub Actions utilizadas no CI/CD

Dia 1 ​

Atividades ​

  • 🎨 Atividades em Lote: Melhorias visuais e de usabilidade - tabelas com o novo componente padrão, filtros dinâmicos por escola e turma, nomes das atividades agora são links clicáveis, formulário de edição em lote mostra exatamente quais agendamentos estão sendo editados e há aviso em destaque ao agendar um lote sem atividades
  • 🐛 Redação: Correção do desalinhamento no modal de finalização da atividade de redação e centralização da tela de resposta finalizada

Relatórios ​

  • 🐛 Questionário Socioeconômico: Correções de navegação e filtros - indicadores de alunos respondentes alinhados, botão de filtros permanece disponível mesmo quando a pesquisa não retorna resultados e é possível limpar a pesquisa sem perder o contexto da escola selecionada

Certificados ​

  • 🐛 Correções no fluxo de geração de certificados

Usuários ​

  • 🐛 Correções na tela de login - cursor de clique no botão "Entrar" e layout da mensagem de cookies no mobile

Outros ​

  • 🎨 Redesign do popover de ações das tabelas, agora padronizado em todas as listagens da plataforma