Skip to content

Frontend: integrar organizações, ajustes de tempo, calibração e importação ICPC recém-entregues #233

Closed

Description

@matbrgz

Resultado da revisão de 15–16/09

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.

Entrega de interface

Critérios comuns

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.

Activity

  1. matbrgz commented on Sep 16, 2026

    @matbrgz
    MemberAuthor

    As quatro entregas de interface estão em master:

    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:

    Continua aberto o #224 (recuperação de falha, navegação e polimento final).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions