Repository navigation
Open
Labels
frontendtarefa que diz respeito ao frntend da aplicaçãotarefa que diz respeito ao frntend da aplicação
Milestone
Description
T-331 - Reproduzir ao auditor o áudio das entradas por voz
- Componente:
frontend. - Depende de: T-336 (aba "Conversa e Python" do dossiê), T-332 (mockup do reprodutor) e T-330 implantada, porque é ela que devolve o áudio.
- Data máxima: 18/11/2026
- Estimativa: 3 pontos (Fibonacci)
Entregável
- Reprodutor do áudio em cada entrada por voz do dossiê da regra, inicial ou de correção.
- Estados de carregamento, de erro e de áudio indisponível.
- Testes do reprodutor.
Descrição
O auditor precisa ouvir o áudio enviado pelo usuário para conferir a transcrição. A PO decidiu isso na T-314. A T-330 cria a rota GET /auditoria/jobs/{id}/entradas/{entradaId}/audio, e a área do auditor, criada na T-307, não toca o áudio. Esta tarefa acrescenta o reprodutor às entradas por voz do dossiê da regra, na entrada inicial da aba "Regra e versões" e nas mensagens da aba "Conversa e Python", conforme o mockup da T-332.
Contexto e decisões tomadas
- A rota exige o token da sessão, que só existe em memória. Por isso o elemento de áudio não aponta direto para a URL da rota: o cliente HTTP baixa o áudio, e o reprodutor toca o arquivo baixado.
- O áudio só é baixado quando o auditor pede para ouvi-lo, e não ao abrir o dossiê, porque cada entrada chega a 5 MB.
- O cliente HTTP (
src/services/http.ts) só trata respostas JSON. A leitura de resposta binária é acrescentada nele, e por ser arquivo quente vai num PR próprio, antes do PR da tela. - O áudio é dado pessoal do usuário. Nenhum log, evento de telemetria ou mensagem de erro inclui o conteúdo.
Escopo
Dentro do escopo
- A leitura binária em
src/services/http.ts, em PR próprio. - A chamada da rota em
src/features/auditoria/services/, o componente do reprodutor na featureauditoria, o uso dele nas duas abas do dossiê e os specs.
Fora do escopo
- O resto da área do auditor.
- Transcrever de novo ou comparar o áudio com a transcrição.
- As telas do profissional de RH.
Requisitos
- Acrescentar ao cliente HTTP uma leitura que devolve o corpo binário com o tipo da resposta, com o mesmo tratamento de sessão e de erro das demais requisições, em PR próprio.
- Na feature
auditoria, baixar o áudio da entrada pela rota da T-330 quando o auditor pedir para ouvir, criar a URL local do arquivo baixado e liberá-la ao sair da tela ou trocar de job. - Mostrar o reprodutor só nas entradas por voz, nos estados do mockup.
- Registrar as falhas do download pelo transporte de telemetria existente, com nome de operação fixo e código de erro, sem o conteúdo nem a URL com identificadores.
Contexto técnico
- Entradas: as entradas da consulta de auditoria e o áudio devolvido pela T-330.
- Saídas: o reprodutor nas entradas por voz do dossiê.
- Componentes afetados:
src/services/http.tse a featuresrc/features/auditoria/. - Restrições: nenhuma importação de outra feature; nenhum token fora da memória; nenhum conteúdo do áudio em telemetria.
- Referências:
frontend/AGENTS.md,src/features/README.md,contracts/http/openapi.yaml, T-330, que define a rota.
Critérios de aceitação
- Uma entrada por voz toca o áudio gravado, e as entradas de formulário e de texto não mostram reprodutor.
- O áudio só é baixado depois que o auditor pede para ouvi-lo.
- Uma falha no download mostra o estado de erro do mockup, sem detalhe interno.
- Trocar de job não toca nem mantém o áudio do job anterior.
Definição de concluído (DoD)
make checknofrontendsem falha nos dois PRs.- Specs do reprodutor nos estados de carregamento, erro e reprodução, e da leitura binária no cliente HTTP.
- Uso no navegador contra a API local, com uma entrada por voz inicial e uma de correção.
- Emissão da telemetria das falhas conferida no navegador; a coleta ponta a ponta é informada como verificação separada.
Metadata
Metadata
Assignees
Labels
frontendtarefa que diz respeito ao frntend da aplicaçãotarefa que diz respeito ao frntend da aplicação
Activity