# Release — Sprint 26 **Data:** 2026-08-02 ## Versões | Projeto | Versão | |----------------|--------------| | Admin | 3.3.15 | | DoncMobile.App | 3.6.4 (69) | | DoncMobile.API | 3.5.11 | | WebHubDonc | 2.4.14 | | Servico | 3.0.30 | | ApiV2 | 3.0.29 | ## Release Notes ### Admin — v3.3.15 - **[fix]** Simonetti — Botão Importar no Cadastro de Profissionais não carregava (arquivos não incluídos no .csproj) (@jessica) - **[fix]** Grid Saídas — Encaminhar por profissional criava nova rota para cada OS do grupo (@jessica) - **[fix]** Grid Saídas — Encaminhar com parceiro+profissional falha quando rota já tem o mesmo parceiro alocado (@jessica) - **[improvement]** Layout Admin — Ajustes visuais de colunas no Grid de Saídas e Grid de Pedidos (word-wrap, larguras, data/hora em duas linhas) (@jessica) - **[fix]** Grid Saídas — Botões misturados no modal de ações em lote; texto "Fechar" padronizado (@jessica) - **[fix]** Monitor de Gatilhos removido indevidamente do menu de Perfil do Usuário SU (@tiago) - **[feature]** Berlanda — Aviso de período longo (>30 dias) antes de disparar busca/exportação no Relatório de Jobs por Parceiro (@tiago) - **[fix]** Cybelar — Colunas "Estabelecimentos" e "Tipo" da grid de Rotas exibiam texto sobreposto ou com quebra incorreta de palavra #3039 (@tiago) ### Servico — v3.0.30 - **[fix]** FilaCriacaoPedido — WebHooks.StatusChanged não era disparado ao criar nova OS automaticamente via fila (@jessica) - **[fix]** ReferenciaRota enviada via fila era ignorada — Saida criada sem campo Referencia no banco (@jessica) - **[fix]** ValidarMinimo rejeitava TipoJobId e FormaPagamentoId zerados na fila de integração, divergindo do endpoint síncrono (@jessica) - **[fix]** Cybelar — Replicação de valores: OS de Montagem gerada automaticamente não herdava ValorPagarProfissional da Desmontagem #3015 (@tiago) - **[fix]** Cybelar — Fallback de busca de produto por nome não filtrava por ContratoSaasId, permitindo associar produtos de outros clientes (@tiago) ### WebHubDonc — v2.4.14 - **[feature]** Integração MMS — Endpoints `/mms/ocorrencia` e `/mms/checklist` com autenticação por cliente via WebhookApiKey no banco e rastreio completo em ApiLogs (@jessica) - **[feature]** MMS — Comissão do parceiro calculada corretamente no encaminhar-mms via ComissaoCalculadora (@jessica) - **[fix]** CS0841 — variável `saida` usada antes de declaração em MmsImprodutivosService impedia compilação (@jessica) ### ApiV2 — v3.0.29 - **[fix]** Koerich — Novas OS criadas via integração eram encaminhadas automaticamente para profissional único do parceiro, sem permitir encaminhamento manual #3018 (@tiago) ### DoncMobile.App — v3.6.4 (69) - **[fix]** Koerich — Crash ao capturar foto no RelatorioProblema (race condition em EF Core + redeclaração de IsLoading violando BaseViewModel) #2988 (@jessica) ### DoncMobile.API — v3.5.11 - Sem alterações ## Guia de Testes — QA ### Ambientes | Projeto | Onde testar | |----------------|------------------------------------| | Admin | admin.teste.donc.com.br | | WebHubDonc | webhub.teste.donc.com.br | | Servico | logs do serviço em teste | | ApiV2 | apiv2.teste.donc.com.br/swagger | | DoncMobile.App | build interno (apk alfa) | | DoncMobile.API | apimobile.dev.donc.com.br | ### Admin - [ ] Simonetti — Testar botão Importar na tela de Profissionais (Motoqueiros): deve abrir o modal sem erro 404 - [ ] Grid Saídas — Encaminhar rota agrupada selecionando profissional específico: verificar que a rota original é preservada (não cria novas rotas por OS) - [ ] Grid Saídas — Encaminhar com parceiro+profissional em rota que já tem o mesmo parceiro: deve atualizar o profissional sem erro silencioso - [ ] Grid Saídas — Abrir modal de Encaminhar, depois de Juntar, depois de Cancelar: verificar que apenas o botão da ação selecionada aparece e o botão de fechar sempre diz "Fechar" - [ ] Grid Saídas e Grid Pedidos (layout novo) — Verificar colunas: Estabelecimento e Referencia com word-wrap, datas em duas linhas, Opcoes com espaço suficiente para botões - [ ] Usuário SU — Verificar que menu de Perfil do usuário (dropdown do avatar) não exibe links de Monitor/Saúde dos Gatilhos - [ ] Berlanda — Relatório de Jobs por Parceiro: selecionar período >30 dias e verificar que aparece popup de aviso antes de buscar/exportar - [ ] Cybelar — Grid de Rotas: verificar colunas "Estabelecimentos" e "Tipo" com texto legível, sem sobreposição e sem quebra no meio de palavras ### Servico - [ ] Fila de criação de OS — Criar OS automaticamente via fila e verificar que WebHooks.StatusChanged é disparado (checagem em PostSchedule ou gatilhos de clientes) - [ ] Fila Cybelar — Criar OS com ReferenciaRota preenchida via fila e verificar que o campo Referencia é salvo na Saida - [ ] Fila Lojas MM — Enviar job sem TipoJobId e sem FormaPagamentoId: deve processar corretamente com auto-fill, sem rejeitar com "FormaPagamentoId é obrigatória" - [ ] Cybelar — Criar OS de Desmontagem com valor e verificar que a OS de Montagem gerada automaticamente herda o ValorPagarProfissional corretamente - [ ] Cybelar — Verificar que produtos na integração são associados apenas ao próprio contrato (sem mistura com outros clientes) ### WebHubDonc - [ ] MMS/Sipolatti — Disparar evento de ocorrência via MMS e verificar que o endpoint recebe, autentica via WebhookApiKey do ContratoSaas e registra dois logs em ApiLogs (entrada + rastreio) - [ ] MMS — Verificar no ApiLogs que os campos EstabelecimentoId e Processada=true são gravados corretamente - [ ] MMS — Encaminhar OS via encaminhar-mms e verificar que ValorMontagem enviado reflete a comissão calculada pelo ComissaoCalculadora (não ValorPagarProfissional bruto do banco) ### ApiV2 - [ ] Koerich — Criar nova OS via integração para parceiro com 1 profissional ativo: verificar que OS chega com status "Aguardando Profissional" (não encaminhada automaticamente) ### DoncMobile.App - [ ] Koerich — App — Abrir Relatório de Problema, tirar foto, retornar à tela: verificar que não há crash e foto é salva normalmente - [ ] Repetir a ação de foto múltiplas vezes na mesma sessão: verificar que não há crash acumulado