ACTUALIZACIONES Rebel Girl FM
v3.1.0 2026-04-08
Vollständige Astro 6 MigrationSexualitäts-Feld für alle 11 PersonasMusik Videos Playlist im Rebel PlayerSEO & PWA OptimierungKI-Dokumentation (docs/ai/)Bugfixes: Charakter-Bilder, Player-Playlisten
🚀 Vollständige Astro 6 Migration
- Framework-Wechsel: Komplette Umstellung von statischem HTML/JS auf Astro 6 + Preact + Tailwind CSS v4.
- 85 Seiten werden jetzt statisch generiert — schneller, sicherer, SEO-freundlicher.
- Preact Islands: Interaktive Komponenten (Player, Galerie, Filter) als isolierte Islands.
- Nanostores: Globaler State zwischen Islands (Playback-Status, aktueller Track).
- Astro Content Collections: Charakter-Profile und Changelog als typsichere Markdown-Dateien.
- SPA Transitions: Seitenübergänge via
<ClientRouter />ohne Vollseiten-Reload.
👤 Persona-Updates
- Sexualitäts-Feld: Neues Profilfeld zwischen Alter und Wohnort auf allen 11 Persona-Seiten.
- Alle Werte in Deutsch, Englisch und Spanisch übersetzt.
- Hauptpersonas: Rebel Girl (Bisexuell), Shadowman (Hetero), Folk-Hexe (Hetero – noch nicht sicher), Freundin (Lesbisch), Rumpelstilzchen (Bisexuell), Punk-Muschi (Hetero).
- Nebencharaktere: Stalkerin (Lesbisch), Stalker (Hetero), Teufel (Bisexuell), Radioschwestern (Hetero), Ex-Freund (Hetero – möglicherweise schwul).
- Person JSON-LD: Alle Persona-Seiten haben jetzt strukturierte Daten für Suchmaschinen.
🎵 Rebel Player
- Musik Videos Playlist: Neue Playlist-Gruppe im Video-Bereich mit 7 Unterplaylisten (Rebel Girl, Folk-Hexe, Freundin, Rumpelstilzchen, Shadowman, DampferBurg, Cover-Songs).
- Fetch statt SSR-Prop:
media-index.json(262 KB) wird jetzt client-seitig geladen statt als SSR-Prop serialisiert — behebt leere Playlist-Anzeige. - Ladeindikator während der Player-Initialisierung.
🔍 SEO & Performance
- JSON-LD RadioStation auf der Startseite mit vollständigen Metadaten.
- OG-Image Dimensionen (1200×630) und korrekte CDN-URLs in allen Meta-Tags.
- Twitter/X Tags:
twitter:siteundtwitter:creator(@DampferBurg) ergänzt. - PWA Manifest (
manifest.webmanifest): Seite ist jetzt als App installierbar (Android/iOS). - App-Shortcuts: Player und Galerie direkt vom Home-Screen erreichbar.
- Persona-Bilder:
fetchpriority="high"+loading="eager"für sofortiges Laden. - Footer: Layout-Container mit
max-w-7xlfür konsistente Breite. - robots.txt: AI-Bots explizit erlaubt,
/admin/blockiert, RSS-Feed verlinkt.
🔒 Sicherheit
- CSP erweitert:
cdn.rebel-girl-fm.deinmedia-src,img-srcundconnect-srceingetragen — Medien wurden zuvor vom Browser blockiert. - manifest.webmanifest mit korrektem
Content-Type: application/manifest+jsonCache-Header.
🐛 Bugfixes
- Charakter-Bilder (Über-Uns): Alle 6 Charakter-MD-Dateien hatten lokale Bildpfade — auf CDN-URLs korrigiert.
- Player leere Playlist:
media-index.jsonals 262 KB SSR-Prop führte zu Hydration-Problemen — auf Client-Fetch umgestellt. - OG-Image URL: Falsche Domain
rebel-girl-fm.de/downloads/...→cdn.rebel-girl-fm.de/downloads/.... - Deploy Workflow: Node.js 20 → 22 (Projekt-Anforderung).
- GitHub Actions Workflow entfernt — Deploy läuft direkt über Cloudflare Pages Git-Integration.
📚 KI-Dokumentation
CLAUDE.mdim Repo-Root — wird von Claude Code automatisch geladen.docs/ai/mit 10 strukturierten Anleitungsdateien für KI-Assistenten:- Projektstruktur, Personas, R2-Speicher, Medienkonvertierung, Datei-Integrität, Optimierung, Sub-Agenten, Änderungs-Tracking, Sicherheit.
📦 Dependencies
- Tailwind CSS v4.2.2
- Astro 6.1.4 (unverändert)
v3.0.0 2026-04-07
Medien-Migration auf Cloudflare R2 CDNAlte Formate (MP4, WAV, PNG) entferntCode-Bereinigung und Dependency-Updates
🚀 Cloudflare R2 Migration
- CDN-Umstellung: Alle Mediendateien (Audio, Video, Bilder, Logos) werden jetzt über
cdn.rebel-girl-fm.de(Cloudflare R2) ausgeliefert statt lokal aus dem Repository. - Schnellere Ladezeiten: Medien werden weltweit über das Cloudflare-CDN gecacht und ausgeliefert.
- Schlankes Repository: Der
public/downloads/-Ordner wurde aus dem Git-Repo entfernt — das Repo ist jetzt deutlich kleiner.
🧹 Aufräumarbeiten
- Alte Formate entfernt: 864 MP4, 863 WAV und 1 PNG Datei gelöscht — nur noch moderne Formate (WebM, Opus, WebP) im Einsatz.
- Unbenutzte Skripte entfernt: 11 einmalige PowerShell-Konvertierungsskripte und temporäre Artefakte aus dem Projekt entfernt.
- Code-Warnungen behoben: Alle TypeScript-Hints (unbenutzte Variablen, deprecations) aufgelöst — 0 Errors, 0 Warnings, 0 Hints.
📦 Updates
- Astro 6.1.3 → 6.1.4
- Preact 10.29.0 → 10.29.1
- Security-Fixes für
defuundvite z-Import aufastro/zodmigriert (Deprecation behoben)
🔧 Fixes
- Lyrics-Index repariert:
sync.jsundcheck_assets.jssuchten Lyrics im falschen Ordner (Audio/stattSongtexte/) — jetzt korrekt (1.726 Lyrics indexiert). - StorytellerZ-Logo: Unicode-Fehler im Dateinamen korrigiert (falsches Zeichen in 3 Seiten).
- Ex-Freund-Bild: Neues WebP-Bild auf allen Persona- und Über-uns-Seiten eingebunden.
- Teufel-Alter: Anzeige von “13.800.000.000 Jahre” auf “~13,8 Mrd. Jahre” gekürzt.
📝 Datenschutz
- Datenschutzerklärung um Cloudflare R2 als Medien-CDN ergänzt (alle 3 Sprachen).
v2.9.5 2026-04-05
Neue Bilder für Side-Characters hinzugefügtBildkonvertierung von PNG zu WebP
🖼️ Medien-Updates
- Neue Assets: Bilder für die Stalkerin, den Stalker und die Hirnlosen Radioschwestern hinzugefügt und in das
.webpFormat konvertiert. - Profilseiten aktualisiert: Die generierten Persona-Bilder wurden in die entsprechenden Nebencharakter-Seiten (
stalker.astro,stalkerin.astro) eingebunden. - Sauberer Speicher: Alte
.pngDateien wurden aus dem Repository gelöscht und der Media-Index viasync.jsneu aufgebaut.
v2.9.4 2026-04-03
Persona-Lore auf allen ProfilseitenÜber-Uns-Seite mit Lore-Beschreibungeni18n 372 Keys × 3 SprachenDependency- & Konfig-Updates
📖 Persona-Lore
- Lore-Texte eingebaut: Alle 5 Persona-Seiten zeigen jetzt die vollständige Hintergrundgeschichte aus den AI-Prompts.
- “Lore:” Überschrift in Charakter-Farbe vor jedem Lore-Text.
- Beschreibung & Story entfernt: Nur noch Lore als einziger Fließtext auf Profilseiten.
👤 Persona-Daten aktualisiert
- Geburtsdatum-Format: Alter wird jetzt als „DD.MM.YYYY (X Jahre)” angezeigt.
- Genres: Auf Top-3 aus AI-Prompts aktualisiert (z. B. Punk-Rock, Riot Grrrl, Post-Punk).
- Doppelte Rollen-Anzeige entfernt: Rolle nur noch in der Detail-Liste, nicht mehr als Überschrift.
🖼️ Layout-Verbesserungen
- Bild-Box: Persona-Bild füllt jetzt die volle Höhe der Info-Box (
items-stretch+object-cover).
🌍 Über-Uns & i18n
- „Über Uns”-Seite: Lore-basierte Persona-Beschreibungen in DE / EN / ES ergänzt.
- i18n Synchronisation: 372 Keys × 3 Sprachen vollständig abgeglichen.
- i18n Check-Script: Regex korrigiert, erkennt jetzt auch doppelt gequotete Werte.
⬆️ Dependency- & Konfig-Updates
- Astro 6.1.1 → 6.1.3
- @astrojs/preact 5.1.0 → 5.1.1
- tsconfig.json: Veraltetes
baseUrlentfernt, Pfade auf./-Prefix umgestellt. - README.md: Komplett neu geschrieben mit Projektdokumentation.
v2.9.3 2026-03-24
SPA-Routing Rewrite (Dual-Mode)F5-Fehler behobenTab-Klick funktionslos behoben
🔄 SPA-Routing Rewrite (Dual-Mode)
- Dual-Mode Routing: Produktions-Domain nutzt Clean URLs via
pushState. Alle anderen Umgebungen nutzen Hash-Routing — F5-sicher. useCleanUrls()Funktion: Erkennt die Produktions-Domain und steuert den URL-Schreibmodus.- Universelle URL-Erkennung: Handler werten immer Hash → Pfad →
?p=-Parameter aus. - Zweiter
popstate-Handler: Pfad-Fallback für Clean URLs hinzugefügt.
🛠️ Bugfixes
- F5-Fehler behoben: “Datei nicht gefunden” beim Drücken von F5 auf allen Tabs.
- Tab-Klick funktionslos: Tabs reagierten nicht auf Klick.
- Syntax-Fehler behoben: Doppelte
}im erstenpopstate-Handler.
v2.9.2 2026-03-24
Picture-Fallback & MedienkonvertierungCharakter-Profile mit Datenblöckeni18n Synchronisation (308 Keys × 3 Sprachen)Astro-Migrationsplan erstellt
🖼️ Picture-Fallback & Medienkonvertierung
<picture>Fallback-System: Alle 52 Bilder mit WebP<source>+ JPG<img>Fallback.- 397 JPG-Fallbacks generiert. 6 MP4→WebM konvertiert. 7 PNG-Duplikate entfernt.
- Format-Paare vollständig: 397 Opus/MP3, 24 WebM/MP4, 397 WebP/JPG.
👤 Charakter-Profile
- Profile: Rebel Girl (32), Shadowman (31), Folk-Hexe (16), Punk-Muschi (4), Freundin (30), Rumpelstilzchen (650).
🌍 i18n Synchronisation
- Neue Label-Keys, Duplikat-Fixes, 29 fehlende ES-Keys nachgepflegt.
- Vollständige Abdeckung: DE: 308, EN: 308, ES: 308 Translation-Keys.
v2.9.1 2026-03-21
Local File System Routing Fixi18n Completion (284 Keys)Asset Validator Korrektur
🛠️ Bugfixes & Routing (SPA)
- Local File System Routing: Hash-Routing-Fallback für lokalen Direktaufruf.
- OnLoad SPA Reset: Entfernung eines veralteten Event-Listeners.
- i18n Completion: Fehlende Überschriften für die Fehlerseite in DE und ES.
- Asset Validator: Korrektur fehlerhafter Regex in
check_assets.js.
v2.9.0 2026-03-17
DSGVO/GDPR UpdateTwitch Live Streaming IntegrationCloudflare Migration
🚀 Compliance & Hosting
- DSGVO/GDPR Update: Vollständige Überarbeitung der Datenschutzerklärung (DE, EN, ES).
- Cloudflare Migration: Hosting via Cloudflare Pages & GitHub.
📺 Media & Twitch Integration
- Twitch Live Streaming: Nahtlose Einbettung im Player.
- Auto-UI Adaptation: Automatisches Ausblenden von Steuerelementen während Live-Streams.
v2.8.0 2026-03-16
Clean URLs (History API)Hierarchische PlaylistsRSS FeedSecurity Audit & HardeningWCAG Compliance
🚀 Major Feature Update
- Clean URLs (History API): Volle Umstellung auf modernes Routing.
- Hierarchische Playlists: Tiefere Ordnerstruktur für Audio-Quellen.
- RSS Feed: Native Unterstützung via
/rss.xml. - Modern Language Selector: Dropdown-Menü im Header für DE, EN, ES.
🛡️ Security Audit & Hardening
- HTTP Security Headers (HSTS), CSP, Permissions-Policy, XSS Mitigation.
♿ UX & Accessibility
- Contrast Update (red-500), Focus Indicators, 404 Page Revamp.
v2.7.0 2026-03-16
Security Hardening (HSTS/CSP)WCAG Compliance (Contrast Update)Clean URL Setup via 404-Redirect
🔒 Security & Accessibility
- Security Hardening (HSTS/CSP): Initiales Hardening für Sicherheits-Header.
- WCAG Compliance: Contrast Update für bessere Lesbarkeit.
- Clean URL Setup: Initiales Setup via 404-Redirect.
v2.6.0 2026-03-16
Full Multilingual Support (DE, EN, ES)Shuffle & Repeat FunktionenARIA Implementation
🌐 Global & Barrierefrei
- Full Multilingual Support (DE, EN, ES): Komplette Lokalisierung via i18n.
- ARIA Implementation: Vollständig übersetzte ARIA-Labels.
🎵 Player & Engine Update
- Playback Modes: Shuffle- und Repeat-Funktionen.
- Deduplizierung: Automatisierte Bereinigung redundanter Medienformate.
v2.5.0 2026-03-14
Initial RoutingPersona Integration
Erste Implementierung
- Initial Routing: SPA-Hashes und Video-Deduplizierung.
- Persona Integration: Shadowman, Freundin und Rumpelstilzchen Playlists.
v2.0.0 2025-12-23
Lazy LoadingWebP & WebM Support
Performance Push
- Lazy Loading, WebP und WebM für maximale Geschwindigkeit.
v1.0.0 2025-12-19
Initial ReleaseBasis-SPA mit Player, Galerie und Social-Features
Initial Release
- Basis-SPA mit Player, Galerie und Social-Features.