RGJ
(Richard - Communiteq)
23 Febrero, 2026 11:09
1
El enlace de URL corta a una exportación de usuario en la página de administración de usuarios no funciona cuando se ejecuta en una configuración de subcarpeta; devuelve una página de “Vaya, esa página no existe o es privada”.
El enlace sí funciona desde el Mensaje Privado (PM) que se envía.
Al presionar F5 en la página de “No encontrado”, o al hacer clic derecho en el enlace, el archivo también se descarga, por lo que esto parece ser un problema de enrutamiento de Ember.
Línea: discourse/frontend/discourse/admin/components/admin-user-exports-table.gjs at 6759ad71cac395697b2978eb34fcfbf1162d30d1 · discourse/discourse · GitHub
Solución rápida (y, supongo, sucia): agregar target="_blank"
3 Me gusta
Gracias @RGJ Eso se solucionará con
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 Me gusta
zogstrip
Cerrado
28 Febrero, 2026 07:00
5
Este tema se cerró automáticamente después de 4 días. Ya no se permiten nuevas respuestas.