Precisa de URLs relativas para imagens carregadas

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?

Acho que URLs relativas para imagens não são uma configuração suportada, e essa pode ser uma mudança bastante difícil cc @sam

Só para esclarecer:

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:

 '<img src="' + Discourse.base_url_no_prefix + '/uploads/....jpg' + '">' 

e eu preciso que ele gere:

 '<img src="' + '/uploads/....jpg' + '">' 

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.

Acredito que você só precise configurar isso quando a configuração for alterada?

Imagine ter

'<img src="' + Discourse.cdn_url_no_prefix + '/uploads/....jpg' + '">'

Quando não houver nenhum CDN configurado, Discourse.cdn_url_no_prefix pode simplesmente ser uma string vazia.

Isso significa que há uma chance de você implementar isso no futuro (próximo)?

Só para dar meu apoio e concordar com @sam, já tivemos algumas trocas com nossos domínios, e URLs relativas são definitivamente necessárias.

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.

Geralmente, não é um grande problema executar uma busca e substituição direcionada em todos os posts afetados quando o domínio muda.