RGJ
(Richard - Communiteq)
Fevereiro 23, 2026, 11:09am
1
O link de URL curta para uma exportação de usuário na página de administração de usuários não funciona quando executado em uma configuração de subpasta, ele retorna uma página “Ops! Essa página não existe ou é privada”.
O link funciona a partir do PM que é enviado.
Ao pressionar F5 na página “Não encontrado”, ou ao clicar com o botão direito no link, o arquivo é baixado também, então isso parece ser um problema de roteamento do Ember.
Linha: discourse/frontend/discourse/admin/components/admin-user-exports-table.gjs at 6759ad71cac395697b2978eb34fcfbf1162d30d1 · discourse/discourse · GitHub
Correção rápida (e, eu acho, suja): adicione target="_blank"
3 curtidas
Obrigado @RGJ Isso será corrigido por meio de
main ← fix/server-side-only-urls-subfolder
opened 05:07PM - 23 Feb 26 UTC
On subfolder setups, clicking server-side-only links (e.g. upload download links… on the admin user exports page) resulted in a "page doesn't exist" error instead of downloading the file.
When Discourse runs in a subfolder (e.g. /forum), URLs like `/forum/uploads/short-url/abc.csv.gz` were not matching the SERVER_SIDE_ONLY regex patterns (e.g. `/^\/uploads\//`) because the pathname still included the subfolder prefix at the point of the check. This caused `routeTo` to hand the URL to Ember's router instead of redirecting to the server, hitting the catch-all "unknown" route.
The fix strips the subfolder prefix using `withoutPrefix()` before checking against SERVER_SIDE_ONLY patterns. The original path (with prefix) is still passed to `redirectTo`, which correctly handles both prefixed and unprefixed URLs via `getURL()`.
This only surfaced for the admin user exports page because most upload links in post content go through `click-track.js` which calls `redirectTo()` directly for `.attachment` links, bypassing `routeTo()` and its SERVER_SIDE_ONLY check entirely.
https://meta.discourse.org/t/396783
3 curtidas
zogstrip
Fechado
Fevereiro 28, 2026, 7:00am
5
Este tópico foi fechado automaticamente após 4 dias. Novas respostas não são mais permitidas.