- Navios
- 27 de abril de 2026 às 21:33 UTC
- Autor
- kamo
- Enviar
- d16d5b9
Página de histórico (SoftphoneHistoryTab.tsx): - Rolo infinito via IntersectionObserver dentro do recipiente de rolagem do painel - Chips de filtro: Tudo / Entrada / Saída / Falta / Gravado - Ícone de gravação em ações de linha quando o lado de imagem tem uma linha de gravação - Menu de transbordamento por linha (Adicionar aos contatos) - Click-to-call back via discad existente Página do correio de voz (SoftphoneVoicemailTab.tsx): - Pergaminho infinito, chips de filtro (Tudo / Não lido / Tem áudio) - Por- linha Jogar / Chamar de volta / Mais ações - Auto-marcar-ler em jogo - Diálogo de exclusão de duas opções: Arquivo (soft- hide, todos os usuários) vs Delete Permanentemente (aberto por VOIP VOICEMAIL PERMANENT DELETE right; retorna ao estado desativado para usuários sem ele) - Botão de marca-tudo-ler sem-op-quando-zero affordance Ferramenta de contexto do MediaPlayer **************************** - Áudio: purificador sintetizado em forma de onda, clique-para-procura, Replay10/Forward10, taxa de reprodução (0.5x-2x), loop, volume + mudo, dispositivo de saída homenageado a partir de configurações AV - Vídeo: viewport contido, PiP, tela cheia, mesmo limpador + controles - Selector de várias faixas para gravações de chamadas (master + cada perna por canal) - Transferir - Dois modos de origem: gravação voipApi (call/VM) ou recurso de imagem por imgId - Registrado em ferramentas/registo/registos.ts como multi-instanciamento Gancho + canalização: - useSoftphone expõe histórico paginado + mensagens de voz (loadMore, hasMore, isLoading) e ações de arquivo / permanente- delete - voipApi ganha pesquisaGravações, getRecordingMetadata, archiveVoicemail, paginated getVoicemails - /api/voip proxy passa áudio/vídeo/octet-stream corpos através de ********** intacto (sem buffering) assim que os elementos de mídia esfregar - Novo **************** ***para o novo ponto final de transmissão da DocsService com o Range - VOIP VOICEMAIL PERMANENT DELETE adicionado ao frontend RoleRightType registry assim que checkRight gates the delete UI