- Navios
- 14 de agosto de 2026 às 23:20 UTC
- Autor
- kamo
- Enviar
- a2db801
Disparar um som leu um contexto, que fez cada local de chamada POSIÇÃO NA TREE parte da sua correcção. Um componente renderizado acima do SoundProvider obteve um no- op e Não fez barulho — e isso é o pior fracasso possível para esta característica, porque o silêncio é exatamente o que um "off" configurado corretamente produz. O erro é invisível da mesma forma que o tom que causa. Então a pilha resolvida agora vive em lib/som/somStore, um módulo singleton, e O trabalho do provedor é mantê-lo atual em vez de distribuí-lo. playEventSound é importável de qualquer lugar e comporta-se de forma idêntica onde quer que esteja chamado — acima do provedor, abaixo dele, ou de um callback socket registrado antes Montava. Sem provedor em tudo ele reproduz o catálogo padrão, que é o degradação honesta: uma página não autenticada não tem nenhum membro cujas preferências se aplicam. Isso também elimina uma expressão. usePlaySound desapareceu: um gancho que não lê nenhum contexto e nenhum estado não é um gancho, é uma função simples usando a forma de um gancho, implicando a semântica da assinatura não tem. E todos os sítios de chamadas seguravam-no. em um ref com um comentário explicando que o callback função do render — verdadeiro quando veio de um contexto, falso o momento em que faz Não. Quinze arquivos perdem o árbitro, o hook call e o comentário agora errado. Também aqui: - A desmontagem flush in useSoundLayerDraft dependia de 'flush', cuja identidade muda com a camada, ou seja, em cada tecla. Cada re-run limpou o pendente temporizador e escreveu imediatamente — transformando o debulhamento em um PUT por mudança, o exatamente o que existe para prevenir, e silenciosamente: as configurações ainda salvas, apenas 40 vezes em vez de uma. Realizado em um árbitro, depende de [] agora. - Ambos os interruptores têm nomes acessíveis explícitos. Suas etiquetas visíveis estão no irmão colunas, então um leitor de tela anunciou cinquenta alternâncias não marcadas em uma linha. - Código morto removido: CATEGORY ICON, categoryCounts, eventsInCategory, isAudioDesbloqueado, closeAudioContext e EventSoundEditor's hideMaster prop, Que ninguém nunca passou. 16 novos testes cobrem o que a loja decide, porque cada regra que aplica produz Silêncio e silêncio é indistinguível de "corretamente desligado" a menos que algo afirma sobre ele: janelas do acelerador (incluindo que um evento mudo não gasta orçamento próprio), a regra já olhar e sua escotilha de escape de força, mestre e volume por chamada, teclas desconhecidas, e jogando sem configurações carregadas. Gates: tsc limpo, 1867 teste passar, compilação próxima compilação, i18n guarda limpo.