- Navios
- 7 de setembro de 2026 às 23:15 UTC
- Autor
- Kamo
- Enviar
- ebfe26f
Três defeitos atrás de um relatório: a aba do navegador alertado para um não lido notificação enquanto o sino ficou escuro, e clicando linhas em / notifications foi para a página inicial. O sino nunca poderia acender. MemberListProvider não se limita a embrulhar o seu crianças — torna <NavTop> como um SIBLING deles. Notificação O provedor foi escrito dentro dele, então NotificationBell chamado useNotifications() de fora O seu próprio fornecedor. Esse gancho falha suave pelo design, porque NavTop também renderiza em superfícies pré-auth onde um sino em falta não deve tirar a página, por isso resposta não lidaContagem: 0. O distintivo era invisível, kamo-bell-ring nunca foi aplicado e o ícone nunca preenchido — estruturalmente, para cada membro, sem erro em qualquer lugar. O que o escondeu é que TabAttention lê o gancho SAME de dentro do provedor, assim a aba do navegador funcionou perfeitamente o tempo todo. Um membro vê a sua página flash e seu sino sentar imóvel, e cada instinto diz que o sino é quebrado Em vez disso, está no lugar errado na árvore. Esta é a segunda vez. esta forma tem custo real comportamento — o cais de ferramentas acima UnreadProvider foi o Primeiro — por isso é guardado agora em vez de comentado: o guarda também verifica premissa própria, por isso não pode começar a passar vagamente se NavTop se mover. Um click colocou um URL para coisas que não são lugares. deepLink é uma URL, e uma produtor sem lugar para apontar escreve a coisa mais próxima que o campo aceita: CHAT MESSAGE /?openChat={guid}&senderId={id} a página inicial CRESCIMENTO HUB / página inicial NOVA EMAIL / mensagem da aplicação correcta, não da mensagem LEAD CALLBACK / leads/view/{id} correcto A forma de bate-papo foi inventada para ligações EMAIL, onde uma chegada fria de fora tem nada além de uma URL para trabalhar com — UnreadChatNotifier diz assim onde ele constrói "O Chat não tem rota para apontar — a janela é uma ferramenta." Reutilizado na aplicação navega para casa para abrir uma janela que poderia ter aberto onde você estava, e DeepLinkToolBootstrap travas despachouRef para a vida de um monte que vive no shell persistente, por isso apenas o primeiro tal clique por página carga aberta Qualquer coisa. Growth Hub armazenado "/" porque widgetRegistry registra que ele não tem tela própria: o widget é o recurso. Assim, o navegador resolve um INTENT agora, não um URL. Uma conversa abre a sua janela de ferramentas no lugar sem navegação; uma revisão do Growth Hub vai para casa e a plataforma de lançamento pontos no painel; um caminho real navega; e "/" resolve- se para lado nenhum — o que também tira o chip "OPEN" que estava prometendo um destino que a linha poderia não entregar. E um click já não diz nada. Costumava marcar leitura e navegação uma moção — duas decisões tomadas a partir de um gesto ambíguo, e para os dois tipos que um membro realmente recebe mais, o resultado visível foi "minha notificação desapareceu e eu estou em outro lugar agora". Um clique abre NotificationDetailDialog em vez disso: nomeia o que a atuação faria, e deixa ambas as escolhas para o membro. Fechando-o é explicitamente o caminho mudado-meu-mente. Usar o destino faz marque-o lido, porque agir em uma notificação é a prova mais forte lá é que foi visto. Além disso: CRESCIMENTO HUB estava faltando da NotificationKind union do navegador enquanto o servidor já o estava escrevendo, então aquelas linhas não tinham chip de filtro e nenhum mudo — para um tipo cuja razão para existir é ser mutável por si só. E EmojiEvents/ReportProblem, os dois ícones GrowthHubService enviam, estavam ausentes do ICONS e voltaram silenciosamente. Verificado: 42 testes nas três novas suites, a verificação completa do tipo de recurso limpo, e todos os guardas verdes, incluindo o novo. Design em documentos/superpoderes/specs/.