Skip to content

Fix logo URL double concatenation in OpenGraph meta tags#367

Draft
Copilot wants to merge 3 commits intomasterfrom
copilot/fix-logo-link-url
Draft

Fix logo URL double concatenation in OpenGraph meta tags#367
Copilot wants to merge 3 commits intomasterfrom
copilot/fix-logo-link-url

Conversation

Copy link
Contributor

Copilot AI commented Dec 19, 2025

O que esse PR faz?

Corrige a concatenação duplicada de URLs quando journal.logo_url já contém uma URL absoluta (com http:// ou https://), resultando em URLs malformadas como https://scielo.do/http://core.scielo.org/media/logo.png.

Solução: Criado filtro Jinja2 get_absolute_url que detecta URLs absolutas e as retorna sem concatenação, mantendo compatibilidade com URLs relativas.

# Antes:
<meta property="og:image" content="{{request.url_root}}{{ journal.logo_url|replace("/", "", 1) }}"/>
# Resultado: https://scielo.do/http://core.scielo.org/media/logo.png ❌

# Depois:
<meta property="og:image" content="{{ journal.logo_url|get_absolute_url(request.url_root) }}"/>
# Resultado: http://core.scielo.org/media/logo.png ✓

Arquivos modificados:

  • opac/webapp/main/custom_filters.py - Função get_absolute_url()
  • opac/webapp/__init__.py - Registro do filtro
  • opac/webapp/templates/{journal,issue,article}/includes/meta.html - Uso do novo filtro
  • opac/tests/test_main_custom_filters.py - Testes unitários

Onde a revisão poderia começar?

opac/webapp/main/custom_filters.py - Lógica do filtro get_absolute_url()

Depois verificar aplicação nos templates em opac/webapp/templates/*/includes/meta.html

Como este poderia ser testado manualmente?

  1. Configurar um journal com logo_url absoluto: http://core.scielo.org/media/logo.png
  2. Acessar página do periódico (ex: /j/rscd)
  3. Inspecionar meta tag og:image no HTML
  4. Verificar que a URL não contém dupla concatenação

Validação:

cd opac && python3 -m pytest tests/test_main_custom_filters.py -v

Algum cenário de contexto que queira dar?

O problema ocorre quando periódicos usam logos hospedados em domínios externos (SSM/CDN). O template original assumia que logo_url era sempre relativo, fazendo concatenação incondicional com request.url_root.

URLs relativas continuam funcionando normalmente:

  • /media/logo.pnghttps://scielo.do/media/logo.png

Screenshots

image
Meta tag og:image com URL malformada antes da correção

Quais são tickets relevantes?

Issue: Correção do link do logo

Referências

Original prompt

This section details on the original issue you should resolve

<issue_title>Correção do link do logo</issue_title>
<issue_description>### Descrição do problema

Passos para reproduzir o problema

  1. Acesse a página https://scielo.do/j/rscd
  2. Observe o link está sendo formado com http://scielo.do + http:// (link do logo)
Image

<meta property="og:image" content="{{request.url_root}}{{ journal.logo_url|replace("/", "", 1) }}"/>

Comportamento esperado

Na linha acima mencionada, deve-se testar se o journal.logo_url já contém http, se sim, não precisa colocar a url do site, só a url do logo. Considerar que o logo_url do journal pode não iniciar com http, aí do jeito que está já está correto.

Screenshots ou vídeos

.

Anexos

.

Ambiente utilizado

</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits December 19, 2025 13:51
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix logo link formation error in meta.html Fix logo URL double concatenation in OpenGraph meta tags Dec 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Correção do link do logo

2 participants