Como posso fazer o Discourse gerar URLs relativas para imagens carregadas?
Tenho um site disponível via HTTPS e um .onion do TOR, e preciso de uma maneira para que as imagens funcionem em ambos.
Como posso configurar o Discourse para que URLs upload:// sejam convertidas em URLs relativas na tag <img>? Onde (em qual arquivo de origem) ocorre essa geração de URL?
O upload funciona corretamente tanto no domínio HTTPS quanto no serviço oculto .onion do TOR, mas o HTML real gerado para uma postagem usa uma URL completa, o que é um problema.
Estou assumindo que em algum lugar há algum código que faz algo como:
Seria muito de baixo nível mexer em absolute_without_cdn e afetar muitas coisas?
A URL precisa ser relativa porque:
Um navegador normal não consegue acessar a URL .onion.
Não é possível acessar o site normal pelo TOR porque ele está atrás de proteção contra DDoS. E mesmo que funcionasse, eu não quero vazar detalhes para os nós de saída do TOR.
Isso exigiria algumas alterações internas. Eu tenho certa simpatia pela ideia, pois facilita um pouco a vida ao mudar nomes de domínio em sites que não usam CDN.
Teria que ser algo assim: SE nenhum CDN estiver configurado, então gerar uma URL relativa.
Gostaria de me manifestar a favor de links internos relativos. Atualmente, utilizo URLs completas para referenciar, por exemplo, outro tópico no mesmo site.
De fato, nosso site mudou recentemente de domínio (ressaltando que o redirecionamento está ativo):
E nosso novo hospedeiro, Communiteq (antigo DiscourseHosting), gentilmente fez algum tipo de sed em nosso banco de dados para refletir essa mudança.
Talvez haja razões técnicas para o status atual? Talvez possamos usar algo como %{THIS}/t/000 no futuro? Como desenvolvedor, caminhos absolutos geralmente me deixam nervoso. Há também a questão da mudança de http: para https:, que também realizamos (ou pelo menos aplicamos com mais rigor) como parte da migração mencionada acima. Isso parece ser muito semelhante ao caso de uso de @mreach.
Como sempre, muitos agradecimentos à equipe do Discourse por um produto maravilhoso. R.