ACTUALIZACIONES Rebel Girl FM
v3.6.35 2026-07-16
Programación cambiada a ocho turnos fijos de tres horasLa radio por turnos reproduce solo los personajes asignados a cada franjaMei sigue alternando semanalmente entre los turnos de día y de nocheLa pestaña Radio muestra ahora toda la programación sin turnos recortadosLa búsqueda y la lista de canciones permanecen ocultas en la pestaña RadioLas listas de audio y vídeo llegan ahora más cerca del borde inferior del reproductorLa política de privacidad ahora documenta por completo la aplicación nativa para Android/iOS
Nueva programación
06:00–09:00: Las Hermanas de Radio sin Cerebro; Mei durante las semanas de turno diurno.09:00–12:00: Charlie – La Voz del Sur; El Diablo como invitado.12:00–15:00: Las Hermanas de Radio sin Cerebro; El Diablo como invitado.15:00–18:00: Charlie – La Voz del Sur; Mei durante las semanas de turno diurno.18:00–21:00: Rebel Girl y Shadowman; La pequeña bruja folk como invitada; Mei durante las semanas de turno nocturno.21:00–00:00: Rebel Girl y Shadowman; La pequeña bruja folk como invitada.00:00–03:00: Rebel Girl y Shadowman; Rumpelstilzchen como invitado.03:00–06:00: Rebel Girl y Shadowman; La novia psicótica como invitada; Mei durante las semanas de turno nocturno.
Función de radio
- Rebel Player muestra la programación actual completa directamente en la pestaña Radio.
- Los invitados y Mei aparecen identificados con sus funciones correspondientes.
- En cada cambio de turno, la cola de radio se reconstruye y mezcla automáticamente con las canciones de los presentadores, invitados y la becaria asignados.
- La rotación semanal de Mei sigue la semana ISO en la zona horaria de la emisora
Europe/Berlin.
Validacion
npm run check: 0 errores, 0 advertencias y 0 indicaciones.- Build de producción y validación del sitemap: correctos.
v3.6.34 2026-07-15
CDN e indice multimedia completamente sincronizadosTres portadas que faltaban subidas a Cloudflare R2Dependencias del proyecto comprobadas
CDN e indice multimedia
- Los 3699 archivos CDN locales se compararon con el bucket de Cloudflare R2.
- 3696 archivos ya eran identicos; se subieron
Rebel-Girl-cover-259.webp,Rebel-Girl-cover-260.webpyShadowman-cover-44.webp. public/media-index.jsonse regenero desde la fuente local de Object Storage y contiene 1002 audios, 1009 videos, 1002 archivos de letras y 661 imagenes de galeria.- Los sitemaps de imagenes y videos se regeneraron desde el inventario multimedia sincronizado.
Dependencias y documentacion
- Astro
^7.0.9, Preact^10.29.7, Vite^8.1.4, Wrangler^4.111.0y los demas paquetes instalados corresponden a las versiones compatibles actuales del registro. - TypeScript permanece deliberadamente en
^6.0.3, la version principal mas reciente compatible con el verificador actual de Astro. - README y los modulos del proyecto de IA se sincronizaron con la version 3.6.34.
Validacion
npm run check: 0 errores, 0 advertencias y 0 indicaciones.npm run check:assets: 32 rutas CDN, sin errores.npm audit --audit-level=moderate: 0 vulnerabilidades.- Build de produccion, comprobacion de sitemap y dry run de Cloudflare: correctos.
v3.6.33 2026-07-15
Radio continuo por turnos en el Rebel PlayerMei alterna semanalmente entre los turnos diurno y nocturnoPaquetes de Astro, Cloudflare y frontend actualizados
Rebel Player y horario de la emisora
- La fuente de radio, antes vacia, reproduce ahora de forma continua canciones de los personajes asignados al turno actual.
- La lista del turno se mezcla cada vez que se enciende la radio y la siguiente cancion comienza automaticamente al terminar cada tema.
- El horario utiliza la hora de Berlin y cambia automaticamente entre los turnos de manana, mediodia, dia, relevo y noche.
- Las Hermanas de Radio Sin Cerebro y Charlie cubren los turnos diurnos. Rebel Girl, Shadowman, la Pequena Bruja del Folk, la Novia Psicotica y Rumpelstilzchen forman el turno nocturno.
- Como becaria, Mei alterna semanalmente entre los turnos diurno y nocturno. Su perfil y su lore fueron actualizados.
Dependencias y documentacion
- Astro se actualizo a
^7.0.9, Preact a^10.29.7, Vite a^8.1.4y Wrangler a^4.111.0. @astrojs/cloudflareesta en^14.1.3,@cloudflare/workers-typesen^5.20260715.1y la anulacion dewsen^8.21.1.- TypeScript permanece en
^6.0.3, la version mas reciente compatible con el verificador actual de Astro. - La fecha de compatibilidad de Workers se fijo en
2026-06-24, la mas reciente compatible con el runtime local incluido. - El build elimina automaticamente del manifiesto generado el campo obsoleto
legacy_env, que Wrangler 4.111 ya no admite. - README, modulos del proyecto, indice multimedia y sitemaps fueron sincronizados.
Validacion
npm run check: 0 errores, 0 advertencias y 0 indicaciones.- i18n: 584 claves por idioma.
- Pruebas de seguridad del Generador de Canciones: correctas.
npm audit: 0 vulnerabilidades.
v3.6.32 2026-07-04
Funkwhale anadido a la pestana de redes socialesCDN/R2 y documentacion del proyecto actualizados
Redes sociales
- La antigua tarjeta de marcador “Mas canales” fue sustituida por una tarjeta de Funkwhale.
- La tarjeta de Funkwhale enlaza con
https://krasses.berlin/federation/music/libraries/4c2fba08-fe08-4c83-a629-550aa1faff99. - Funkwhale y Storytellerz Discord se reordenaron para que Funkwhale aparezca a la izquierda y Discord a la derecha.
- Los textos se anadieron en aleman, ingles y espanol.
CDN y copia de seguridad
funkwhale.webpesta endownloads/Logos/funkwhale.webpy se sirve mediantehttps://cdn.rebel-girl-fm.de/downloads/Logos/funkwhale.webp?v=20260704.- La sincronizacion R2/CDN reviso 3696 objetos, dejo 3694 sin cambios y subio 2 objetos.
- README y changelog se actualizaron a
v3.6.32.
Validacion
npm.cmd run check: correcto.npm.cmd run check:assets: correcto.npm.cmd run build: correcto.- Comprobacion HEAD del CDN para
funkwhale.webp:200 OK.
v3.6.31 2026-07-04
Tooling de frontend y Cloudflare actualizadoREADME y changelog actualizados al ultimo estado de paquetes
Actualizacion de dependencias
- Astro se actualizo de
^7.0.5a^7.0.6. - Las integraciones de Astro se actualizaron:
@astrojs/cloudflarea^14.1.1y@astrojs/preacta^6.0.1. - Preact se actualizo de
^10.29.3a^10.29.4. - Vite se actualizo de
^8.1.2a^8.1.3. - Wrangler se actualizo de
^4.106.0a^4.107.0. @cloudflare/workers-typesse actualizo a^5.20260704.1.
Documentacion
- README y los metadatos tecnicos del proyecto reflejan ahora el nuevo estado de paquetes y la version web
v3.6.31. - El tab Changelog de la web lee esta entrada desde las fuentes Markdown localizadas para aleman, ingles y espanol.
Validacion
npm outdated --json: no hay paquetes desactualizados.npm audit --audit-level=moderate:0 vulnerabilities.npm run check: correcto.
v3.6.30 2026-07-02
Rutas de imagenes CDN comprobadas y reparadasAuditoria del proyecto y limpieza cuidadosa completadas
CDN e imagenes
- Todas las referencias CDN conocidas del indice de medios, codigo, manifest, sitemap de imagenes y sitemap de videos fueron comprobadas con peticiones GET/Range reales.
- Se validaron 3.679 URLs CDN usadas realmente; el ultimo control informo
0errores y0fuentes locales faltantes. - 20 objetos WebP afectados fueron reparados o recuperados en R2.
- La web usa ahora cache busting dirigido con
?v=20260702-r2para esas 20 rutas de imagen, porque la cache no versionada de Cloudflare aun puede servir respuestas 404 antiguas. - El sitemap de imagenes genera ahora URLs versionadas para las mismas imagenes afectadas.
Areas afectadas
- Azrael y Seraphine vuelven a cargar correctamente sus imagenes de equipo.
- Algunos covers de canciones de Charlie, El Diablo, La pequena Bruja Folk y Rebel Girl vuelven a estar correctamente referenciados.
- Galeria, descargas, pagina Sobre nosotros, datos de personajes y sitemap de imagenes usan la misma logica de cache busting.
Auditoria y limpieza
- Se eliminaron artefactos temporales de pruebas como
.playwright-cli/ytmp/. .gitignoreignora ahora de forma permanente esos artefactos locales de pruebas/checks.tsconfig.jsonexcluyetmpy.playwright-cli, para que Astro/TypeScript no analice archivos generados de comprobacion.- No se eliminaron a ciegas archivos de contenido o dominio; los cambios existentes del proyecto/usuario se conservaron.
Validacion
npm run check:assets: correcto.npm run check: correcto,0 errors,0 warnings,0 hints.npm run build: correcto.npm audit --audit-level=moderate:0 vulnerabilities.- Check de sitemap/robots: 672 rutas, 658 imagenes, 1009 videos.
v3.6.29 2026-07-02
Pestana de playlists corregida a las 19 playlists de SunoREADME y changelog actualizados al estado corregido de playlists
Playlists
- La pestana de playlists fue corregida: la lista principal vuelve a mostrar las 19 playlists visibles actualmente en Suno para
@dampferbug. - Se revirtio la reduccion anterior a solo cinco playlists.
Rebel Girl FM - El amor secretousa ahora su propia claveheimlicheliebe.Rebel Girl FM - El amor de ambaspermanece como playlist separada con su propio cover y enlace.- El orden sigue la pestana actual de Suno y la captura de referencia.
Textos y covers
- Se agregaron textos de playlists en aleman, ingles y espanol para la nueva clave
heimlicheliebe. - Los archivos i18n contienen ahora 569 claves por idioma.
- Todas las tarjetas usan covers CDN existentes de
downloads/Bilder/Team/odownloads/Bilder/playlist-cover/.
Documentacion
- README se actualizo a la version 3.6.29, 569 claves i18n por idioma y la lista completa de 19 playlists.
- La pestana de changelog incluye esta nueva entrada en DE, EN y ES.
Validacion y deploy
npm run check: correcto.npm run check:assets: correcto.- Build alternativo de Astro en
tmp/astro-build-check: correcto. - Deploy de Cloudflare correcto; version Worker
56d407f7-523e-4699-afaa-7f239972f252. - Comprobacion live
/playlists:200 OK.
v3.6.28 2026-07-02
Pestana de playlists sincronizada con las playlists actuales de SunoREADME y changelog actualizados al nuevo estado de playlists
Playlists
- La pestana de playlists se comparo con la pestana actual de Suno para
@dampferbug. - La fuente compartida
src/lib/playlistData.tsmuestra ahora las cinco playlists de Suno visibles actualmente:Rebel Girl FM - El DiabloRebel Girl FM - Charlie (La Voz del Sur)Rebel Girl FM - El amor secretoRebel Girl FM - Mei (La nueva becaria)Sunshine State FM - Las Hermanas de Radio sin Cerebro
- Las tarjetas principales antiguas que ya no aparecen en la pestana actual de Suno fueron retiradas de la lista principal.
- El bloque comunitario de StorytellerZ queda sin cambios.
Textos y Covers
- Los textos de playlists en aleman, ingles y espanol se sincronizaron para
teufel,charlie,liebe,meiyradioschwestern. - Las nuevas tarjetas usan covers CDN existentes de
downloads/Bilder/Team/ydownloads/Bilder/playlist-cover/.
Documentacion
- README se actualizo a la version 3.6.28, 566 claves i18n por idioma y el estado actual de playlists.
- La pestana de changelog incluye esta nueva entrada en DE, EN y ES.
Validacion
npm run check: correcto.npm run check:assets: correcto.node scripts/check_sitemap.mjs: correcto; 672 rutas, 658 imagenes, 1009 videos.- Build alternativo de Astro en
tmp/astro-build-check: correcto. - Nota: el
npm run buildnormal quedo bloqueado localmente por una carpetadist/clientbloqueada conEPERM.
v3.6.27 2026-07-02
Astro y el adaptador de Cloudflare actualizados a las versiones más recientesREADME, privacidad, changelog y documentación de IA sincronizados
Actualizaciones de Programas
astrose actualizó a^7.0.5.@astrojs/cloudflarese actualizó a^14.1.0.npm outdatedno muestra paquetes desactualizados después de la actualización.npm auditinforma 0 vulnerabilidades.
Documentación y Pestañas del Sitio
- README y todos los archivos bajo
ki/se sincronizaron con el estado actual del proyecto. - La pestaña de changelog incluye esta nueva entrada.
- La pestaña de privacidad se actualizó en DE, EN y ES al estado actual del 2 de julio de 2026.
CDN e Índice Multimedia
- La sincronización R2/CDN se ejecutó contra la estructura local de object storage.
public/media-index.json,public/image-sitemap.xmlypublic/video-sitemap.xmlse regeneraron.
Validación
npm run sync:r2: correcto; 3695 archivos comprobados, 3634 sin cambios, 61 subidas, 0 errores.npm run sync: correcto.npm run check:assets: correcto.npm run check: correcto.npm run build: correcto.
v3.6.26 2026-06-24
Indice multimedia, rutas CDN y sitemaps resincronizadosREADME, changelog y documentacion KI actualizados
CDN y Descargas
public/media-index.jsonse regenero desde la estructura local actual de object storage.- Las rutas de audio, video, letras e imagenes siguen apuntando de forma consistente a
https://cdn.rebel-girl-fm.de/downloads/.... - La pestana de descargas de letras usa la estructura actual
downloads/Audio, coherente con las entradas de letras del indice multimedia.
Rebel Player
- Rebel Player carga
media-index.jsonen el cliente y construye las URLs de audio/video desde las rutas base actuales del CDN. - Las rutas de audio, video y portada del reproductor se comprobaron contra el inventario multimedia actual.
Documentacion
- README y todos los archivos bajo
ki/se sincronizaron con el estado actual del proyecto.
Validacion
npm run sync: correcto.npm run sync:images: correcto.npm run sync:videos: correcto.npm run check:assets: correcto.npm run check: correcto.npm run build: correcto.npm run sync:r2: correcto; 3634 archivos comprobados, 3634 sin cambios, 0 subidas, 0 errores.
v3.6.25 2026-06-23
Logos de Suno y Telegram actualizados con cache bustingREADME, changelog y documentacion de proyecto para IA sincronizados
Redes sociales y CDN
- Los logos de Suno y Telegram en la pestana de redes sociales usan ahora el parametro de version
v=20260623. - Esto evita versiones antiguas almacenadas en cache y carga los archivos WebP actuales directamente desde el CDN de Cloudflare.
Documentacion
- README, el changelog de la web y todos los archivos de
ki/se sincronizaron con la version 3.6.25.
Validacion
npm run check: correcto.npm run check:assets: correcto.npm run build: correcto.- Despliegue en Cloudflare y prueba de produccion: correctos.
v3.6.24 2026-06-23
CDN/R2 e indice multimedia actualizadosPestana de redes sociales ampliada con Suno, Telegram y MastodonAstro 7, Vite 8 y herramientas de Cloudflare actualizados
CDN y medios
- Cloudflare R2/CDN se sincronizo con la carpeta local de medios: 3503 archivos revisados, 3494 sin cambios, 9 objetos faltantes subidos y 0 errores.
- Se subieron tres videos musicales de las Hermanas de Radio, tres portadas,
Sunshine-State-FM2.webpy los logos de Suno y Telegram. public/media-index.json,public/image-sitemap.xmlypublic/video-sitemap.xmlse regeneraron.- Inventario actual: 897 audios, 995 videos, 942 archivos de letras y 635 imagenes de galeria.
Web y rutas
- La pestana de redes sociales incluye ahora Suno, Mastodon y Telegram con logos CDN y textos localizados en aleman, ingles y espanol.
- La validacion de recursos comprueba ahora tambien las rutas CDN escritas directamente contra el inventario local.
- Las comprobaciones de objetos R2 se ejecutan en paralelo para acelerar la sincronizacion.
Herramientas
- Astro actualizado a 7.0.0,
@astrojs/cloudflarea 14.0.0,@astrojs/preacta 6.0.0 y Vite a 8.0.16. - Wrangler actualizado a 4.103.0 y Cloudflare Workers Types a 4.20260623.1.
- Se elimino la dependencia local no utilizada de Lighthouse; las auditorias siguen disponibles mediante
npx lighthouse. npm auditinforma 0 vulnerabilidades conocidas ynpm outdatedno muestra paquetes directos desactualizados.
Validacion
npm run check: correcto.npm run check:assets: correcto.npm run build: correcto.- Despliegue en Cloudflare y prueba de produccion: correctos.
- Version del Worker de Cloudflare:
0fbd0eb9-790b-4a24-bd26-1acbe830c079.
v3.6.23 2026-06-17
Estado de medios CDN/R2 actualizadoNuevas portadas y videos de Charlie subidosIndice de medios y sitemaps actualizados
CDN y medios
- Cloudflare R2/CDN se sincronizo con la carpeta local de medios: 3496 archivos comprobados, 3489 sin cambios, 7 objetos faltantes subidos, 0 errores.
- Se subieron tres portadas de Charlie:
Charlie - Die Stimme des Suedens-cover-4.webp,cover-5.webpycover-6.webp. - Se subieron tres videos musicales de Charlie:
Rebel Girl FM - Honky Tonk Gewitter (Live).webm,Rebel Girl FM - Mein Weg zum Mikrofon.webmyRebel Girl FM - Staub, Schweiss und Radio-Blut.webm. downloads/Promts/bilder promt.txttambien se agrego a R2.public/media-index.json,public/image-sitemap.xmlypublic/video-sitemap.xmlse regeneraron desde la carpeta externa de downloads.- Estado actual de medios: 897 archivos de audio, 992 videos, 942 archivos de letras y 631 imagenes de galeria.
Pruebas y deploy
npm run check: correcto.npm run build: correcto.- Deploy de Cloudflare Workers: correcto.
v3.6.22 2026-06-17
Lore de Charlie Reed ampliadaHistoria del rancho y Hamburgo agregadaTextos multilingues de personaje y about sincronizados
Charlie Reed
- La historia de Charlie se amplio: crecio en un rancho del sur de Estados Unidos y alli descubrio pronto su amor por el country, el Southern rock y el honky tonk.
- Su camino a Hamburgo queda ahora mas claro: un hombre la convencio de mudarse, pero la relacion no duro mucho.
- Tras la ruptura, Charlie se quedo en Hamburgo, probo varios trabajos y finalmente termino en una emisora de radio de Hamburgo.
- Sus pequenas apariciones al aire como voz de trafico, voz del tiempo y presencia suelta en el programa diurno explican por que algunos oyentes de Hamburgo ya la conocian antes de que Rebel Girl la descubriera.
- Cantar en bares despues del trabajo se agrego como el regreso de Charlie a su verdadera musica antes de que Rebel Girl la encontrara en un pequeno bar de Hamburgo.
Lore e i18n
src/content/lore/lore.mdysrc/content/lore/figurenprofile.mdse ampliaron con la nueva biografia de Charlie.- Los archivos ingleses y espanoles de lore y perfiles de personajes se actualizaron en sincronizacion.
- El perfil de personaje de Charlie y los textos
about.side.charlie.loreen aleman, ingles y espanol se actualizaron.
Pruebas
npm run check: correcto.npm run build: correcto.- Deploy de Cloudflare Workers: correcto.
v3.6.21 2026-06-16
Bloqueo en vivo del generador de canciones corregidoCadena de modelos gratuitos de OpenRouter actualizadaProteccion de timeout para fallbacks de OpenRouter agregadaEstado de medios CDN/R2 actualizado
Generador de canciones
- El proxy de OpenRouter ahora cancela las solicitudes de modelo colgadas despues de 8 segundos por modelo.
- Asi el generador ya no se queda permanentemente en
35% // SENDE AN KIcuando un modelo gratuito de OpenRouter no responde. - La cadena activa de modelos gratuitos se redujo a modelos de texto gratuitos que OpenRouter lista actualmente.
- Se eliminaron modelos no disponibles como
moonshotai/kimi-k2.6:freeyz-ai/glm-4.5-air:free. wrangler.tomlahora usaopenai/gpt-oss-20b:freecomo modelo preferido ygoogle/gemma-4-31b-it:freecomo fallback.
CDN y medios
- Cloudflare R2/CDN se actualizo con ocho objetos multimedia: tres videos musicales de Charlie, tres portadas de canciones de Charlie,
Rebel-Girl-cover-255.webpy la imagen de equipo actualizada de Charlie. - El nombre local
Charlie – Die Stimme des Südens-cover-1..webpse corrigio aCharlie – Die Stimme des Südens-cover-1.webpporque Cloudflare bloqueo el doble punto en la clave del objeto. - Las ocho URL actualizadas del CDN se comprobaron con HEAD y devuelven
200 OK. public/media-index.json,public/image-sitemap.xmlypublic/video-sitemap.xmlse resincronizaron.- Estado actual de medios: 897 archivos de audio, 989 videos, 942 archivos de letras y 628 imagenes de galeria.
scripts/generate-image-sitemap.mjsahora escribe el sitemap de imagenes de forma atomica mediante un archivo temporal.
Pruebas y deploy
scripts/test_song_generator_security.mjscomprueba ahora la nueva cadena de modelos y la proteccion de timeout.- El endpoint en vivo
/api/song-generator/openrouterse probo correctamente despues del deploy: estado200, modeloopenai/gpt-oss-20b:free. npm run check: correcto.npm run build: correcto.npm run check:sitemap: correcto con 637 rutas, 628 imagenes y 989 videos.
v3.6.20 2026-06-15
Panel de administracion reforzado contra XSS almacenadoGenerador de canciones reforzado contra prompt injectionPruebas de regresion de seguridad ampliadas
Correcciones de seguridad
- El panel de administracion ya no renderiza valores de canciones y medios con
innerHTML; ahora crea nodos DOM y asigna texto dinamico contextContent. - Esto cierra la ruta de XSS almacenado desde titulos del archivo publico de canciones hasta la tabla de administracion.
- El proxy de OpenRouter ya no trata los prompts
systemenviados por el cliente como instrucciones confiables del modelo. - El Worker ahora construye los mensajes hacia OpenRouter en el servidor y separa los datos de usuario del system prompt con
BEGIN_USER_DATA/END_USER_DATA. - Frases tipicas de prompt injection como “ignore previous instructions” o “reveal the system prompt” se bloquean en las ideas de canciones.
Pruebas
scripts/test_song_generator_security.mjscomprueba ahora que el renderizado de administracion no use.innerHTML.- El mismo script comprueba filtros de prompt injection y mensajes de OpenRouter construidos en el servidor.
Validacion
npm run test:song-generator: correcto.npm run check: correcto.npm run build: correcto.
v3.6.19 2026-06-15
Charlie Reed integrada por completoGaleria y Rebel Player ampliados con CharlieSEO de imagenes con paginas de detalle e ImageObject JSON-LD
Charlie Reed
- Charlie Reed queda integrada como nueva presentadora del turno de dia con pagina propia en
/charlie. - La pagina de perfil incluye fecha de nacimiento
15.06.1998, rol, lore, imagen y datos estructurados de imagen. - Charlie esta conectada con lore, estructura de equipo de Sobre nosotros, galeria, filtros del player y persona del generador de canciones.
Galeria y medios
- La galeria y el indice multimedia se actualizaron a 624 imagenes.
- Las imagenes de Charlie y sus song covers se sirven mediante CDN/R2.
- Las imagenes laterales de la pagina Sobre nosotros se adaptan dinamicamente a la altura del texto y del contenedor.
SEO
- Las imagenes importantes de la galeria tienen paginas SEO propias bajo
/bilder/.... - Galeria, personajes y paginas de detalle de imagen emiten
ImageObjectJSON-LD. BaseHeadadmite varios elementos JSON-LD por pagina.
Validacion y despliegue
npm run check: correcto.npm run build: correcto.- Despliegue con Wrangler correcto, version actual de Cloudflare:
ff8bb049-2489-4c41-80fc-ca74bf1a9c59.
v3.6.18 2026-06-14
Estructura del equipo en Sobre nosotros revisadaNombre visible de Mei acortadoREADME actualizado
Sobre nosotros
- Las tarjetas del equipo en la pagina Sobre nosotros ahora se agrupan en
Nachtschicht,Tagschichty personajes secundarios. - Las Hermanas de Radio Sin Cerebro se movieron al turno de dia.
- El turno de dia incluye dos tarjetas vacias como marcadores para entradas futuras.
- El bloque de lore aparece ahora debajo de las tarjetas de personajes secundarios.
Visualizacion de personajes
- Las tarjetas de personajes principales muestran nombres artisticos en lugar de nombres civiles, incluidos
SHADOWMANyREBEL GIRL. - Mei se muestra como
MEIen tarjetas y en el encabezado de su pagina de personaje. - Los personajes secundarios usan claves de traduccion robustas para que slugs como
punk-muschino muestren nombres de clave sin traducir.
Validacion
npm run check: correcto.
v3.6.17 2026-06-14
Tipos de Cloudflare Workers actualizadosEstado del CDN y del indice de medios validado de nuevoREADME y documentacion del proyecto sincronizados
Programas y dependencias
@cloudflare/workers-typesactualizado a^4.20260613.1.package-lock.jsonsincronizado con la nueva version del paquete.npm outdatedrevisado: Vite8.0.16sigue excluido intencionadamente porque la validacion anterior del build Astro/Cloudflare fallo.
CDN y documentacion
- Referencias R2/CDN para
https://cdn.rebel-girl-fm.derevisadas en el proyecto. media-index.jsonvalidado en modo R2.media-index.json, sitemap de imagenes y sitemap de videos actualizados desde la fuente local de Object Storage.- Sync CDN/R2 ejecutado: 3.479 archivos revisados, 3.467 sin cambios, 12 objetos faltantes subidos, 0 errores.
- README,
ki/MASTER.md,ki/02-tech-stack.mdyki/09-changelog.mdactualizados.
Validacion
npm outdated: solo Vite8.0.16queda abierto como major update omitido intencionadamente.npm audit --audit-level=moderate: sigue informando advisories conocidos de tooling a traves deesbuild/vite;npm audit fix --forcebajaria aastro@2.4.5y no se aplico.npm run check: correcto.npm run build: correcto.
v3.6.16 2026-06-13
Dependencias del proyecto actualizadasAstro, adaptador de Cloudflare, Tailwind y Wrangler actualizadosVite 8 probado y no adoptado por un fallo de build con Cloudflare
Herramientas y dependencias
@astrojs/cloudflareactualizado a^13.7.0.astroactualizado a^6.4.6.@cloudflare/workers-typesactualizado a^4.20260612.1.@tailwindcss/viteytailwindcssactualizados a^4.3.1.wrangleractualizado a^4.100.0.package-lock.jsonsincronizado con las nuevas versiones.
Compatibilidad
- Vite
8.0.16fue instalado y probado, pero rompe el build Astro/Cloudflare conrequire_dist is not a function. - Por eso Vite se mantiene en la linea compatible mas reciente 7.x,
^7.3.5.
Validacion
npm run check: correcto.npm run build: correcto; comprobacion sitemap/robots con 96 rutas, 607 imagenes y 977 videos.npm audit --audit-level=moderate: sigue informando avisos conocidos de herramientas viaesbuild/vite;npm audit fix --forcebajaria aastro@2.4.5, asi que no se aplico.
v3.6.15 2026-06-12
Generador de canciones ajustado al limite de letras de SunoCampo de tema ampliado en dos lineasValidacion de archivo para letras de 5000 caracteres
Generador de canciones
- El campo de tema del generador de canciones ahora muestra 5 lineas en lugar de 3.
- Las letras originales generadas se limitan en el cliente a 5000 caracteres para poder pegarlas directamente en Suno.
- El prompt de IA indica explicitamente al modelo el limite de 5000 caracteres de Suno.
- La validacion del archivo ahora bloquea en servidor letras y versiones alemanas de mas de 5000 caracteres.
Validacion
npm run test:song-generator: correcto.npm run check: 0 errores, 0 advertencias, 0 sugerencias; i18n se mantiene en 525 claves por idioma.
v3.6.14 2026-06-07
Backend Admin V1 nativo de Cloudflare preparado localmenteAstro, adaptador de Cloudflare, Workers Types y Wrangler actualizadosProteccion del admin, exclusion del sitemap y pruebas ampliadas
Backend Admin V1
- Interfaz de administracion local preparada en
/admin, pero no activada en produccion. - Nuevas APIs de administracion protegidas para sesion, estadisticas, canciones, listado de medios y subidas a R2.
- Cloudflare Access queda previsto como capa de proteccion;
ADMIN_ACCESS_ENABLED=0mantiene el backend desactivado en produccion. - Nueva migracion D1
migrations/0060_admin_backend.sqlpara metadatos de medios y eventos de administracion.
Herramientas y Cloudflare
- Astro actualizado a
^6.4.4,@astrojs/cloudflarea^13.6.1,@astrojs/preacta^5.1.5, Workers Types a^4.20260607.1y Wrangler a^4.98.0. compatibility_datede Cloudflare fijado en2026-06-02, la fecha mas nueva soportada por el binario local de Workers Runtime.- Vite 8.0.16 fue probado, pero no adoptado porque el runner Astro/Cloudflare fallo con
require_dist is not a function; Vite se mantiene en la linea compatible 7.x.
SEO, movil y seguridad
- Las rutas de administracion quedan excluidas del sitemap y de la comprobacion del sitemap.
- Las pruebas de seguridad del Song Generator ahora tambien verifican cabeceras de Admin Access, el interruptor de apagado del admin y la exclusion del admin en el sitemap.
- La auditoria movil todavia muestra trabajo pendiente en titulares grandes para pantallas de telefono.
Validacion
npm audit --audit-level=moderate: 0 vulnerabilidades.npm run check:assets: correcto.npm run check: 0 errores, 0 advertencias, 0 sugerencias; i18n se mantiene en 525 claves por idioma.npm run build: correcto; comprobacion sitemap/robots con 96 rutas y 596 imagenes.
v3.6.13 2026-06-02
Checks de mantenimiento y sincronizacion de documentacion anadidosValidacion de sitemap/robots y tests de seguridad del generador automatizadosDocumentacion KI y salidas de scripts normalizadas a ASCII limpio
Mantenimiento y automatizacion
npm run docs:syncsincroniza README y la documentacion KI central desde el changelog, versiones de paquetes, claves i18n y datos del indice multimedia.npm run changelog:new -- <version>crea archivos de changelog en aleman, ingles y espanol desde una plantilla consistente.npm run check:sitemapvalidadist/client/sitemap-index.xml,dist/client/sitemap-0.xml,public/image-sitemap.xmlypublic/robots.txt.npm run test:song-generatorcomprueba la validacion del generador de canciones y sus invariantes de seguridad API.npm run checkahora tambien ejecuta los tests de seguridad del generador de canciones.npm run buildahora ejecuta el check de sitemap/robots despues del build de Astro.
Validacion
npm run checkpaso correctamente: Astro 0 errores, 0 advertencias, 0 indicaciones; i18n sigue con 525 claves por idioma.npm run buildpaso correctamente: 96 rutas de sitemap y 593 imagenes unicas validadas.
v3.6.12 2026-06-02
Pestana de privacidad actualizada al 2 de junio de 2026Cloudflare, OpenRouter, D1 y LocalStorage documentados con mas precisionAclaraciones sobre tracking y profiling anadidas
Privacidad
- La politica de privacidad se actualizo en aleman, ingles y espanol al 2 de junio de 2026.
- Cloudflare Workers, Cloudflare R2/CDN, Cloudflare D1, registros de Workers y OpenRouter se describen con mas precision.
- Los flujos de datos del generador de canciones se actualizaron: procesamiento del prompt, procesamiento breve de IP para limites de velocidad y campos del archivo D1.
- LocalStorage, feedback con Tally, Twitch, YouTube y FlagCDN se alinearon con el estado actual del proyecto.
- El texto aclara que Rebel Girl FM no utiliza tracking, Google Analytics, Tag Manager ni profiling publicitario.
Validacion
npm run checkpaso correctamente.- i18n permanece sincronizado con 525 claves por idioma.
v3.6.11 2026-06-01
Dependencias actualizadas y npm audit limpioJapones habilitado en servidor para el generador de cancionesRespuestas de error API y cache de sitemap reforzadas
Actualizaciones
- Astro se actualizo a
^6.4.2, Vite a^7.3.5, Wrangler a^4.96.0y@cloudflare/workers-typesa^4.20260601.1. npm audit --audit-level=moderateno reporta vulnerabilidades.
Correcciones
- El generador de canciones permite ahora
JAPANISCHtambien en el proxy OpenRouter del servidor. La UI ya ofrecia japones como idioma destino. - Se eliminaron artefactos de encoding restantes del system prompt del generador.
Hardening Pentest
- Las excepciones API inesperadas se registran en servidor, pero ya no se devuelven al cliente como mensajes internos.
sitemap-index.xmlqueda cubierto explicitamente por la regla de cache de sitemaps en middleware.- Checks, build, asset check, busqueda de patrones de secretos y smoke tests de filtros de entrada pasaron correctamente.
v3.6.10 2026-06-01
Indice multimedia actualizado desde el directorio local Object Storage downloadsSiete nuevas portadas de canciones subidas a Cloudflare R2Image sitemap regenerado con 593 imagenes
Medios y CDN
public/media-index.jsonse regenero desdeD:\sicherheit\Daten\Webseiten\Object Storage\rebel-girl-fm.de\downloads.- La galeria contiene ahora 593 imagenes WebP; audio, video y letras se mantienen en 897, 888 y 887 entradas.
- Dos nuevas portadas de Folk-Hexe y cinco nuevas portadas de Mei se subieron directamente a Cloudflare R2 en el bucket
rebel-girl-fm.
Validacion
- Las siete nuevas URLs CDN responden a HEAD con
200. public/image-sitemap.xmlse regenero con 593 imagenes.npm run check:assets,npm run checkynpm run buildpasan correctamente.
v3.6.9 2026-06-01
README y documentacion IA del proyecto actualizadasFuentes multilingues de lore y changelog documentadasSitemap renovado para las rutas DE/EN/ES actuales
Documentacion
- El README y los modulos IA se actualizaron al estado actual con Astro 6, Cloudflare Workers, R2/CDN, archivo D1, AI discovery y paginas multilingues.
- Las fuentes de contenido ahora documentan los archivos de lore localizados en
src/content/lore/en/ysrc/content/lore/es/, asi como los changelogs localizados ensrc/content/changelog/en/ysrc/content/changelog/es/.
Indexacion
- La documentacion de sitemap apunta ahora a
sitemap-index.xmlyimage-sitemap.xml. - El build genera el sitemap para las rutas actuales en aleman, ingles y espanol, incluyendo lore, changelog, descargas y perfiles de personajes.
v3.6.8 2026-05-28
Helpers de voting no usados eliminadosArtefactos locales de build y cache limpiadosChecks del proyecto ejecutados de nuevo
Limpieza del proyecto
- Se eliminaron los helpers de voting
isVoted()ygetBaseVotes()que ya no se referenciaban. - Carpetas generadas y logs dev locales fueron retirados;
.envynode_modulesse conservaron para despliegue y trabajo local.
Validacion
npm run checkcorre sin errores, warnings ni hints.npm run check:assetsconfirma el indice multimedia R2.npm run buildcrea la salida Cloudflare Worker sin errores.
v3.6.7 2026-05-28
Playlist Suno de las Hermanas de Radio agregadaCover CDN del equipo usado para la nueva playlistTextos de playlists sincronizados para DE, EN y ES
Playlists
- La playlist
Rebel Girl FM - Die Hirnlosen Radioschwesternfue agregada a los datos compartidos. - El cover usa la ruta CDN existente de la imagen de equipo.
- Las paginas en aleman, ingles y espanol muestran la misma tarjeta con texto localizado.
Validacion
npm run checkconfirma claves i18n completas para DE, EN y ES.npm run buildcrea la salida Cloudflare Worker sin errores.
v3.6.6 2026-05-28
Content-Signal para uso IA agregado a robots.txtNegociacion Markdown activada para paginas HTML publicasDocumentacion AI discovery actualizada en README
AI Discovery
robots.txtdefineContent-Signal: ai-train=no, search=yes, ai-input=yes.- Paginas HTML publicas devuelven Markdown si se solicita
Accept: text/markdown. - Las respuestas Markdown quedan limitadas a paginas publicas;
/api/y/admin/quedan excluidas.
Documentacion
- README describe endpoints AI discovery, policy Content-Signal y metadatos OAuth, MCP y API catalog no publicados.
v3.6.5 2026-05-28
Botones del generador colocados juntos arribaPermisos para crawlers IA ampliados en robots.txtllms.txt, llms-full.txt y ai.txt agregadosCabeceras Worker y enlaces head para procesamiento automatico
Generador de canciones
EINGABE LEERENesta ahora junto aZUFALLS-SIGNAL.- El antiguo bloque separado bajo el campo fue eliminado.
Indexacion IA
robots.txtpermite crawlers IA importantes en paginas publicas y bloquea/api/y/admin/.llms.txtofrece un mapa compacto del proyecto.llms-full.txtagrega identidad, reglas, endpoints, areas y contexto de personajes.ai.txtapunta a archivos LLM y sitemaps.
Entrega
- Las paginas HTML enlazan los LLM como alternates
text/plain. - Rutas publicas Worker usan
X-Robots-Tag: index, follow. - API y admin usan
noindex, nofollow, noarchive. - Las respuestas HTML exponen tambien los LLM por cabecera
Link.
Nota Cloudflare
- Las reglas del dashboard deben permitir los crawlers autorizados.
- La prueba en vivo mostro contenido gestionado por Cloudflare en
robots.txt; esa opcion debe desactivarse en la zona.
v3.6.4 2026-05-28
Rutas de logos de socios corregidas a nombres con guionURLs CDN de playlists y socios codificadas robustamenteCrawl de assets en vivo sin errores 404
Assets CDN
- Los logos de socios usan ahora los archivos existentes con guion.
- Los tres logos se subieron de nuevo a Cloudflare R2 y son accesibles por CDN.
- Las rutas antiguas con espacios o
%20ya no se generan.
Rutas de imagen mas robustas
- Las paginas de socios codifican nombres de logo antes de crear la URL CDN.
- Las playlists en DE, EN y ES codifican rutas por segmento.
QA
npm run checkynpm run buildpasaron.- El crawl en vivo reviso 602 URLs sin errores 404.
v3.6.3 2026-05-27
Boton para limpiar entrada en el generadorJapones agregado como idioma objetivoREADME y changelog actualizados
Generador de canciones
EINGABE LEERENelimina el texto del tema y enfoca de nuevo el campo.JAPANISCHfue agregado a la seleccion de idioma.- Japones se pasa al prompt como idioma objetivo real.
QA
npm run checkynpm run buildpasaron.
v3.6.2 2026-05-27
Generador ampliado con progresoOpenRouter cambiado a cadena fallback de modelos gratuitosSenal aleatoria corregida con fallback localSEO de imagenes mejorado con sitemap y fallbacks crawlablesPrivacidad, README y checks de seguridad actualizados
Generador de canciones
TRANSMISSION STARTENmuestra progreso y estado directamente.- Errores de validacion, OpenRouter y archivo aparecen bajo el boton.
- El modelo usado se muestra tras generar correctamente.
ZUFALLS-SIGNALacepta prompts aleatorios legitimos de escenario y cover.- Si OpenRouter falla, se carga un texto local de reemplazo.
OpenRouter y modelos gratuitos
- El proxy usa una allowlist fija de modelos de texto gratuitos con
:free. - Modelos de pago se bloquean en servidor.
- Si un modelo gratuito falla, se intenta el siguiente de la cadena.
SEO de imagenes y CDN
public/image-sitemap.xmlse genera desdepublic/media-index.json.- Las galerias contienen fallbacks de imagen crawlables con alt text y URLs CDN.
Privacidad
- Los textos explican mejor la cadena OpenRouter gratuita, Workers, D1 y protecciones de entrada.
- La nota de personajes ficticios sigue en DE, EN y ES.
- La fecha de privacidad se puso al 27 de mayo de 2026.
Seguridad y QA
- Checks no destructivos cubrieron cabeceras, origen, prompts invalidos, limites y rate limit.
npm.cmd run check,npm.cmd run check:assetsynpm.cmd run buildpasaron.
v3.6.1 2026-05-27
R2 CDN sincronizado con carpeta local de descargasIndice multimedia e imagenes nuevas actualizadosPaquetes del proyecto y Wrangler actualizadosNota de privacidad para personajes IA ficticios agregada
Media y CDN
- La carpeta local de descargas se sincronizo con el bucket Cloudflare R2.
public/media-index.jsonfue regenerado.- El indice contiene 897 audios, 888 videos, 887 letras y 586 imagenes de galeria.
npm run sync:r2queda disponible para futuras sincronizaciones.
Dependencias y build
- Astro, adaptador Cloudflare, sitemap, Workers types y Wrangler fueron actualizados.
- Vite permanece en la linea compatible 7.x.
Privacidad
- La pagina de privacidad fue actualizada al 27 de mayo de 2026.
- La nota de IA menciona ChatGPT, Claude y Google Gemini.
- Datos de personajes, biografias, roles, edades y contactos de lore se declaran ficticios.
QA
npm.cmd run check,npm.cmd run check:assetsynpm.cmd run buildpasaron.
v3.6.0 2026-05-21
Astro 6 migrado a Cloudflare WorkersGenerador de canciones integrado con OpenRouter y archivo D1Hardening de API y entradasLore y Sobre nosotros con funcion de lecturaLogica play/pause y cambio de pistas estabilizadaSEO, privacidad y documentacion actualizados
Cloudflare Workers
- El proyecto apunta ahora a Cloudflare Workers con runtime Astro.
- Las APIs del generador usan bindings de Cloudflare mediante
cloudflare:workers. - El servidor lee
OPENROUTER_API_KEY,OPENROUTER_MODELy el binding D1DB. - Scripts antiguos de Pages fueron eliminados.
Generador de canciones
- La pagina esta integrada en el layout normal con header, navegacion, fondo y rutas de idioma.
- Rebel Player enlaza al generador desde el menu de engranaje.
- Lore de personajes y reglas de estilo se incluyen en el prompt.
- El generador esta disponible en aleman, ingles y espanol.
Seguridad
- El proxy acepta solo el formato esperado del generador.
- Personajes, idiomas, estados de animo, duraciones y formatos se validan en servidor.
- Entradas se revisan contra spam, caracteres aleatorios, enlaces, emails, scripts y exceso de longitud.
- OpenRouter y archivo tienen rate limits, limites de tamano y comprobaciones de origen.
- El archivo D1 bloquea duplicados para la misma idea y personaje durante 15 minutos.
Accesibilidad y contenido
- Lore y Sobre nosotros tienen lectura mediante Speech Synthesis del navegador.
- Sobre nosotros se realineo al contexto completo de emisora, lore y StorytellerZ.
- Se mejoraron alt texts y aria labels.
Rebel Player
- Los clicks de playlist inician la pista elegida con la logica central.
- Estado de reproduccion, cambio de fuente y descarga de medios se estabilizaron.
- El menu de engranaje contiene enlace directo al generador.
SEO, privacidad y mantenimiento
- README, privacidad, sitemap, robots y metadatos fueron actualizados.
- Logs temporales y cache Vite fueron eliminados y agregados a
.gitignore.
QA
npm run checkynpm run buildpasaron.- Se hizo un smoke test local de seguridad no destructivo.
v3.5.2 2026-05-20
Pagina de lore ampliada con navegacion por capitulosCovers de playlists formateados de forma uniformeLa playlist de Mei usa una imagen real de MeiTraducciones y encoding revisados
Lore
- La pagina de lore genera navegacion por capitulos desde encabezados
##. - En desktop la caja de capitulos queda visible al lado.
- En tablet y movil aparece compacta encima del contenido.
- Los enlaces de capitulos usan smooth-scroll.
Playlists
- Los covers usan el mismo marco cuadrado.
- Los formatos originales se recortan de forma uniforme con
object-fit: cover. - La playlist de Mei usa la imagen real de Mei.
- El cambio aplica a aleman, ingles y espanol.
QA
npm run checkynpm run buildpasaron.- Se revisaron claves, valores vacios, placeholders y textos de playlists.
- Se corrigio un problema de encoding en el teaser de lore.
v3.5.1 2026-05-20
R2 sincronizado completamente con la estructura local de descargasPNG/WAV antiguos reemplazados por WebP/OpusMei agregada al Rebel PlayerPlaylists y vista de lore actualizadas
Media y R2
- La estructura local fue limpiada y subida de nuevo a Cloudflare R2.
- El bucket
rebel-girl-fmcontiene 3.223 objetos. - Los PNG y WAV restantes fueron eliminados tras la conversion.
- Los formatos actuales son
.opus,.webm,.webp,.txty.htaccess. public/media-index.jsonfue regenerado.
Rebel Player
Mei-Die-neue-Praktikantinesta disponible como filtro de audio.- El cover de Mei apunta a la imagen CDN correspondiente.
Playlists y contenido
- Las playlists Suno de Mei y STTZ-AprilScherz fueron agregadas.
- La pagina de lore muestra imagenes junto a los datos de perfil.
QA
npm run checkynpm run buildpasaron.
v3.5.0 2026-05-19
Lore y perfiles centralizados en src/contentTodos los personajes conectados como Markdown con DE/EN/ESEstructura CDN e indice multimedia actualizadosCorrecciones de carga y covers en Rebel PlayerRobots.txt y cabeceras de seguridad limpiadas
Content y lore
- El antiguo espacio de trabajo de historias se movio a la estructura productiva.
- La cronica esta ahora en
src/content/lore/lore.md. - Los perfiles oficiales estan en
src/content/lore/figurenprofile.md. - Personajes principales y secundarios tienen Markdown en
src/content/characters/.
Perfiles y Sobre nosotros
- La pagina Sobre nosotros carga personajes desde la collection.
- Personajes principales y secundarios se ordenan por
category. - Mei fue agregada como principal y Punk-Muschi paso a secundarios.
- Las paginas de personajes estan conectadas para DE, EN y ES.
Internacionalizacion
- Los archivos de idioma fueron sincronizados.
- Los tres idiomas contienen 439 claves.
CDN e indice multimedia
scripts/sync.jspuede crear el indice desde una estructura local.- La galeria se escanea recursivamente y las rutas CDN se codifican de forma segura.
Rebel Player
- Se corrigieron imagen fallback, estado inicial y URLs de covers.
SEO, seguridad y QA
robots.txty cabeceras de seguridad fueron limpiadas.npm run checkynpm run buildpasaron.
v3.4.1 2026-04-25
Node 24 como estandar.npmrc con legacy-peer-deps=true para CIPrivacidad actualizada al 25 de abril de 2026
Herramientas de build
- Nueva
.nvmrccon24para Cloudflare Pages, GitHub Actions y gestores locales. .npmrccontienelegacy-peer-deps=truey resuelve el conflicto peer de TypeScript 6 y@astrojs/check.
Consistencia de stack
- Los cuatro proyectos socios usan ahora la misma base: Node 24 y npm con
legacy-peer-deps.
Privacidad
- La fecha de privacidad se actualizo al 25 de abril de 2026 en DE, EN y ES.
Sin cambios de contenido
- Codigo y claves i18n permanecen sin cambios.
v3.4.0 2026-04-24
Alineacion de stack: Rebel Girl FM sigue como referencia DE/EN/ESLos cuatro proyectos socios soportan tres idiomasi18n, privacidad y changelogs sincronizados
Release de sincronizacion
Esta entrada documenta el despliegue de idiomas en los tres proyectos socios. Rebel Girl FM ya tenia DE/EN/ES y sirvio como referencia.
Proyectos socios ampliados
- dampferburg: nuevas rutas espanolas, tres banderas SVG inline e i18n de sitemap.
- dampfermessen: unas 150 claves espanolas nuevas y tercer boton de bandera.
- noob-town: espanol como tercer idioma con switcher de banderas inline.
Rebel Girl FM como referencia
El patron src/i18n/{de,en,es}.ts sirvio de modelo.
Sin cambios locales
- La base de codigo quedo sin cambios.
- La fecha de privacidad ya coincidia con el 24 de abril de 2026.
v3.3.0 2026-04-24
Script de configuracion CloudflareFallback de adblocker para feedback TallyStalker renombrado de Dieter a Karl LauerbachActualizaciones de TypeScript, Astro y WranglerFecha de privacidad actualizadaStack unificado con proyectos socios
Automatizacion Cloudflare
- Se agrego
wrangler.tomlcon binding de bucket R2. npm run setup:cloudflarecomprueba y crea recursos Cloudflare por CLI.- El script usa
npx wranglerpara fiabilidad multiplataforma.
Fallback de feedback
- Si el formulario Tally es bloqueado, aparece una caja con enlace directo tras cinco segundos.
- Se agregaron tres claves nuevas por idioma.
Renombre de personaje
- Dieter Lauerbach paso a llamarse Karl Lauerbach en traducciones y documentacion.
Dependencias
- Astro, TypeScript, Wrangler, Tailwind y Vite fueron actualizados.
CSS y build
- Se elimino una directiva
@sourcede Tailwind para evitar un problema de build.
Stack unificado
- Rebel Girl FM comparte ahora base tecnica con los proyectos socios.
Privacidad
- La fecha de privacidad se actualizo al 24 de abril de 2026.
v3.2.0 2026-04-19
Pagina de feedback con Tally inlineDocumentacion IA ampliada a 16 modulosPrivacidad: seccion Tally.so agregadaFavicon movido al CDNCorrecciones de hidratacion y rutas de video
Pagina de feedback
- Nuevas paginas
/feedback,/en/feedbacky/es/feedbackcon formulario Tally embebido. - El popup fue reemplazado por formulario inline para mejor privacidad y UX.
- Se agregaron enlaces en el footer y claves de traduccion.
Favicon
- El favicon se movio al archivo WebP del CDN.
- Se elimino una entrada SVG duplicada.
Documentacion IA
- La documentacion antigua fue reemplazada por 16 modulos.
CLAUDE.mdfue actualizado.
Privacidad
- Se agrego una seccion de Tally.so en DE, EN y ES.
- La fecha de privacidad se actualizo al 19 de abril de 2026.
Limpieza y correcciones
- Decap CMS fue eliminado.
- Los componentes hero hidratan mas rapido.
- Se corrigieron filtros de ruta de video y la ruta ES de galeria.
v3.1.0 2026-04-08
Migracion completa a Astro 6Campo de sexualidad para todas las personasPlaylists de videos musicales en Rebel PlayerOptimizacion SEO y PWADocumentacion para IACorrecciones de imagenes y playlists
Migracion completa a Astro 6
- El proyecto paso de HTML/JS estatico a Astro 6, Preact y Tailwind CSS v4.
- 85 paginas se generan ahora con mejor rendimiento, seguridad y SEO.
- Player, galeria y filtros funcionan como islas Preact.
- Nanostores mantiene el estado global de reproduccion.
- Perfiles y changelog usan Astro Content Collections.
- Las transiciones de pagina usan
<ClientRouter />.
Actualizaciones de personas
- Se agrego un campo de sexualidad a todas las paginas de persona.
- Todos los valores fueron traducidos a aleman, ingles y espanol.
- Las paginas incluyen JSON-LD
Person.
Rebel Player
- Se agrego un grupo de playlists de videos musicales.
media-index.jsonse carga en el cliente para evitar problemas de hidratacion.- Hay indicador de carga durante la inicializacion.
SEO y rendimiento
- Se agregaron JSON-LD RadioStation, dimensiones OG, tags Twitter/X y manifest PWA.
- Las imagenes de persona usan carga temprana cuando corresponde.
Seguridad y correcciones
- CSP se amplio para el CDN multimedia.
- Se corrigieron URLs de imagenes, OG, playlists y despliegue.
Documentacion IA
- Se agregaron
CLAUDE.mdy la carpetaki/para asistentes IA.
v3.0.0 2026-04-07
Migracion multimedia a Cloudflare R2 CDNFormatos antiguos eliminadosLimpieza de codigo y actualizaciones
Migracion a Cloudflare R2
- Todos los archivos multimedia se sirven ahora desde
cdn.rebel-girl-fm.de. - Cloudflare cachea y entrega los medios globalmente.
- La carpeta
public/downloads/fue eliminada del repositorio.
Limpieza
- Se eliminaron MP4, WAV y PNG antiguos; quedan WebM, Opus y WebP.
- Se quitaron scripts PowerShell puntuales y artefactos temporales.
- Se resolvieron hints y warnings de TypeScript.
Actualizaciones
- Astro, Preact y dependencias de seguridad fueron actualizados.
- La importacion
zmigro aastro/zod.
Correcciones
- El indice de letras se corrigio de
Audio/aSongtexte/. - Se corrigio un error Unicode en el nombre del logo StorytellerZ.
- La imagen de Ex-Freund se agrego en perfiles y Sobre nosotros.
- La edad del Teufel se acorto.
Privacidad
- La politica de privacidad menciona Cloudflare R2 como CDN multimedia en los tres idiomas.
v2.9.5 2026-04-05
Nuevas imagenes para personajes secundariosConversion de imagenes de PNG a WebP
Actualizaciones multimedia
- Se agregaron nuevos assets para Stalkerin, Stalker y las Hermanas de Radio y se convirtieron a WebP.
- Las imagenes generadas se conectaron a las paginas de personajes secundarios.
- Los PNG antiguos se eliminaron y el indice multimedia se reconstruyo con
sync.js.
v2.9.4 2026-04-03
Lore de personas en todas las paginas de perfilPagina Sobre nosotros con descripciones de lorei18n 372 claves x 3 idiomasActualizaciones de dependencias y configuracion
Lore de personas
- Todas las paginas de persona muestran ahora la historia completa de fondo.
- Un titulo “Lore:” con el color del personaje aparece antes de cada texto.
- Descripcion y story antiguos se quitaron; la lore queda como texto principal.
Datos de personas
- La edad se muestra como
DD.MM.YYYY (X anos). - Los generos se actualizaron a los tres principales de los prompts.
- Se elimino la visualizacion duplicada del rol.
Mejoras de layout
- La imagen de persona llena ahora toda la altura de la caja de informacion.
Sobre nosotros e i18n
- La pagina Sobre nosotros recibio descripciones basadas en lore en DE, EN y ES.
- Los archivos de traduccion se sincronizaron a 372 claves por idioma.
- El script de i18n detecta tambien valores con comillas dobles.
Dependencias y configuracion
- Astro, Preact y la configuracion de rutas TypeScript fueron actualizados.
- README fue reescrito con documentacion del proyecto.
v2.9.3 2026-03-24
Reescritura de rutas SPA (modo dual)Error F5 corregidoClick de tabs corregido
Reescritura de rutas SPA
- Modo dual: produccion usa clean URLs; otros entornos usan hash routing y son seguros con F5.
useCleanUrls(): detecta el dominio de produccion y controla el modo de URL.- Deteccion universal: los handlers evaluan hash, ruta y parametro
?p=. - Segundo
popstate: fallback de ruta para clean URLs.
Correcciones
- Corregidos errores de archivo no encontrado al pulsar F5.
- Las tabs vuelven a responder al click.
- Eliminada una
}duplicada en el primer handlerpopstate.
v2.9.2 2026-03-24
Fallback de imagen y conversion multimediaPerfiles de personajes con bloques de datosSincronizacion i18n (308 claves x 3 idiomas)Plan de migracion a Astro creado
Fallback de imagen y conversion multimedia
- Las 52 imagenes recibieron WebP
<source>mas fallback JPG<img>. - Se generaron 397 JPG, se convirtieron 6 MP4 a WebM y se quitaron 7 PNG duplicados.
- Los pares de formato estan completos: Opus/MP3, WebM/MP4 y WebP/JPG.
Perfiles de personajes
- Se agregaron perfiles para Rebel Girl, Shadowman, Folk-Hexe, Punk-Muschi, Freundin y Rumpelstilzchen.
Sincronizacion i18n
- Nuevas claves de etiquetas, correcciones de duplicados y 29 claves ES faltantes.
- Cobertura completa: 308 claves para DE, EN y ES.
v2.9.1 2026-03-21
Correccion de rutas en sistema locali18n completado (284 claves)Correccion del validador de assets
Correcciones y enrutamiento
- Rutas locales: fallback por hash para acceso directo local.
- OnLoad SPA reset: eliminacion de un listener obsoleto.
- i18n completado: titulos faltantes de la pagina de error en DE y ES.
- Validador de assets: regex corregida en
check_assets.js.
v2.9.0 2026-03-17
Actualizacion RGPD/GDPRIntegracion de streaming en TwitchMigracion a Cloudflare
Cumplimiento y hosting
- Actualizacion RGPD/GDPR: revision completa de la politica de privacidad en DE, EN y ES.
- Migracion a Cloudflare: hosting mediante Cloudflare Pages y GitHub.
Media y Twitch
- Streaming en Twitch: integracion fluida en el reproductor.
- Adaptacion automatica de UI: los controles se ocultan automaticamente durante directos.
v2.8.0 2026-03-16
Clean URLs (History API)Playlists jerarquicasAuditoria y refuerzo de seguridadCumplimiento WCAG
Gran actualizacion de funciones
- Clean URLs: cambio completo a enrutamiento moderno con History API.
- Playlists jerarquicas: estructura de carpetas mas profunda para fuentes de audio.
- Selector de idioma moderno: menu desplegable para DE, EN y ES.
Seguridad
- Cabeceras HTTP de seguridad, CSP, Permissions-Policy y mitigacion XSS.
UX y accesibilidad
- Mejora de contraste, indicadores de foco y pagina 404 renovada.
v2.7.0 2026-03-16
Refuerzo de seguridad (HSTS/CSP)Cumplimiento WCAG (contraste)Clean URLs mediante redireccion 404
Seguridad y accesibilidad
- Refuerzo de seguridad: endurecimiento inicial de cabeceras.
- Cumplimiento WCAG: mejora de contraste para mejor legibilidad.
- Clean URLs: configuracion inicial mediante redireccion 404.
v2.6.0 2026-03-16
Soporte multilingue completo (DE, EN, ES)Funciones shuffle y repetirImplementacion ARIA
Global y accesible
- Soporte multilingue completo: localizacion completa mediante i18n.
- Implementacion ARIA: etiquetas ARIA completamente traducidas.
Actualizacion del reproductor
- Modos de reproduccion: shuffle y repetir.
- Deduplicacion: limpieza automatica de formatos multimedia redundantes.
v2.5.0 2026-03-14
Enrutamiento inicialIntegracion de personas
Primera implementacion
- Enrutamiento inicial: hashes SPA y deduplicacion de videos.
- Integracion de personas: playlists de Shadowman, Freundin y Rumpelstilzchen.
v2.0.0 2025-12-23
Carga diferidaSoporte WebP y WebM
Impulso de rendimiento
- Carga diferida, WebP y WebM para una carga mas rapida de paginas y medios.
v1.0.0 2025-12-19
Lanzamiento inicialSPA basica con reproductor, galeria y funciones sociales
Lanzamiento inicial
- SPA basica con reproductor, galeria y funciones sociales.