Bug(s) no tratamento do Discourse de URIs em conteúdo markdown

Acabei de encontrar esse bug com o URI geo, que se parece com geo:36.95733984,-122.0172856.

Vejo que há uma exceção para o URI tel:

    if (allowedHrefSchemes.includes("tel")) {
      extraHrefMatchers.push(new RegExp("^tel://\\+?[\\w\\.\\-]+", "i"));

Existe Uniform Resource Identifier (URI) Schemes, mas usei List of URI schemes - Wikipedia para verificar os esquemas, pois eles incluem exemplos. Estou olhando para o, hum, “sufixo” do nome do esquema, o :// (como se chama isso? “Formato do esquema”?).

De uma cuidadosa olhada, parece que só existem três padrões usados:

  • ://
  • :/
  • :

Meu cérebro está tendo dificuldade em acompanhar onde isso está acontecendo em relação à escrita do markdown e conversão para href, mas acho que, se conseguirmos descobrir como verificar esses três formatos, estaremos seguros para qualquer esquema adicionado pelo administrador.

Sem ideia de como validar por esquema… :thinking:


Meus nomes de código não oficiais para os formatos:

  • : “observando”
  • :/ “cético”
  • :// - “duplamente cético”
1 curtida