Evitar linkificar quando há um redirecionamento

Se entendi corretamente, o Discourse está usando GitHub - markdown-it/linkify-it: Links recognition library with full unicode support para fornecer um link agradável com um título. Por exemplo, o link anterior fornece um título agradável GitHub - markdown-it/linkify-it: Links recognition library with full unicode support.

No entanto, tenho o seguinte problema: para acessar alguns dos links postados, você precisa estar autenticado em outra ferramenta (por exemplo, Jira, Google…). Então, o que acontece é que todos os links (e blocos para algumas das URLs transformadas) simplesmente mostrarão Login to support ou Meet Google Drive – One place for all your files[...], o que não é muito agradável.

Já existe algum recurso ou componente/plugin que permita testar previamente a URL e, caso haja um redirecionamento, não fornecer um título para a URL?

2 curtidas

Sim, nossa solução geral aqui é usar a configuração do site blocked onebox domains (domínios de onebox bloqueados).

Adicione todos os URLs internos que “exigem login” a essa lista.

Eu me pergunto, @nat/@codinghorror, se devemos adicionar uma configuração de “martelo de guerra” aqui.

block onebox on redirect (bloquear onebox em caso de redirecionamento) - essa configuração pode bloquear completamente qualquer onebox se um redirecionamento estiver envolvido. Ela oferece uma alavanca muito simples para controlar esse comportamento incondicionalmente em vários domínios.

3 curtidas

Obrigado pela dica para os links internos.
O recurso mais genérico com block onebox on redirect seria muito apreciado, pois não sabemos antecipadamente a lista completa que os usuários podem postar.

Isso parece não funcionar para o link com linkification que não é atualizado em “onebox”, mas apenas se transforma em um título (por exemplo, nosso link interno https://support.sqills.com/browse/SCQI-934 se transforma em Log in - Sqills Jira, mas o URL base apenas fornece https://support.sqills.com como título do link).

2 curtidas

Certamente há um bug confuso aqui que devemos resolver.

Acabei de bloquear support.sqills.com e confirmo que está funcionando como deveria para https://support.sqills.com/browse/SCQI-934?1 https://support.sqills.com/browse/SCQI-934?1, mas, infelizmente, https://support.sqills.com/browse/SCQI-934 está em cache no lado do servidor por 24 horas e a reconstrução do HTML não está limpando o cache.

Resolveremos essa pequena questão esta semana para reduzir o suporte em torno disso. Bloquear o redirecionamento como opção parece ótimo para mim, podemos conseguir encaixar isso. Talvez bloquear onebox em redirecionamento entre domínios seja melhor, ou talvez isso seja muito detalhado… não tenho certeza.

2 curtidas

Isso foi corrigido em:

Agora, quando uma postagem é reconstruída, as entradas de cache de todos os links na postagem são removidas antes de fazer a reconstrução.

E aqui está um PR para adicionar uma configuração de site block_onebox_on_redirect:

Quando block_onebox_on_redirect estiver habilitado, o Discourse nunca fará um onebox de URLs que redirecionam. A única exceção é se uma URL for http e redirecionar para a versão https da URL. Isso é feito porque é muito comum que sites que suportam TLS redirecionem o tráfego http para https e, portanto, o onebox ainda deve funcionar se um usuário, por exemplo, digitar um link com http e o site redirecionar para https.

2 curtidas