You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Frontend: integrar organizações, ajustes de tempo, calibração e importação ICPC recém-entregues #233
Os PRs #226, #227, #230 e #231 foram integrados enquanto a revisão #221–#224 era implementada. O backend já existe; faltam os fluxos administrativos que tornam essas operações utilizáveis sem chamadas manuais à API.
Identificar a competição/organização afetada, manter entrada após 422/falha de rede, tratar 401/403/419, impedir repetição ambígua, oferecer confirmação acessível para alterações de acesso/tempo e preservar privacidade dos testes/soluções. Teclado, 375/768/1440 px e ambos os temas. Não anunciar resolver disponível: ainda depende de #219.
A revisão #221–#224 entrega as correções transversais e a tela de preflight/revelação/finalização. Esta issue registra a integração das novas capacidades que chegaram depois da base inicial da auditoria.
Sobre o item que a issue nomeia em voz alta: o formulário do BOCA não foi reapontado. Ele continua em backend.import-boca, com BocaImporterService::importFromZip() e o campo boca_zip, trazendo uma competição inteira para o banco. O novo backend.import-package recebe contest_id + package e traz um problema para uma competição. Um teste lê o HTML do formulário do BOCA e verifica que a ação dele continua sendo a dele.
O "diagnóstico de pacote" pedido é uma conferência que roda antes de gravar — versão do formato, limites, casos de amostra e secretos, validador de saída, enunciado e soluções de referência, sem escrever nada no banco nem em disco. Um diagnóstico que só existisse depois de importar chegaria tarde: o problema errado já estaria na prova.
Dois defeitos saíram deste trabalho e foram consertados em separado:
Activity
Organizações e comparação de máquinas na interface (issue #233)
Organizações e comparação de máquinas na interface (issue #233) (#237)
Ajustes de tempo na operação da competição (issue #233) (#238)
Recusa caminho que sai do próprio pacote (issue #233)
Tela de importação de pacote ICPC/Kattis (issue #233)
Recusa caminho que sai do próprio pacote (issue #233)
Tela de importação de pacote ICPC/Kattis (issue #233) (#239)
matbrgz commentedon Sep 16, 2026
As quatro entregas de interface estão em master:
ContestControllerSobre o item que a issue nomeia em voz alta: o formulário do BOCA não foi reapontado. Ele continua em
backend.import-boca, comBocaImporterService::importFromZip()e o campoboca_zip, trazendo uma competição inteira para o banco. O novobackend.import-packagerecebecontest_id+packagee traz um problema para uma competição. Um teste lê o HTML do formulário do BOCA e verifica que a ação dele continua sendo a dele.O "diagnóstico de pacote" pedido é uma conferência que roda antes de gravar — versão do formato, limites, casos de amostra e secretos, validador de saída, enunciado e soluções de referência, sem escrever nada no banco nem em disco. Um diagnóstico que só existisse depois de importar chegaria tarde: o problema errado já estaria na prova.
Dois defeitos saíram deste trabalho e foram consertados em separado:
endEarly()arredondava a duração para cima e podia deixar a prova aceitando envios por mais 59 segundos depois de alguém mandar encerrar. Fechado em "Encerrar agora" encerrava até 59 segundos depois (issue #240) #241...em silêncio, o que pode trocar um caso de teste dentro do próprio pacote. Fica aberto; é pré-existente.Continua aberto o #224 (recuperação de falha, navegação e polimento final).
Rascunho não enviado pede confirmação, e a matriz de prontidão fica h…