- Navios
- 5 de setembro de 2026 às 16:14 UTC
- Autor
- Kamo
- Enviar
- b46d317
PersonalProviderSection estava andaimes que nada renderizado, e não iria funcionou se tivesse: leu GET /member/{id}, uma rota que não existia, então falhou ao abrir; ofereceu um botão Adicionar para Google e Microsoft que POSTOU um linha sem credenciais, produzindo uma conexão que nunca poderia sincronizar; sua alternância bidirecional enviada em que a coluna é bidirecional, assim o comutar movido e nada foi armazenado; e tinha um "Unificar com a organização" mudar para um campo ContactIntegration não tem, que o serviço deixou cair Cada escrita. Agora ele lista o que um membro tem conectado com seu estado de sincronização real, conecta o Google e Microsoft através do fluxo OAuth, toma uma URL e senha para iCloud e servidores personalizados, e diz quando uma conexão não possui credencial -- qual o muda sozinho não pode, e que é a diferença entre "off" e "not can trabalho". O interruptor Unify desapareceu em vez de ser falsificado: não há onde guardá-lo, e um interruptor que silenciosamente persiste nada é pior do que nenhum interruptor. DavOAuthConnect ganha um escopo em vez de ser copiado. Tudo o que tem de difícil -- um callback sobre outra origem, um popup que não pode relatar seu próprio resultado, o re-read que é o único sinal confiável -- é idêntico para um membro e para uma organização, e uma segunda cópia iria derivar exatamente sobre as partes ninguém Reler. No escopo do membro ele adiciona ?member=true e o servidor leva o membro da sessão, então o painel não pode se dirigir a mais ninguém. Vive na gaveta de preferências do calendário. O tópico de configurações de email é fechado em MANAGEM EMAIL SETTINGS, então colocando calendários pessoais lá teria Escondi-os de quase todos os que têm calendários. Último na gaveta e atrás de um divisor: cada bloco existe uma preferência que o painel possui, enquanto este autoriza um terceiro e pode falhar de forma que o membro tenha que agir. Caminhos chave são literais e o espaço de nomes está em linha. check-i18n-keys resolve useTraduções('<literal>') e desista do usoTraduções(SOMETHING) -- e desistir significa ignorar cada chave no arquivo, não apenas uma, então um const lá teria deixado os trinta sem controlo. Alcançar t através de um árbitro para mantê-lo fora de as dependências do carregador escondem um local de chamada do guarda da mesma forma, então o O carregador define uma bandeira e o renderizador traduz- a.