- Navios
- 5 de setembro de 2026 às 06:32 UTC
- Autor
- Kamo
- Enviar
- bac56fe
O botão de alerta levantado (' Fluxo OAuth ainda não implementado - configure credenciais manualmente através da API'). Agora abre o verdadeiro Google Workspace / Microsoft 365 fluxo de consentimento e relata o que voltou. O limite da confiança é a parte interessante. O popup completa na chamada de retorno registrado no próprio console do provedor, que é servido no host API -- a origem diferente desta janela -- por isso a sua pós-Mensagem normalmente falha na origem verificar e o resultado é aprendido com o popup simplesmente fechando. Um sinal que carrega nenhum resultado nunca deve ser lido como um sucesso, então cada caminho termina perguntando o servidor o que ele realmente armazenado: um membro que fecha a tela de consentimento é não mostrou nenhuma ligação. O painel também incorpora OrgOAuthAppSection, então o aplicativo conecta através é visível e editável aqui, e é o registro SAME a aba Configuração do Provedor lê. Três correções encontradas durante a fiação, todas nesta aba: - Um laço de renderização. O carregador de status dependia de `t`; useTranslations() não promete uma identidade estável entre renders, de modo que o carregador foi recriado, Efeito redisposto, definir estado, e girar novamente. Nada aqui guarda 't' através de um callback now -- um problema é transportado quer como formulação o serviço escolhido ou como uma das quatro chaves chamadas. - A guia errou em todas as cargas. GET /org respostas 204 para uma org sem integração, e contact integrations é um cluster vazio, então res.json() jogou no corpo vazio e em todas as visitas levantadas "Falha em carregar configurações de integração". - O interruptor de duas vias de sincronização nunca reflectiu o que foi armazenado: leu 'bidirecionalSync' onde a linha carrega 'bidirecional'. Lê ambos, envia o Uma coluna tem o seu nome. A barra de sincronização ao lado imprimiu seu serviço em bruto (IDLE / SYNCING / ERROR) com uma "Última Sincronização:" codificada e nunca mostrou a mensagem de erro da linha -- então um chip ERROR disse a um membro que algo estava errado e não lhes deu nada para agir. Ele agora nomeia os estados e mostra a razão, e Sync agora re-leia a linha Só começou. O inglês da aba que permanece em código rígido também está traduzido. Caminhos chave são soletrados na íntegra em cada local de chamada em vez de construído a partir de um prefixo compartilhado const: scripts/check-i18n-keys.mjs resolve um t literal('a.b.c') e um modelo cuja parte estática vem em primeiro lugar, mas não consegue ver através t(`${KEYS}.c`) -- verificado quebrando uma chave atrás de tal prefixo e observando o O guarda ainda se apresenta limpo. Atrás de um desses, todas as 15 novas chaves teriam enviado sem proteção, e um erro de digitação renderiza como um caminho de chave cru na tela.