347 fea_audio_url apuntan al host de Tailscale de staging, no al siteurl real #197

Closed
opened 2026-08-09 05:17:24 +00:00 by rafa · 1 comment
Owner

Encontrado por Opix investigando el issue #196 (banner roto en QA visual, no relacionado con el código de ese issue).

Hallazgo

347 filas de postmeta (clave fea_audio_url) en posts publicados tienen la URL absoluta escrita con el host de Tailscale del entorno de staging en vez de relativa/portable:

post 44977 / fea_audio_url
https://farmer.taild3aaf6.ts.net/fea/wp-content/uploads/tts/44977.mp3

Son de junio-agosto 2026, preexistentes (no las generó ninguna sesión de hoy) — las escribe el pipeline TTS usando el siteurl del entorno donde corrió en su momento.

Riesgo

Si esa BD (o esas 347 filas de postmeta) llegan a producción tal cual, esos artículos servirían el audio desde un host de Tailscale que nadie externo alcanza — el reproductor quedaría mudo, sin dar error visible.

Sin verificar todavía

No se ha comprobado si scripts/sync_audio_to_prod.py ya reescribe estas URLs al sincronizar a producción (podría ser que el problema ya esté cubierto ahí). Ese es el primer paso antes de decidir si hace falta arreglar datos históricos.

No urgente / no bloquea el #196

El fix de accesibilidad (#196) no toca nada de esto. Se dejó anotado aparte para no perderlo, tal y como sugirió Opix.

Encontrado por Opix investigando el issue #196 (banner roto en QA visual, no relacionado con el código de ese issue). ## Hallazgo 347 filas de `postmeta` (clave `fea_audio_url`) en posts publicados tienen la URL absoluta escrita con el host de Tailscale del entorno de staging en vez de relativa/portable: ``` post 44977 / fea_audio_url https://farmer.taild3aaf6.ts.net/fea/wp-content/uploads/tts/44977.mp3 ``` Son de junio-agosto 2026, preexistentes (no las generó ninguna sesión de hoy) — las escribe el pipeline TTS usando el `siteurl` del entorno donde corrió en su momento. ## Riesgo Si esa BD (o esas 347 filas de postmeta) llegan a producción tal cual, esos artículos servirían el audio desde un host de Tailscale que nadie externo alcanza — el reproductor quedaría mudo, sin dar error visible. ## Sin verificar todavía No se ha comprobado si `scripts/sync_audio_to_prod.py` ya reescribe estas URLs al sincronizar a producción (podría ser que el problema ya esté cubierto ahí). Ese es el primer paso antes de decidir si hace falta arreglar datos históricos. ## No urgente / no bloquea el #196 El fix de accesibilidad (#196) no toca nada de esto. Se dejó anotado aparte para no perderlo, tal y como sugirió Opix.
Author
Owner

Falsa alarma, investigado por Opix — cierro.

sync_audio_to_prod.py no copia la URL local: pasa la ruta relativa /wp-content/uploads/tts/{id}.mp3 a un helper que corre dentro de producción por SSH, y ahí home_url() construye la URL absoluta con el siteurl real (https://www.feadulta.com/...). La URL de Tailscale nunca sale de local. Las 347 filas locales con host de Tailscale son correctas para su propio entorno — cada entorno genera la suya vía el mismo home_url(), es diseño deliberado, no una fuga.

Único riesgo residual (genérico, no específico de esto): restaurar un dump completo de la BD local sobre producción en vez de usar el script de sync. No es un problema de fea_audio_url.

Falsa alarma, investigado por Opix — cierro. `sync_audio_to_prod.py` no copia la URL local: pasa la ruta relativa `/wp-content/uploads/tts/{id}.mp3` a un helper que corre **dentro de producción** por SSH, y ahí `home_url()` construye la URL absoluta con el `siteurl` real (`https://www.feadulta.com/...`). La URL de Tailscale nunca sale de local. Las 347 filas locales con host de Tailscale son correctas para su propio entorno — cada entorno genera la suya vía el mismo `home_url()`, es diseño deliberado, no una fuga. Único riesgo residual (genérico, no específico de esto): restaurar un dump completo de la BD local sobre producción en vez de usar el script de sync. No es un problema de `fea_audio_url`.
rafa closed this issue 2026-08-09 05:19:21 +00:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rafa/feadulta#197