Uma org sem telefone não deve abrir uma tomada de chamadas

Performancekamo-internal
Navios
26 de agosto de 2026 às 02:33 UTC
Autor
kamo
Enviar
a04da73

O softphone abriu sua conexão SockJS/STOMP para mídia. boot. getCapabilities () é esperado algumas linhas acima e é a própria resposta da infra- estrutura para "pode esta org atender chamadas", mas o socket foi montado fora do portão — assim um membro de uma org sem sistema de telefone configurado abriu a conexão mesmo, pagou seu /info XHR, e, em seguida, manteve aberto com um par batimento cardíaco a cada 20 s, por aba, para eventos que poderiam Nunca chegam. Está agora dentro `se (caps?.voicechamadas)`. Deliberadamente seu próprio bloco em vez de dobrado no portão SIP-credenciais acima dele: que um cedo-retorno quando a credencial buscar falha, e uma org habilitado para voz ainda deve obter o socket mesmo quando o registro poderia não ser estabelecido. A sequência de inicialização também obteve /api/user-info diretamente, tornando-o o sétimo independente chamador desse ponto final numa carga a frio — cada um um REDIS EXISTS + SETEX mais um SegurançaRecomputação dos direitos de serviço. Ele passa por loadUserInfoCompartilhado agora, o coalescer que já existia no usoUserInfo, exportado para chamadas fora do gancho. Alcançar a partir de um efeito simples em vez de consumir useUserInfo() é deliberado: o gancho adicionaria outro intervalo de atualização de 5 minutos e outro ouvinte para uma resposta softphone precisa uma vez, no arranque. Essa troca também corrige algo mais silencioso. A busca bruta não enviou nenhum X-***-Token, por isso inclinou-se no frasco de cookies em vez de nomear a sessão que este TAB detém; o carregador compartilhado lê O próprio símbolo da aba. E quando não há sessão agora retorna em vez de continuar — o caminho antigo transformou um corpo 401 em String (indefinido) e inicializou um softphone para membro "indefinido". Deliberadamente NÃO feito: colapso das cinco conexões STOMP em clientes compartilhados. Três ir para um URL idêntico e dois para outro, então há desperdício real lá, mas o soquetes de notificação e e-mail têm orçamentos de repetição materialmente diferentes e dar-se políticas — compartilhá-las tornaria as notificações estritamente menos resilientes para comprar alguns molduras. Isso precisa de um registro de conexão com a semântica per-subscriber retry, não uma mescla. Verificado: tsc --noEmit clean over useSoftphone, useUserInfo, SoftphoneContext e SoftphonePanel com suas importações transitivas; nenhum ciclo de importação introduzido; todos os 9 guardas passe, incluindo check-session-token-source; 29 voip e teste de sessão passe.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços