Skip to content

CHANGELOG Rebel Girl FM

v3.6.66 2026-10-10
Galerieüberschrift: „Das gesamte Buchcover“.Vorderseite zusätzlich in der unteren Buchgalerie: alle drei Bilder nebeneinander am Desktop, untereinander auf Mobilgeräten; unverändert vollständig mit Bildvergrößerung.
v3.6.65 2026-10-10
CDN vollständig abgeglichen: sieben neue/geänderte Dateien hochgeladen, Remote-only-Dateien erhalten. Kompatible Tool-Abhängigkeiten aktualisiert, Astro Language Server 2.17.2.Buchseite: Rückseite und Buchrücken ergänzen das Cover mit lokalisierten Bildtexten und gemeinsamer Lightbox. Bilder und Original-PDF verwenden die exakten kanonischen Buch-Dateinamen auf dem CDN mit Cache-Revision.Eigener Textleser samt Seitenauswahl, Vorlese-, Pausen-, Stopp- und Stimmensteuerung vollständig entfernt. Original-PDF bleibt aufklappbar und wird erst dann geladen; Öffnen und Download bleiben erhalten. Datenschutz und README angepasst.
v3.6.64 2026-10-10
Astro 7.3.8 · Vite 8.3.4 · Wrangler 4.149.0 · @cloudflare/workers-types 5.20261010.1Neuer Untertab „Buch“ unter „Über uns“: Rebel Girl FM Chronik mit Originalcover, vollständigem 148-seitigem PDF, mobil lesbarem Text und Seitenauswahl. Vorlesen ab der ausgewählten Seite mit lokalen deutschen Geräte-Stimmen, Pause/Fortsetzen und Stopp. Oberfläche DE/EN/ES; das Buch bleibt deutsch. Datenschutzhinweis ergänzt.
v3.6.63 2026-10-07
Mia, Mei und Seraphine wohnen gemeinsam als Dreier-WG im dritten Obergeschoss des Nürnberger Funkhauses. Studio-Seite, Profile, Kurztexte und Lore sind abgeglichen; Herkunft und Partnerschaft bleiben klar getrennt. Veraltete Figurenbeschreibungen und spanische Begriffe sind korrigiert. Bilddownloads verwenden cache-sichere CDN-URLs; Schema.org-Mitgliedschaft wird nur für bestätigte Moderatorinnen angegeben. Lange Code- und URL-Texte im Changelog umbrechen auf schmalen Bildschirmen.Gabriels Vorgeschichte und die Barcelona-Episode werden durchgängig aus Erzählerperspektive erzählt, ohne Bibelstellen oder Quellenkommentare; bestehende Ereignisse und offene Hintergründe bleiben erhalten.Drei kompatible Build-Abhängigkeiten aktualisiert: @babel/helpers und @babel/traverse auf 7.29.10, caniuse-lite auf 1.0.30001815.
v3.6.62 2026-10-07
Alle 20 Lore-Figurenbilder verwenden die versionierte CDN-Auslieferung. Gecachte 404-Antworten betreffen dadurch nicht mehr die älteren Figuren; die Browserprüfung erfasst jetzt auch die CSS-Hintergrundbilder jedes Personenabschnitts.
v3.6.61 2026-10-07
112 frühere Bildseiten behalten permanente Weiterleitungen; mobile Profiltitel brechen ohne horizontalen Überlauf um.CDN und lokale Medienindexe vollständig mit dem aktuellen Medienbestand abgeglichen; genaue Dateinamen und Ordner erhalten.Originalbilder, Charakterporträts, Galerien, Player-Cover und Hintergrundbilder werden wieder direkt über den eigenen CDN ausgeliefert; optimierte Übersicht-Miniaturen bleiben Website-Assets.Kira, Erzengels Gabriel, Marlon Dawson und Rotkäppchen mit bestätigter dreisprachiger Biografie; direkte Profil-Lore-Buttons und individuelle Kartenrahmen veröffentlicht.Astro Language Server auf 2.17.1 und Cloudflare Workers Types auf 5.20261007.1 aktualisiert; kompatible transitive Updates eingespielt.TypeScript 6.0.3 bleibt wegen nachgewiesener Astro-Check-Inkompatibilität mit TypeScript 7; Preact 10.29.8 wegen des Astro-Integrations-Peerbereichs.Generierte Medienindexe, Bild-/Video-Sitemaps und Projektdokumentation aktualisiert.
v3.6.60 2026-10-06
Rotkäppchen: Vampirin, seit 350 Jahren im Dunklen Wald und Vorlage des viel weniger blutigen Märchens. Freundschaft mit Mia vor deren Umzug nach Nürnberg; lange kein Wiedersehen. Geburtstag 12.02.1676; Aus Transsilvanien; Dämonisch und Latein; heterosexuell, soweit bekannt. Wenig Wissen aus Mias Erzählungen; sie meidet Rumpelstilzchen aus unbekanntem Grund.Marlon Dawson: bestätigtes Profil und Little-Rock-Lore; 35 Jahre, 18.03.1991, aus England, heterosexuell, Deutsch/Englisch. Nürnberger Rock- und Biker-Bar, Wohnung darüber, Freundschaft mit Rebel Girl und Shadowman und regelmäßige Teamfeiern.Erzengels Gabriel: bestätigtes Profil als Luzifers Bruder und Gottes direkter Bote; asexuell, etwa 13,8 Milliarden Jahre, Deutsch/Englisch/Adamitisch ohne Dämonisch. Biblisches Vorbild und fiktiver Barcelona-Konflikt mit dem Himmel klar getrennt.Alle Profilseiten haben neben dem Team-Button einen Lore-Button direkt zum eigenen Personenabschnitt. Alle Personenabschnitte verwenden bestätigte Biografien; offene Einzelangaben bleiben ausdrücklich gekennzeichnet.Neue Nebenfiguren-Seiten an das bestehende kompakte Profilschema angeglichen; zusätzliche Galerien und Zusatzfelder entfernt. Kiras Lore-Tabelle zeigt „19 Jahre, geboren am 14.05.2007“ in der Alterszeile, ohne Geburtstagszeile und mit der bestehenden Feldreihenfolge.Kiras Schulfreundschaft mit Mei: Kennenlernen mit 14 im ungeliebten Sportunterricht, Parallelklasse und damaliger Wohnort Nürnberg. Tätowieren ab 15 im Studio ihres bekannten Onkels, Meis erste Tattoos und Kiras Ruf als eine der besten Tattoo-Artists Deutschlands mit 19.Kira Chopra: bestätigtes Profil mit Alter, Geburtstag, Herkunft, Wohnort und drei Sprachen; Wiedersehen mit Mei im Zug und Einstieg als Haus- und Hof-Tattoo-Artist.

Kira Chopra: bestätigtes Profil mit Alter, Geburtstag, Herkunft, Wohnort und drei Sprachen; Wiedersehen mit Mei im Zug und Einstieg als Haus- und Hof-Tattoo-Artist.

Alle Profilangaben, Kurzgeschichte, ausführliche Geschichte und Lore sind in DE/EN/ES synchronisiert. Die acht bestehenden Kira-Bilder bleiben unverändert; Auch Erzengels Gabriel, Marlon und Rotkäppchen haben bestätigte Biografien. Kein Musikgenre oder unbestätigtes Geburtsjahr wurde ergänzt.

Kiras Schulfreundschaft mit Mei: Kennenlernen mit 14 im ungeliebten Sportunterricht, Parallelklasse und damaliger Wohnort Nürnberg. Tätowieren ab 15 im Studio ihres bekannten Onkels, Meis erste Tattoos und Kiras Ruf als eine der besten Tattoo-Artists Deutschlands mit 19.

v3.6.59 2026-10-06
Vier neue Nebencharakterseiten mit bestätigten Namen und Bildern; Alter, Sprachen und Geschichte bleiben ausdrücklich offen.Medienpfade folgen der neu geordneten lokalen Ordnerstruktur ohne Umbenennung der Quellen.

Figuren und Medien

  • Erzengels Gabriel, Kira, Marlon und Rotkäppchen sind in DE/EN/ES verfügbar und am Ende der Nebencharakterübersicht verlinkt. Es wurden keine Biografien, Beziehungen, Rollen oder Genres ergänzt.
  • Da die geprüften neuen CDN-Pfade noch 404 liefern, werden 202 ausgewählte WebP-Dateien (Figuren, Hintergründe, Playlist-Cover; rund 15,4 MB) als projektinterne Bildkopien ausgeliefert. Die kanonischen Quellpfade bleiben separat erhalten. Kein R2-Upload und kein Deployment.
  • Die Übersicht nutzt zusätzlich 20 lokal erzeugte 384-Pixel-WebP-Vorschaubilder (500.640 Bytes); die Vollbilder und Quellen bleiben unverändert. Bild-SEO und Sitemap referenzieren die tatsächliche Projektbildauslieferung.
  • Kompatible Paketupdates einschließlich Astro 7.3.6, Vite 8.3.3 und Wrangler 4.148.0; sharp 0.35.5 ersetzt den verwundbaren Override. Preact 11 und TypeScript 7 bleiben wegen Integration-/Checker-Peergrenzen ausgespart.
v3.6.58 2026-09-30
News öffnet auch beim Aktualisieren der Songs und Bilder ohne Wartezeit auf externe Abfragen.Ein fehlerhafter YouTube-Fallback mit Platzhalter-Links wurde entfernt.

News schneller öffnen

  • Die News-Seite zeigt vorhandene, geprüfte R2-Daten sofort an. Veraltete Song- und Bildlisten werden im Hintergrund aktualisiert, statt den Seitenaufbau zu blockieren.
  • Der YouTube-Bereich bleibt beim geprüften R2-Snapshot; es werden keine ausgedachten Videos oder Links angezeigt.
  • Bei nicht erreichbaren Quellen bleibt die letzte gültige Liste sichtbar. Ohne gespeicherten Song-Snapshot wird bis zur nächsten erfolgreichen Aktualisierung der normale Leerzustand angezeigt.
v3.6.57 2026-09-29
Galerie und Downloadlisten zeigen zunächst 48 Kacheln statt bis zu 1.098 gleichzeitig; weitere Einträge bleiben verfügbar.Die Bild-Sitemap ordnet wichtige Bilder ihren eigenen Bildseiten zu.Sechs neue WebP-Dateien wurden im CDN ergänzt und der Medienindex auf 789 Galeriebilder aktualisiert.

Ladezeit und Bildersuche

  • Alle bestehenden Galerie- und Download-Eintraege, Filter und die Lightbox bleiben erhalten. Pro Ansicht werden zuerst 48 Kacheln gerendert; ueber „Weitere Bilder/Downloads anzeigen“ kommen jeweils 48 hinzu. Auch ohne JavaScript sind die übrigen Einträge über benannte Links erreichbar.
  • Die zuvor auch in Englisch und Spanisch deutschen Download-Ueberschriften sind jetzt passend uebersetzt.
  • Die Bild-Sitemap führt 674 Bilder mit eigener indexierbarer Bildseite statt dreifach unter den drei Galerie-Routen; die übrigen 115 Bilder bleiben auf der Galerie verzeichnet. Alle 789 CDN-Bild-URLs bleiben enthalten. Bild-URL, kanonische Bildseite, Titel, Alt-Text und strukturierte Bilddaten sind separat prüfbar.
  • Weniger wiederholte strukturierte Daten im Galerie-HTML. Eine Suchmaschinenplatzierung lässt sich dadurch nicht garantieren.
v3.6.56 2026-09-29
YouTube-News werden automatisch im Hintergrund aktualisiert; der News-Tab wartet nicht mehr auf den defekten Feed.Technische Ausfallmeldungen erscheinen nicht mehr neben vorhandenen Listen.

News und Ladezeit

  • Der öffentliche YouTube-Atom-Feed des Kanals liefert HTTP 404. Ein lokaler, alle 15 Minuten laufender OAuth-Dienst lädt die acht neuesten bestätigten Videos über die YouTube Data API und schreibt nur geprüfte öffentliche Metadaten in den R2-Snapshot. Der News-Tab liest diesen Snapshot ohne Netzwerkanfrage an YouTube; bei einem Fehler bleibt der letzte gültige Stand erhalten.
  • Bei vorhandenen News-Listen werden kurzzeitige Quellfehler nicht mehr Besuchern angezeigt. Quellenlinks und Datumsangaben bleiben sichtbar; ohne gültige Liste bleibt die reguläre Leermeldung.
  • Keine OAuth-Zugangsdaten und keine Besucherinformationen werden an den Browser übertragen.
v3.6.55 2026-09-28
News, CDN und dreisprachige Inhalte aktualisiert

News für unsere Fans

  • Der News-Tab zeigt jeweils acht aktuelle Songs vom Rebel-Girl-FM-Suno-Profil, Videos vom offiziellen YouTube-Kanal und Bilder aus unserem CDN. Neue Einträge verdrängen die ältesten; Filter zeigen wahlweise nur eine Kategorie oder alle Bereiche.
  • Die Karten behalten ihre Datumsangaben und denselben dunklen Hintergrund. Nur die Rahmen unterscheiden Suno (violett), YouTube (rot) und Bilder (hellblau); die Bereichsüberschriften sind zentriert.
  • Quellen und ehrliche Aktualisierungsangaben stehen in der Einleitung. Ein vorübergehender Fehlschlag beim Nachladen der Bildliste wird nicht als technische Warnung über den Bildern angezeigt.

Medien, Technik und Datenschutz

  • Ein fehlendes Shadowman-Cover wurde im CDN ergänzt; der generierte Medienindex enthält nun 1061 Audios, 1098 Videos, 1061 Liedtexte und 783 Galeriebilder.
  • Kompatible Updates: Astro 7.3.5, Nanostores 1.5.4, Vite 8.3.1, Wrangler 4.142.0 und Cloudflare Workers Types 5.20260928.1. TypeScript bleibt wegen der Peer-Anforderung von Astro Check auf 6.0.3.
  • Datenschutztexte in DE/EN/ES erklären die serverseitige Bildauswahl und den Bildabruf über unser Cloudflare-CDN. UI-Schlüssel, Platzhalter sowie Lore- und Changelog-Dateien wurden sprachübergreifend abgeglichen.
v3.6.54 2026-09-24
Kompatible Astro- und Cloudflare-Abhängigkeiten aktualisiert

Technische Wartung

  • Astro 7.3.4, Cloudflare-Adapter 14.3.3, Wrangler 4.137.0 und Workers Types 5.20260923.1 im Lockfile aktualisiert.
  • Astro Check mit Projektregressionen, Produktions-Build, Sitemap-Prüfung und npm-Sicherheitsaudit bestanden.
  • Asset-Prüfung im R2-Modus korrigiert: statische CDN-Mediendateien werden direkt und mit Zeitlimit geprüft statt gegen einen lokalen Ordner. 27 Referenzen geprüft.
  • Die dreisprachige Desktop-Navigation bleibt ab 1400 Pixeln ohne horizontalen Überlauf; auf kleineren Breiten greift das mobile Menü.
  • Die exakte Route /admin erhält jetzt wie alle Admin-Unterseiten den Header X-Robots-Tag: noindex, nofollow, noarchive.
  • Datenschutzhinweise auf den überprüften Projektstand datiert; keine Änderung der Datenverarbeitung.
  • Am 24. September nach vollständigen Prüfungen direkt auf Cloudflare Workers veröffentlicht und der identische Quellstand auf GitHub gesichert. Ein GitHub-Push allein löst derzeit keinen Workers-Build aus.
  • Lokale Vorschau: Die Desktop-Navigation hat mehr Abstand zwischen den Menüpunkten; mit dem neuen News-Tab wechselt die längere spanische Navigation bei schmaleren Desktopbreiten ins mobile Menü. Diese Anpassung ist noch nicht öffentlich veröffentlicht.

News · neueste Suno-Songs (lokale Vorschau)

  • Direkt nach Home zeigt der neue News-Tab in DE/EN/ES die 16 neuesten öffentlichen Rebel-Girl-FM-Songs des Suno-Profils @dampferbug mit Originaltiteln, Datum und externem Suno-Link. Andere Projekte auf dem Profil bleiben ausgeschlossen.
  • Die Website prüft die Suno-Liste serverseitig bei Bedarf etwa alle 15 Minuten, sortiert nach Veröffentlichungsdatum und ersetzt die älteste Position automatisch. Der letzte erfolgreiche Stand liegt als JSON im R2-CDN; bei einem Suno-Ausfall bleibt er sichtbar. Keine Suno-Einbettung oder direkte Suno-Medienladung im Browser.
  • Die Datenschutzhinweise wurden für diesen serverseitigen Datenabruf aktualisiert. Noch kein Cloudflare-Deploy und kein GitHub-Push dieser lokalen Änderung.

News · Suno und YouTube (lokale Weiterentwicklung, 28. September)

  • Überschrift und Beschreibung zeigen jetzt den News-Bereich für die jeweils acht neuesten Rebel-Girl-FM-Songs auf Suno und Videos auf dem offiziellen YouTube-Kanal. Die ältere 16-Song-Vorschau oben ist damit abgelöst.
  • Neue Einträge verdrängen automatisch die ältesten; beide Listen werden serverseitig bei Bedarf etwa alle 15 Minuten geprüft und zuletzt erfolgreiche Ergebnisse in R2 aufbewahrt. YouTube wird nicht eingebettet; die Datenschutzhinweise wurden für den serverseitigen Videoabruf ergänzt.
  • Diese Änderungen sind eine lokale Vorschau, nicht auf Cloudflare veröffentlicht.

News · CDN-Bilder und Filter (lokale Weiterentwicklung)

  • Zusätzlich erscheinen acht nach CDN-Uploadzeit sortierte WebP-Bilder. Neue Uploads verdrängen die ältesten; die R2-Liste wird bei Bedarf etwa alle 15 Minuten neu geprüft. Bei R2-Ausfall bleibt der letzte Stand erhalten. Die lokale Vorschau verwendet bei fehlenden R2-Objekten acht am 28. September geprüfte CDN-Bilder als Ersatz.
  • Drei umschaltbare Filter zeigen wahlweise nur Suno-Songs, YouTube-Videos oder CDN-Bilder. Ohne aktiven Filter sind alle drei Bereiche sichtbar. Keine Veröffentlichung auf Cloudflare.

News · Darstellung verfeinert (lokale Vorschau)

  • Nummern auf allen Song-, Video- und Bildkarten entfernt; das jeweilige Datum bleibt erhalten. Alle Karten haben wieder denselben dunklen Hintergrund und rote Aktionslinks wie im ursprünglichen Kartenstil; nur die Rahmen unterscheiden sich je Kategorie: Suno violett, YouTube rot, CDN-Bilder himmelblau.
  • Quellenlinks und Aktualisierungsangaben aller drei Bereiche stehen gemeinsam in der einleitenden Beschreibungsbox; die Bereichsüberschriften wiederholen sie nicht. Bei lokalem Bild-Fallback wird der geprüfte Bildstand statt einer erfundenen Abrufzeit angezeigt.
  • Der einleitende Text stellt Songs, Videos und Bilder nun aus Sicht von Rebel Girl FM direkt den Fans vor; die Quellen- und Aktualisierungszeilen bleiben unverändert.
  • Die drei Bereichsüberschriften stehen einheitlich zentriert über ihren Karten.
  • Ein vorübergehender Fehlschlag beim Aktualisieren der Bildliste wird Besuchern nicht mehr als Warnung über den Bildern angezeigt; der letzte Bildstand bleibt verfügbar und seine Datierung in der Einleitung sichtbar.
v3.6.53 2026-09-19
StorytellerZ-Navigation und neue Charakter-, Studio- und Kanäle-Seiten

Neue Navigation

  • „ÜBER UNS“ bündelt jetzt Charaktere, Lore sowie Studio & Gebäude in einem zugänglichen Dropdown.
  • „SOCIAL MEDIA“ führt direkt zur neuen Übersicht der StorytellerZ-Kanäle.

Neue Seiten

  • Die Charakterübersicht trennt Haupt- und Nebencharaktere und verlinkt auf die vollständigen Profile; die doppelte Einleitungsüberschrift und die beiden redundanten Verweisboxen auf „Über uns“ wurden entfernt.
  • Die Studio-Seite zeigt Außenansichten und alle Grundrisse vom Erdgeschoss über das 1. bis 5. Obergeschoss bis zum Dach mit Dachterrasse in einer per Tastatur und Touch bedienbaren Lightbox.
  • Die Seite „Konzertbühne“ zeigt vier CDN-Bühnenmotive in einer vergrößerbaren Galerie, ohne einen festen Veranstaltungsort oder eine dauerhaft eigene Bühne zu behaupten.
  • Die StorytellerZ-Seite kennzeichnet StorytellerZ als unabhängigen Kooperationspartner und bündelt dessen offizielle Website und Discord in der oberen Informationsbox; das 4×3-Raster darunter ist ausschließlich für freiwillig gelistete Mitgliederkanäle und freie Plätze vorgesehen.

Sprachen und Mobilgeräte

  • Alle neuen Inhalte sind auf Deutsch, Englisch und Spanisch verfügbar.
  • Navigation, Kartenraster und Bildansicht wurden für Mobilgeräte und Desktop geprüft.
  • Die Charakterkarten folgen jetzt der freigegebenen Reihenfolge mit zentrierten Folgereihen; Einleitung und Außenansicht der Studio-Seite sind breiter und flacher angelegt.
  • Mehrteilige Seitenüberschriften verwenden jetzt durchgängig eine zweite Akzentfarbe; bereits zweifarbige und einwortige Überschriften bleiben unverändert.
  • Der Rebel Player besitzt jetzt die zweifarbige Seitenüberschrift „REBEL PLAYER“.
  • Der Rebel Player gleicht Audio- und Videoquellen vollständig mit dem Medienindex ab, ergänzt Teufel, Radioschwestern und weitere vorhandene Musikvideo-Kanäle und sortiert jede Quellengruppe alphabetisch.
v3.6.52 2026-09-19
Astro- und Cloudflare-Toolchain aktualisiert

Toolchain

  • Astro 7.3.3, der Cloudflare-Adapter 14.3.2, Wrangler 4.135.0 und Cloudflare Workers Types 5.20260919.1 sind installiert.
  • TypeScript bleibt wegen der Astro-Check-Kompatibilität auf 6.0.3.
  • Der Astro Language Server bleibt wegen eines Parserfehlers in 2.17.0 kompatibel auf 2.16.16 begrenzt.

Validierung

  • Astro Check, i18n-, Admin-Security-, Charakter-Lore- und Galerie-Regressionsprüfungen, Asset-Check, Produktions-Build und npm-Sicherheitsaudit sind erfolgreich.
v3.6.51 2026-09-19
42 neue Bilder im CDN und ein vollständig synchronisierter Medienindex

CDN und Medienindex

  • 42 neue WebP-Bilder wurden additiv in Cloudflare R2 hochgeladen; vorhandene und ausschließlich remote gespeicherte Objekte blieben unangetastet.
  • Der Medienindex umfasst jetzt 1061 Audiodateien, 1098 Videos, 1061 Lyrics-Dateien und 778 Galeriebilder.
  • Ein nicht mehr vorhandener alter Studio-Grundriss wurde aus dem Medienindex entfernt; die aktuellen Studio- und Grundrissbilder sind vollständig enthalten.
  • Bild- und Video-Sitemaps wurden aus dem aktuellen Bestand neu erzeugt.

Validierung

  • Vollständiger R2-Abgleich, CDN-Prüfung, Asset-Check, Projektchecks und Produktionsbuild wurden erfolgreich ausgeführt.
v3.6.50 2026-09-12
13 neue Medien additiv in den Rebel-Girl-FM-CDN aufgenommenMedienindex und Bild-/Video-Sitemaps aktualisiertCharakter-Sprachprofile und Sprach-Lore veröffentlicht

CDN und Medienindex

  • 13 neue Dateien wurden in Cloudflare R2 hochgeladen; vorhandene und ausschließlich remote gespeicherte Objekte blieben erhalten.
  • Der Medienindex umfasst jetzt 1061 Audiodateien, 1098 Videos, 1061 Lyrics-Dateien und 737 Galeriebilder.
  • Bild- und Video-Sitemap wurden aus dem aktuellen Medienbestand neu erzeugt.

Charaktere und Lore

  • Die Profile aller Figuren zeigen ihre Sprachen kompakt in der bestehenden Metadatenübersicht.
  • Sofía spricht Deutsch, Englisch und mexikanisches Spanisch, aber kein Dämonisch.
  • Punk-Muschi spricht ausschließlich Katzensprache.
  • Rebel Girl besitzt Grundkenntnisse in Dämonisch und lernt mexikanisches Spanisch von Sofía.
  • Die Lore erklärt Adamitisch, Dämonisch und ihre sprachliche Verwandtschaft.

Validierung

  • Astro-, TypeScript-, i18n-, Security- und Charakter-Lore-Tests, Asset-Prüfung, Produktionsbuild sowie Sitemap-Prüfungen wurden erfolgreich ausgeführt.
v3.6.49 2026-09-12
Sprachen in allen Charakterprofilen · neue Sprachen-Lore

Alle 16 Charakterprofile enthalten jetzt eine kompakte Zeile „Sprachen“ im bestehenden Profilblock mit Deutsch, Englisch und den jeweils festgelegten zusätzlichen Sprachkenntnissen. Rebel Girls Grundkenntnisse in Dämonisch und ihr laufender Unterricht in mexikanischem Spanisch bei Sofía sind ausdrücklich als noch nicht vollständig beherrscht gekennzeichnet. Die ausführlichen Lore-Profile führen die Angaben ebenfalls als Profilzeile. Die Lore erklärt außerdem Adamitisch als Ursprache Gottes sowie Herkunft, Eigenheiten und Verwandtschaft der dämonischen Sprache.

v3.6.48 2026-09-10
8 neue CDN-Medien · aktualisierter Medienindex

Der autoritative lokale Medienbestand wurde ohne Löschungen mit Cloudflare R2 synchronisiert. Neu verfügbar sind vier WebM-Musikvideos und vier WebP-Song-Cover von Der Teufel. Der Medienindex umfasst jetzt 1061 Audios, 1091 Videos, 1061 Lyrics und 731 Galeriebilder. CDN-Auslieferung, Medienindex, Sitemaps und Website wurden anschließend geprüft.

v3.6.47 2026-09-10
Astro 7.3.2 · Wrangler 4.130.0 · Security

Astro 7.3.2, Cloudflare-Adapter 14.3.1 und Wrangler 4.130.0 aktualisiert. Sicherheitskorrekturen für Sharp, SVGO, fast-uri und Browserslist. TypeScript bleibt für Astro Check auf der kompatiblen Version 6.0.3. Keine Änderung der Datenverarbeitung.

v3.6.46 2026-09-09
CDN und Medienindex auf den aktuellen lokalen Medienbestand aktualisiert6 Audios, 17 Videos, 6 Songtexte und 17 Galeriebilder ergänzt

Medienaktualisierung

Der CDN-Abgleich ergänzt 47 bislang fehlende Dateien: 6 Opus-Audios, 17 WebM-Videos, 6 Songtexte und 18 WebP-Bilder einschließlich eines Logos. Vorhandene Medien bleiben erhalten.

Der automatisch erzeugte Website-Index enthält 1061 Audios, 1087 Videos, 1061 Songtexte und 727 Galeriebilder. Bild- und Video-Sitemaps werden aus diesem Bestand neu erzeugt.

v3.6.45 2026-09-08
Lokale Wiederherstellung

Die lokal fehlenden Projektdateien wurden aus dem GitHub-Sicherungsstand vom 22. August 2026 wiederhergestellt. Vollständig erhaltene lokale Änderungen an BaseHead und Social-Media-Seite wurden übernommen. Die Abhängigkeiten wurden anhand der gesicherten Lockdatei neu installiert. Diese Wiederherstellung ist lokal; kein öffentlicher Deploy. Nicht vollständig gesicherte spätere Änderungen sind nicht Bestandteil dieses Wiederherstellungsstands.

v3.6.43 2026-08-22
Doppelte Charlie-Filter in der Bildergalerie entfernt

Bildergalerie

  • Unterschiedliche Schreibweisen der Charlie-Ordner werden nun auf jeweils einen eindeutigen Filter zusammengeführt.
  • Der Figurenfilter und der separate Song-Cover-Filter bleiben erhalten, erscheinen aber jeweils nur einmal.

Validierung

  • Ein neuer Regressionstest prüft die realen Daten aus media-index.json auf eindeutige normalisierte Filter.
v3.6.42 2026-08-22
Responsive Navigation auf Tablet- und kleinen Desktop-Breiten repariertHorizontales Seiten-Scrolling durch die überbreite Desktop-Navigation beseitigtMobile Navigation bleibt bis zu ausreichend breiten 2XL-Ansichten aktiv

Behoben

Die vollständige Desktop-Navigation wurde bereits ab 768 Pixeln eingeblendet, obwohl ihre acht Menüpunkte und der Sprachumschalter dort nicht in die Kopfzeile passten. Dadurch wurde die Website auf Tablet- und kleinen Desktop-Breiten bis weit über den sichtbaren Bereich hinaus verbreitert.

Die kompakte Navigation bleibt nun bis unter 1536 Pixel aktiv. Ab ausreichend breiten Ansichten nutzt die Kopfzeile eine größere, begrenzte Inhaltsbreite. Browserprüfungen bei 780, 1280 und 1536 Pixeln bestätigen, dass keine horizontale Überbreite mehr entsteht.

v3.6.41 2026-08-22
Cloudflare-Toolchain und Nanostores auf den neuesten kompatiblen Stand aktualisiertAbhängigkeiten, Sicherheitsheader und Frontend-Sicherheitsregeln vollständig geprüftProduktionsbuild und Live-Seite nach dem Sicherheitsupdate verifiziert

Wartung und Sicherheit

  • Nanostores auf 1.5.2, Wrangler auf 4.125.0 und Cloudflare Workers Types auf 5.20260822.1 aktualisiert.
  • TypeScript bleibt wegen der aktuellen Astro-Check-Kompatibilität auf 6.0.3.
  • Abhängigkeiten, Security-Header, externe Links, unsichere DOM-Sinks und mögliche Secret-Leaks geprüft.

Validierung

  • Astro-/TypeScript-, i18n-, Admin-Security-, Medien- und Sitemap-Prüfungen erfolgreich ausgeführt.
  • Produktionsbuild und npm audit ohne bekannte Schwachstellen abgeschlossen.
  • Live-Seite nach dem Cloudflare-Deployment funktional und visuell geprüft.
v3.6.40 2026-08-22
43 neue Medienobjekte in das Rebel-Girl-FM-CDN aufgenommenMedia-Index sowie Bild- und Video-Sitemaps vollständig neu erzeugtLokale Website und Live-Version auf denselben Medienstand synchronisiert

Medien und CDN

  • Den autoritativen Downloadbestand aus dem lokalen Object Storage mit Cloudflare R2 synchronisiert.
  • 11 neue Opus-Audios, 11 Liedtexte, 11 WebM-Videos und 10 WebP-Bilder ergänzt.
  • Der Medienindex enthält jetzt 1.055 Audios, 1.070 Videos, 1.055 Lyrics und 710 Galeriebilder.

Website und Auffindbarkeit

  • media-index.json, Bild-Sitemap und Video-Sitemap aus dem aktuellen Medienbestand neu erzeugt.
  • Deutsche, englische und spanische Website verwenden denselben aktualisierten Medienindex.
  • Projektdokumentation und Changelog-Tab auf Version 3.6.40 aktualisiert.

Validierung

  • Astro-/TypeScript-, i18n-, Sicherheits- und Medienprüfungen erfolgreich ausgeführt.
  • Produktionsbuild sowie Sitemap-/Robots-Prüfung erfolgreich abgeschlossen.
  • CDN-, Media-Index- und Live-Seiten nach dem Deployment extern geprüft.
v3.6.39 2026-08-20
README und Changelog auf den aktuellen Produktionsstand gebrachtWebsite, Flutter-App und Generator mit dem vollständigen Kanon synchronisiertSicherheits-, Medien-, Build- und Regressionstests vollständig bestanden

Dokumentation

  • README auf Version 3.6.39, den aktuellen Funktionsumfang und die neuesten Verifikationsergebnisse aktualisiert.
  • Den Changelog-Tab in Deutsch, Englisch und Spanisch um diesen Release-Eintrag ergänzt.

Website, App und Generator

  • Die vollständige Chronik und alle 16 Figurenprofile bleiben in Deutsch, Englisch und Spanisch konsistent.
  • Alle 16 Charakterseiten verwenden geprüfte dreisprachige Lore-Kurzfassungen.
  • Die Flutter-App enthält Chronik und Profile als sprachabhängige lokale Assets.
  • Der Generator lädt für alle neun Generatorfiguren das vollständige aktuelle Profil in Song-, Bild- und Videokontexte.

Validierung

  • Website: Astro- und TypeScript-Check ohne Fehler, Warnungen oder Hinweise; 614 i18n-Keys je Sprache.
  • Medienindex: 1.044 Audios, 1.059 Videos, 1.044 Lyrics und 700 Galeriebilder geprüft.
  • Sicherheitsprüfung und npm audit: bestanden, 0 bekannte Schwachstellen.
  • Produktionsbuild und Sitemap-/Robots-Prüfung: bestanden.
  • Flutter-App: Analyse, 25 Tests und Android-Debug-Build erfolgreich.
  • Generator: 84 Tests und deterministische Synchronisation aller neun Profile erfolgreich.
v3.6.38 2026-08-20
Astro, Cloudflare, Preact und Build-Tools aktualisiertMedienindex und Medien-Sitemaps nach dem vollständigen CDN-Neuaufbau synchronisiertAbhängigkeiten geprüft und npm-Audit auf 0 Schwachstellen gebrachtLokale HTTP-Vorschau gegen fehlerhafte CSP-HTTPS-Upgrades abgesichertChronik und Figurenprofile auf den erweiterten Rebel-Girl-FM-Kanon synchronisiertAlle Charakterseiten um eine kompakte dreisprachige Lore-Kurzfassung erweitertFlutter-App und Generator vollständig mit dem neuen Kanon synchronisiert

Abhängigkeiten

  • Astro auf 7.2.4, den Cloudflare-Adapter auf 14.2.3 und die Preact-Integration auf 6.0.4 aktualisiert.
  • Preact auf 10.29.8, Nano Stores auf 1.5.1, Vite auf 8.2.2, Wrangler auf 4.124.0 und Cloudflare Workers Types auf 5.20260820.1 aktualisiert.
  • TypeScript 7.0.2 getestet, wegen eines Fehlers im Astro Language Server aber nicht übernommen. TypeScript bleibt auf der aktuellen kompatiblen Version 6.0.3.
  • Transitive Pakete mit npm audit fix aktualisiert; npm audit meldet 0 Schwachstellen.

CDN und Medien

  • Den R2-Bucket vor dem Upload kontrolliert: vorhanden war ausschließlich robots.txt.
  • Alle 4.916 Dateien aus downloads neu hochgeladen; danach enthält der Bucket 4.917 Objekte einschließlich robots.txt.
  • media-index.json auf 1.044 Audio-, 1.059 Video-, 1.044 Lyrics-, 700 Galerie- und 710 Routen-Einträge aktualisiert.
  • Bild- und Video-Sitemap auf 700 eindeutige Bilder und 1.059 Videos aktualisiert.

Dokumentation

  • README, Master-Konfiguration, Tech-Stack-, Medien-, i18n- und Changelog-Dokumentation auf Version 3.6.38 synchronisiert.

Validierung

  • npm run check: erfolgreich, 0 Fehler, 0 Warnungen, 614 i18n-Keys je Sprache und bestandener Admin-Security-Test.
  • npm run check:assets, npm run build, npm run check:sitemap und npm audit: erfolgreich.

Lokale Vorschau

  • Die CSP erkennt lokale HTTP-Aufrufe über Loopback, private LAN-Adressen und Wranglers simulierte Produktionsdomain. upgrade-insecure-requests bleibt dort aus, während öffentliche HTTP-/HTTPS-Anfragen den produktiven Schutz behalten.

Lore und Figuren

  • Chronik und Figurenprofile sind in Deutsch, Englisch und Spanisch auf den erweiterten Kanon zu Tour, DoKomi-, Wacken- und Bremen-Auftritten, App-Alpha, Beziehungen sowie dem vollständigen neuen Nürnberger Funkhaus und Studio-Grundriss synchronisiert.
  • Jede der 16 Charakterseiten zeigt jetzt eine hervorgehobene „Geschichte auf einen Blick“ mit dem aktuellen, stark verdichteten Figurenstand. Ein eigener Regressionstest prüft alle Figuren in Deutsch, Englisch und Spanisch.
  • Die Flutter-App bündelt die vollständige Chronik und alle ausführlichen Profile als lokale, automatisch sprachabhängige Assets in Deutsch, Englisch und Spanisch.
  • Der Rebel-Girl-FM-Generator lädt für alle neun Generatorfiguren das vollständige aktuelle Profil unverändert in Song-, Bild- und Videokontexte; ein deterministisches Sync-Skript und 84 grüne Tests sichern die Kopplung.
v3.6.37 2026-08-01
Astro, Cloudflare, Vite, Wrangler und weitere Projektpakete aktualisiertKI-Inhaltshinweis im Footer in Deutsch, Englisch und Spanisch ergaenztCDN-Medien und Datenschutzangaben aktualisiertREADME und technische Projektdokumentation synchronisiertProjektstruktur vorsichtig bereinigt und Sicherheitsrichtlinien geschaerft

Projektpakete

  • Astro wurde auf ^7.1.6, der Cloudflare-Adapter auf ^14.1.7 und die Preact-Integration auf ^6.0.2 aktualisiert.
  • Nanostores wurde auf ^1.4.2, Vite auf ^8.2.0 und Wrangler auf ^4.118.0 aktualisiert.
  • Astro Check wurde auf ^0.9.10 und Cloudflare Workers Types auf ^5.20260801.1 aktualisiert.
  • Preact ^10.29.7, Tailwind CSS ^4.3.3, Astro Sitemap ^3.7.3, Nanostores Preact ^1.1.0 sowie die Sicherheits-Overrides ws ^8.21.1 und yaml ^2.9.0 waren bereits aktuell.
  • TypeScript 7.0.2 wurde getestet, ist mit dem aktuellen Astro-Language-Server jedoch noch nicht kompatibel. Das Projekt bleibt deshalb auf der neuesten funktionierenden Version ^6.0.3.
  • Node.js 24.11.1 erfuellt weiterhin die festgelegte Node-24-Runtime.

KI-Inhaltshinweis

  • Der Footer weist jetzt darauf hin, dass Rebel Girl FM ein privates, nicht kommerzielles und fiktionales KI-Kunstprojekt ist.
  • Der Hinweis erklaert, dass Musik, Stimmen, Texte, Bilder und Videos vollstaendig oder teilweise KI-gestuetzt erstellt wurden und dargestellte Personen, Sendungen, Ereignisse und Geschichten grundsaetzlich fiktiv sind.
  • Der Inhalt ist in Deutsch, Englisch und Spanisch verfuegbar.

CDN und Datenschutz

  • Der lokale Medienbestand wurde vollstaendig mit Cloudflare R2 abgeglichen: 3767 Objekte waren unveraendert, 14 neue oder geaenderte Objekte wurden hochgeladen.
  • Der Medienindex enthaelt jetzt 1002 Audios, 1055 Videos, 1002 Lyrics und 697 Galeriebilder.
  • Der Datenschutz-Tab wurde in DE/EN/ES auf den 1. August 2026 aktualisiert und an die tatsaechlichen Datenfluesse von LocalStorage, YouTube, Twitch, Tally sowie Cloudflare DPF/Standardvertragsklauseln angepasst.

Dokumentation

  • README, Tech-Stack, Versionsstand und i18n-Keyzahlen wurden auf Version 3.6.37 synchronisiert.
  • Alle KI-Module sowie die Einstiegsdateien fuer Codex, Claude und Gemini wurden mit dem tatsaechlichen Projektstand abgeglichen; veraltete Song-Generator- und OpenRouter-Hinweise wurden entfernt.
  • Historische Migrationen, Changelogs, lokale Wrangler-Daten und weiterhin referenzierte Quellen wurden bewusst behalten. Geloescht wurden ausschliesslich reproduzierbare Build- und Test-Caches.

Security-Haertung

  • Die CSP erlaubt keine nicht verwendeten Google-Fonts- oder YouTube-Framequellen mehr; Bildquellen wurden auf die tatsaechlich genutzten Hosts begrenzt.

Kennzeichnung von KI-Medien

  • Die Video-Sitemap enthaelt jetzt den vollstaendigen Hinweis auf KI-Inhalte und fiktive Personen beziehungsweise Ereignisse; die Bild-Sitemap nutzt das aktuelle, von Google dokumentierte image:loc-Format.
  • Galerie-, Audio- und Videoseiten zeigen den Hinweis direkt beim Medienangebot und liefern ihn zusaetzlich ueber Meta-, Open-Graph- und strukturierte Bilddaten an Suchmaschinen.
  • Suchmaschinen bestimmen die endgueltige Darstellung selbst; direkt geoeffnete CDN-Rohdateien koennen technisch keinen zusaetzlichen HTML-Hinweis anzeigen.

Validierung

  • npm run check: 0 Fehler, 0 Warnungen und 0 Hinweise; DE/EN/ES jeweils 614 i18n-Keys.
  • npm run build: mit dem aktualisierten Astro-/Cloudflare-/Vite-Stack erfolgreich.
  • Sitemap/Robots-Check: 706 Routen, 697 Bilder und 1055 Videos.
  • npm audit: 0 bekannte Schwachstellen.
  • npm run check:assets: alle 32 statischen CDN-Pfade erfolgreich geprueft.
v3.6.36 2026-07-26
Song-Generator vollstaendig aus der aktiven Website entferntRebel-Player-Link, Sprachrouten und Worker-APIs bereinigtCloudflare R2/CDN mit 24 neuen oder geaenderten Dateien aktualisiertAstro, Tailwind, Vite, Wrangler und weitere Projektpakete aktualisiert

Song-Generator entfernt

  • Die Generatorseiten /song-generator, /en/song-generator und /es/song-generator wurden entfernt.
  • Der Song-Generator-Link wurde aus dem Zahnrad-Menue des Rebel Players entfernt.
  • OpenRouter-Proxy, Archiv-API, Generator-Validierung, OpenRouter-Konfiguration und Generator-spezifische Tests wurden entfernt.
  • Das ausschliesslich fuer das Generator-Archiv vorhandene Song-Management wurde aus dem deaktivierten Adminbereich entfernt.
  • Datenschutz-, i18n-, LLM-Discovery-, Sitemap- und Projektdokumentation wurden an den neuen Stand angepasst.
  • Historische Changelog-Eintraege und die alte D1-Migration bleiben als Versionshistorie erhalten.

CDN und Medien

  • 3769 lokale Medienobjekte wurden mit Cloudflare R2 verglichen.
  • 3745 Dateien waren unveraendert; 24 neue oder geaenderte Dateien wurden erfolgreich hochgeladen, ohne bestehende Objekte zu loeschen.
  • Der aktuelle Medienindex enthaelt 1002 Audios, 1049 Videos, 1002 Lyrics und 691 Galeriebilder.

Projektpakete

  • Astro wurde auf ^7.1.3, der Cloudflare-Adapter auf ^14.1.4, Tailwind CSS auf ^4.3.3, Nanostores auf ^1.4.1, Vite auf ^8.1.5 und Wrangler auf ^4.114.0 aktualisiert.
  • Cloudflare Workers Types wurden auf ^5.20260726.1 aktualisiert.
  • TypeScript bleibt auf der von @astrojs/check unterstuetzten Version ^6.0.3.
  • npm audit meldet keine bekannten Schwachstellen.

Aufraeumen

  • Verwaiste Download- und Song-Generator-Routenordner sowie lokale CDN-/Wrangler-Logs wurden entfernt.
  • Die Admin-Statistik liefert keine ungenutzten Ereignisdaten mehr aus.
  • Dynamische Cover-Spalten werden ohne innerHTML geleert.

Validierung

  • npm run check: 0 Fehler, 0 Warnungen, 0 Hinweise; DE/EN/ES jeweils 611 i18n-Keys.
  • npm run check:assets: 32 statische CDN-Pfade erfolgreich geprueft.
  • npm run build: erfolgreich.
  • Sitemap/Robots-Check: 700 Routen, 691 Bilder und 1049 Videos.
v3.6.35 2026-07-16
Sendeplan auf acht feste Drei-Stunden-Schichten umgestelltSchichtradio spielt pro Zeitfenster nur die eingeteilten FigurenMei wechselt weiterhin wochenweise zwischen Tag- und NachtschichtDer Stationsplan wird im Radio-Tab vollständig und ohne abgeschnittene Schichten angezeigtSuche und Titelliste bleiben im Radio-Tab ausgeblendetDie Audio- und Video-Titellisten reichen weiter bis zum unteren Rand der Player-BoxDie Datenschutzerklärung dokumentiert jetzt vollständig auch die native Android-/iOS-App

Neuer Sendeplan

  • 06:00–09:00: Die Hirnlosen Radioschwestern; Mei in Tagschichtwochen.
  • 09:00–12:00: Charlie – Die Stimme des Südens; Der Teufel als Gast.
  • 12:00–15:00: Die Hirnlosen Radioschwestern; Der Teufel als Gast.
  • 15:00–18:00: Charlie – Die Stimme des Südens; Mei in Tagschichtwochen.
  • 18:00–21:00: Rebel Girl und Shadowman; Die kleine Folk-Hexe als Gast; Mei in Nachtschichtwochen.
  • 21:00–00:00: Rebel Girl und Shadowman; Die kleine Folk-Hexe als Gast.
  • 00:00–03:00: Rebel Girl und Shadowman; Rumpelstilzchen als Gast.
  • 03:00–06:00: Rebel Girl und Shadowman; Die psychotische Freundin als Gast; Mei in Nachtschichtwochen.

Radiofunktion

  • Der Rebel Player zeigt den vollständigen aktuellen Sendeplan direkt im Radio-Tab an.
  • Gäste und Mei werden mit ihrer jeweiligen Rolle gekennzeichnet.
  • Beim Schichtwechsel wird die Radio-Warteschlange automatisch aus den Songs der aktuell eingeteilten Moderatorinnen, Moderatoren, Gäste und Praktikantin neu aufgebaut und gemischt.
  • Die Wochenrotation von Mei richtet sich nach der ISO-Woche in der Senderzeitzone Europe/Berlin.

Validierung

  • npm run check: 0 Fehler, 0 Warnungen, 0 Hinweise.
  • Produktions-Build und Sitemap-Prüfung: bestanden.
v3.6.34 2026-07-15
CDN und Medienindex vollstaendig synchronisiertDrei fehlende Songcover nach Cloudflare R2 hochgeladenProjektabhaengigkeiten auf Aktualitaet geprueft

CDN und Medienindex

  • Alle 3699 lokalen CDN-Dateien wurden mit dem Cloudflare-R2-Bucket verglichen.
  • 3696 Dateien waren bereits identisch; Rebel-Girl-cover-259.webp, Rebel-Girl-cover-260.webp und Shadowman-cover-44.webp wurden hochgeladen.
  • public/media-index.json wurde aus der lokalen Object-Storage-Quelle neu erzeugt und enthaelt 1002 Audios, 1009 Videos, 1002 Lyrics und 661 Galeriebilder.
  • Bild- und Video-Sitemaps wurden aus dem aktualisierten Medienbestand neu erzeugt.

Abhaengigkeiten und Dokumentation

  • Astro ^7.0.9, Preact ^10.29.7, Vite ^8.1.4, Wrangler ^4.111.0 und alle weiteren installierten Pakete entsprechen dem aktuellen kompatiblen Registry-Stand.
  • TypeScript bleibt bewusst auf ^6.0.3, der neuesten vom aktuellen Astro-Checker unterstuetzten Hauptversion.
  • README und KI-Projektmodule wurden auf Version 3.6.34 synchronisiert.

Validierung

  • npm run check: 0 Fehler, 0 Warnungen, 0 Hinweise.
  • npm run check:assets: 32 CDN-Pfade, keine Fehler.
  • npm audit --audit-level=moderate: 0 Schwachstellen.
  • Produktions-Build, Sitemap-Check und Cloudflare-Dry-Run: bestanden.
v3.6.33 2026-07-15
Dauerhaftes Schichtradio im Rebel PlayerMei wechselt wochenweise zwischen Tag- und NachtschichtAstro-, Cloudflare- und Frontend-Pakete aktualisiert

Rebel Player und Schichtplan

  • Die bisher leere Radio-Quelle spielt jetzt dauerhaft Songs der aktuell eingeteilten Figuren.
  • Beim Einschalten wird der aktuelle Song-Pool zufaellig gemischt; nach jedem Titel laeuft automatisch der naechste Song.
  • Der Stationsplan verwendet Berliner Zeit und wechselt automatisch zwischen Frueh-, Mittags-, Tag-, Uebergabe- und Nachtschichten.
  • Die Hirnlosen Radioschwestern und Charlie bestreiten die Tagschichten. Rebel Girl, Shadowman, die Kleine Folk-Hexe, die psychotische Freundin und Rumpelstilzchen bilden die Nachtschicht.
  • Mei wechselt als Praktikantin wochenweise zwischen Tag- und Nachtschicht. Ihr Profil und die Lore wurden entsprechend aktualisiert.

Abhaengigkeiten und Dokumentation

  • Astro wurde auf ^7.0.9, Preact auf ^10.29.7, Vite auf ^8.1.4 und Wrangler auf ^4.111.0 aktualisiert.
  • @astrojs/cloudflare steht auf ^14.1.3, @cloudflare/workers-types auf ^5.20260715.1 und der ws-Override auf ^8.21.1.
  • TypeScript bleibt auf der neuesten vom Astro-Checker unterstuetzten Version ^6.0.3.
  • Das Workers-Kompatibilitaetsdatum wurde auf den neuesten von der lokalen Runtime unterstuetzten Stand 2026-06-24 gesetzt.
  • Der Build entfernt das von Wrangler 4.111 nicht mehr unterstuetzte Adapter-Feld legacy_env automatisch aus dem generierten Deployment-Manifest.
  • README, Projektmodule, Medienindex und Sitemaps wurden synchronisiert.

Validierung

  • npm run check: 0 Fehler, 0 Warnungen, 0 Hinweise.
  • i18n: 584 Schluessel je Sprache.
  • Song-Generator-Security-Tests: bestanden.
  • npm audit: 0 Schwachstellen.
v3.6.32 2026-07-04
Funkwhale im Social-Media-Tab ergaenztCDN/R2 und Projektdokumentation aktualisiert

Social Media

  • Die bisherige Platzhalterkarte “Weitere Kanaele” wurde durch eine Funkwhale-Karte ersetzt.
  • Die Funkwhale-Karte verlinkt auf https://krasses.berlin/federation/music/libraries/4c2fba08-fe08-4c83-a629-550aa1faff99.
  • Die Positionen von Funkwhale und Storytellerz Discord wurden getauscht, damit Funkwhale links und Discord rechts steht.
  • Die Texte wurden fuer Deutsch, Englisch und Spanisch ergaenzt.

CDN und Backup

  • funkwhale.webp liegt unter downloads/Logos/funkwhale.webp und wird ueber https://cdn.rebel-girl-fm.de/downloads/Logos/funkwhale.webp?v=20260704 ausgeliefert.
  • Der R2/CDN-Sync pruefte 3696 Objekte, liess 3694 unveraendert und lud 2 Objekte hoch.
  • README und Changelog wurden auf v3.6.32 aktualisiert.

Validierung

  • npm.cmd run check: bestanden.
  • npm.cmd run check:assets: bestanden.
  • npm.cmd run build: bestanden.
  • CDN-HEAD-Check fuer funkwhale.webp: 200 OK.
v3.6.31 2026-07-04
Frontend- und Cloudflare-Tooling aktualisiertREADME und Changelog auf den neuesten Paketstand gebracht

Dependency-Update

  • Astro wurde von ^7.0.5 auf ^7.0.6 aktualisiert.
  • Die Astro-Integrationen wurden aktualisiert: @astrojs/cloudflare auf ^14.1.1 und @astrojs/preact auf ^6.0.1.
  • Preact wurde von ^10.29.3 auf ^10.29.4 aktualisiert.
  • Vite wurde von ^8.1.2 auf ^8.1.3 aktualisiert.
  • Wrangler wurde von ^4.106.0 auf ^4.107.0 aktualisiert.
  • @cloudflare/workers-types wurde auf ^5.20260704.1 aktualisiert.

Dokumentation

  • README und technische Projektmetadaten wurden auf den neuen Paketstand und die neue Website-Version v3.6.31 gebracht.
  • Der Website-Tab Changelog liest diesen Eintrag aus den Markdown-Quellen fuer Deutsch, Englisch und Spanisch.

Validierung

  • npm outdated --json: keine veralteten Pakete.
  • npm audit --audit-level=moderate: 0 vulnerabilities.
  • npm run check: bestanden.
v3.6.30 2026-07-02
CDN-Bildpfade vollstaendig geprueft und repariertProjekt-Audit und vorsichtiger Cleanup abgeschlossen

CDN und Bilder

  • Alle bekannten CDN-Referenzen aus Medienindex, Code, Manifest sowie Image- und Video-Sitemaps wurden per echten GET-/Range-Requests geprueft.
  • 3.679 tatsaechlich verwendete CDN-URLs wurden validiert; der finale Lauf meldete 0 Fehler und 0 fehlende lokale Quellen.
  • 20 betroffene WebP-Bildobjekte wurden in R2 repariert bzw. wieder erreichbar gemacht.
  • Die Website verwendet fuer diese 20 Bildpfade gezieltes Cache-Busting mit ?v=20260702-r2, weil der ungeversionierte Cloudflare-Cache noch alte 404-Antworten ausliefern kann.
  • Die Image-Sitemap erzeugt fuer dieselben betroffenen Bilder ebenfalls versionierte URLs.

Betroffene Bereiche

  • Azrael und Seraphine laden ihre Team-Bilder wieder korrekt.
  • Einzelne Song-Cover von Charlie, Der Teufel, Die kleine Folk-Hexe und Rebel Girl werden wieder korrekt referenziert.
  • Galerie, Downloads, Ueber-uns-Seite, Charakterdaten und Image-Sitemap verwenden dieselbe Cache-Bust-Logik.

Projekt-Audit und Cleanup

  • Temporare Pruef-Artefakte wie .playwright-cli/ und tmp/ wurden entfernt.
  • .gitignore ignoriert diese lokalen Test-/Check-Artefakte jetzt dauerhaft.
  • tsconfig.json schliesst tmp und .playwright-cli aus, damit Astro/TypeScript nicht mehr generierte Pruefdateien analysiert.
  • Es wurden keine fachlichen Dateien blind geloescht; bestehende Nutzer-/Projektanderungen blieben unangetastet.

Validierung

  • npm run check:assets: bestanden.
  • npm run check: bestanden, 0 errors, 0 warnings, 0 hints.
  • npm run build: bestanden.
  • npm audit --audit-level=moderate: 0 vulnerabilities.
  • Sitemap/Robots-Check: 672 Routen, 658 Bilder, 1009 Videos.
v3.6.29 2026-07-02
Playlist-Tab auf alle 19 Suno-Playlists korrigiertREADME und Changelog auf den korrigierten Playlist-Stand aktualisiert

Playlisten

  • Der Playlist-Tab wurde korrigiert: Die Hauptliste zeigt wieder alle 19 aktuell auf Suno sichtbaren Playlists von @dampferbug.
  • Die vorherige Reduktion auf nur fuenf Playlists wurde rueckgaengig gemacht.
  • Rebel Girl FM - Die heimliche Liebe nutzt jetzt den eigenen Key heimlicheliebe.
  • Rebel Girl FM - Liebe der beiden bleibt als separate Playlist mit eigenem Cover und Link erhalten.
  • Die Reihenfolge folgt dem aktuellen Suno-Playlist-Tab und dem Referenz-Screenshot.

Texte und Cover

  • Playlist-Texte in Deutsch, Englisch und Spanisch wurden fuer den neuen Key heimlicheliebe ergaenzt.
  • Die i18n-Dateien enthalten jetzt 569 Keys je Sprache.
  • Alle Karten verwenden vorhandene CDN-Cover aus downloads/Bilder/Team/ oder downloads/Bilder/playlist-cover/.

Dokumentation

  • README wurde auf Version 3.6.29, 569 i18n-Keys je Sprache und die vollstaendige 19er-Playlist-Liste aktualisiert.
  • Der Changelog-Tab enthaelt diesen neuen Eintrag in DE, EN und ES.

Validierung und Deploy

  • npm run check: bestanden.
  • npm run check:assets: bestanden.
  • Alternativer Astro-Build nach tmp/astro-build-check: bestanden.
  • Cloudflare-Deploy erfolgreich; Worker-Version 56d407f7-523e-4699-afaa-7f239972f252.
  • Live-Check /playlists: 200 OK.
v3.6.28 2026-07-02
Playlist-Tab mit den aktuellen Suno-Playlisten synchronisiertREADME und Changelog auf den neuen Playlist-Stand aktualisiert

Playlisten

  • Der Playlist-Tab wurde mit dem aktuellen Suno-Tab von @dampferbug abgeglichen.
  • Die gemeinsame Datenquelle src/lib/playlistData.ts zeigt jetzt die fuenf aktuell sichtbaren Suno-Playlisten:
    • Rebel Girl FM - Der Teufel
    • Rebel Girl FM - Charlie (Die Stimme des Suedens)
    • Rebel Girl FM - Die heimliche Liebe
    • Rebel Girl FM - Mei (Die neue Praktikantin)
    • Sunshine State FM - Die Hirnlosen Radioschwestern
  • Alte Hauptkarten, die im aktuellen Suno-Playlist-Tab nicht mehr sichtbar sind, wurden aus der Hauptliste entfernt.
  • Der StorytellerZ-Community-Block bleibt unveraendert.

Texte und Cover

  • Die Playlist-Texte in Deutsch, Englisch und Spanisch wurden fuer teufel, charlie, liebe, mei und radioschwestern synchronisiert.
  • Die neuen Karten verwenden vorhandene CDN-Cover aus downloads/Bilder/Team/ und downloads/Bilder/playlist-cover/.

Dokumentation

  • README wurde auf Version 3.6.28, 566 i18n-Keys je Sprache und den aktuellen Playlist-Stand aktualisiert.
  • Der Changelog-Tab enthaelt diesen neuen Eintrag in DE, EN und ES.

Validierung

  • npm run check: bestanden.
  • npm run check:assets: bestanden.
  • node scripts/check_sitemap.mjs: bestanden; 672 Routen, 658 Bilder, 1009 Videos.
  • Alternativer Astro-Build nach tmp/astro-build-check: bestanden.
  • Hinweis: Der regulaere npm run build wurde lokal durch einen gesperrten dist/client-Ordner mit EPERM blockiert.
v3.6.27 2026-07-02
Astro und Cloudflare-Adapter auf den neuesten Stand aktualisiertREADME, Datenschutz, Changelog und KI-Projektdokumentation synchronisiert

Programm-Updates

  • astro wurde auf ^7.0.5 aktualisiert.
  • @astrojs/cloudflare wurde auf ^14.1.0 aktualisiert.
  • npm outdated meldet nach dem Update keine veralteten Pakete mehr.
  • npm audit meldet 0 Sicherheitsluecken.

Dokumentation und Website-Tabs

  • README und alle Dateien unter ki/ wurden auf den aktuellen Projektstand synchronisiert.
  • Der Changelog-Tab enthaelt diesen neuen Eintrag.
  • Der Datenschutz-Tab wurde in DE, EN und ES auf den aktuellen Stand vom 2. Juli 2026 gesetzt.

CDN und Medienindex

  • Der R2/CDN-Abgleich wurde gegen die lokale Object-Storage-Struktur ausgefuehrt.
  • public/media-index.json, public/image-sitemap.xml und public/video-sitemap.xml wurden neu erzeugt.

Validierung

  • npm run sync:r2: bestanden; 3695 Dateien geprueft, 3634 unveraendert, 61 Uploads, 0 Fehler.
  • npm run sync: bestanden.
  • npm run check:assets: bestanden.
  • npm run check: bestanden.
  • npm run build: bestanden.
v3.6.26 2026-06-24
Medienindex, CDN-Pfade und Sitemaps neu synchronisiertREADME, Changelog und KI-Projektdokumentation aktualisiert

CDN und Downloads

  • public/media-index.json wurde aus der aktuellen lokalen Object-Storage-Struktur neu erzeugt.
  • Audio-, Video-, Lyrics- und Bilderpfade zeigen weiterhin konsistent auf https://cdn.rebel-girl-fm.de/downloads/....
  • Der Lyrics-Download-Tab nutzt die aktuelle Struktur unter downloads/Audio, passend zu den Lyrics-Eintraegen im Medienindex.

Rebel Player

  • Der Rebel Player laedt media-index.json clientseitig und baut Audio-/Video-URLs aus den aktuellen CDN-Basispfaden.
  • Die Pfade fuer Audio, Video und Player-Cover wurden gegen den aktuellen Medienbestand geprueft.

Dokumentation

  • README und alle Dateien unter ki/ wurden auf den aktuellen Projektstand synchronisiert.

Validierung

  • npm run sync: bestanden.
  • npm run sync:images: bestanden.
  • npm run sync:videos: bestanden.
  • npm run check:assets: bestanden.
  • npm run check: bestanden.
  • npm run build: bestanden.
  • npm run sync:r2: bestanden; 3634 Dateien geprueft, 3634 unveraendert, 0 Uploads, 0 Fehler.
v3.6.25 2026-06-23
Suno- und Telegram-Logos mit Cache-Busting aktualisiertREADME, Changelog und KI-Projektdokumentation synchronisiert

Social Media und CDN

  • Die Suno- und Telegram-Logos im Social-Media-Tab verwenden jetzt den Versionsparameter v=20260623.
  • Bereits gecachte Logo-Versionen werden dadurch umgangen und die aktuellen WebP-Dateien direkt vom Cloudflare-CDN geladen.

Dokumentation

  • README, Website-Changelog und alle Dateien unter ki/ wurden auf Version 3.6.25 synchronisiert.

Validierung

  • npm run check: bestanden.
  • npm run check:assets: bestanden.
  • npm run build: bestanden.
  • Cloudflare-Deploy und Produktions-Smoke-Test: bestanden.
v3.6.24 2026-06-23
CDN/R2 und Medienindex aktualisiertSocial-Media-Tab um Suno, Telegram und Mastodon erweitertAstro 7, Vite 8 und Cloudflare-Werkzeuge aktualisiert

CDN und Medien

  • Cloudflare R2/CDN wurde gegen den lokalen Medienordner synchronisiert: 3503 Dateien geprueft, 3494 unveraendert, 9 fehlende Objekte hochgeladen, 0 Fehler.
  • Hochgeladen wurden drei Radioschwestern-Musikvideos, drei Radioschwestern-Songcover, Sunshine-State-FM2.webp sowie die Logos fuer Suno und Telegram.
  • public/media-index.json, public/image-sitemap.xml und public/video-sitemap.xml wurden neu erzeugt.
  • Aktueller Medienstand: 897 Audio-Dateien, 995 Videos, 942 Lyrics-Dateien und 635 Galerie-Bilder.

Website und Pfade

  • Der Social-Media-Tab enthaelt jetzt Suno, Mastodon und Telegram mit CDN-Logos und lokalisierten Texten in Deutsch, Englisch und Spanisch.
  • Die Asset-Pruefung validiert jetzt zusaetzlich fest eingetragene CDN-Pfade gegen den lokalen Medienbestand.
  • Der R2-Sync prueft CDN-Objekte parallel und ist dadurch deutlich schneller.

Programme

  • Astro auf 7.0.0, @astrojs/cloudflare auf 14.0.0, @astrojs/preact auf 6.0.0 und Vite auf 8.0.16 aktualisiert.
  • Wrangler auf 4.103.0 und Cloudflare Workers Types auf 4.20260623.1 aktualisiert.
  • Die ungenutzte lokale Lighthouse-Abhaengigkeit wurde entfernt; Lighthouse-Audits bleiben bei Bedarf per npx lighthouse verfuegbar.
  • npm audit meldet 0 bekannte Schwachstellen und npm outdated keine veralteten direkten Pakete.

Validierung

  • npm run check: bestanden.
  • npm run check:assets: bestanden.
  • npm run build: bestanden.
  • Cloudflare-Deploy und Produktions-Smoke-Test: bestanden.
  • Cloudflare Worker-Version: 0fbd0eb9-790b-4a24-bd26-1acbe830c079.
v3.6.23 2026-06-17
CDN/R2-Medienstand aktualisiertNeue Charlie-Cover und Charlie-Videos hochgeladenMedienindex und Sitemaps aktualisiert

CDN und Medien

  • Cloudflare R2/CDN wurde gegen den lokalen Medienordner synchronisiert: 3496 Dateien geprueft, 3489 unveraendert, 7 fehlende Objekte hochgeladen, 0 Fehler.
  • Neu hochgeladen wurden drei Charlie-Songcover: Charlie - Die Stimme des Suedens-cover-4.webp, cover-5.webp und cover-6.webp.
  • Neu hochgeladen wurden drei Charlie-Musikvideos: Rebel Girl FM - Honky Tonk Gewitter (Live).webm, Rebel Girl FM - Mein Weg zum Mikrofon.webm und Rebel Girl FM - Staub, Schweiss und Radio-Blut.webm.
  • downloads/Promts/bilder promt.txt wurde ebenfalls in R2 ergaenzt.
  • public/media-index.json, public/image-sitemap.xml und public/video-sitemap.xml wurden aus dem externen Downloads-Ordner neu erzeugt.
  • Aktueller Medienstand: 897 Audio-Dateien, 992 Videos, 942 Lyrics-Dateien und 631 Galerie-Bilder.

Tests und Deploy

  • npm run check: bestanden.
  • npm run build: bestanden.
  • Cloudflare Workers Deploy: bestanden.
v3.6.22 2026-06-17
Charlie-Reed-Lore erweitertRanch- und Hamburg-Vorgeschichte ergaenztMehrsprachige Figuren- und About-Texte synchronisiert

Charlie Reed

  • Charlies Vorgeschichte wurde erweitert: Sie wuchs auf einer Ranch in den amerikanischen Suedstaaten auf und fand dort frueh ihre Liebe zu Country, Southern Rock und Honky Tonk.
  • Ihr Weg nach Hamburg ist jetzt klarer erzaehlt: Ein Mann ueberredete sie zum Umzug, die Beziehung hielt jedoch nicht lange.
  • Nach der Trennung blieb Charlie in Hamburg, probierte mehrere Jobs aus und landete schliesslich bei einem Hamburger Radiosender.
  • Ihre kleinen Radioeinsaetze als Staumelderin, Wetterstimme und lockere Stimme im Tagesprogramm erklaeren, warum einige Hamburger Hoerer sie schon vor Rebel Girl kannten.
  • Das Barsingen nach Feierabend wurde als Rueckkehr zu ihrer eigentlichen Musik ergaenzt, bevor Rebel Girl sie in einer kleinen Hamburger Bar entdeckte.

Lore und i18n

  • src/content/lore/lore.md und src/content/lore/figurenprofile.md wurden mit der neuen Charlie-Biografie erweitert.
  • Die englischen und spanischen Lore- und Figurenprofil-Dateien wurden synchron angepasst.
  • Das Charlie-Charakterprofil und die about.side.charlie.lore-Texte in Deutsch, Englisch und Spanisch wurden aktualisiert.

Tests

  • npm run check: bestanden.
  • npm run build: bestanden.
  • Cloudflare Workers Deploy: bestanden.
v3.6.21 2026-06-16
Song-Generator-Live-Haenger behobenOpenRouter-Free-Modellkette aktualisiertTimeout-Schutz fuer OpenRouter-Fallbacks ergaenztCDN/R2-Medienstand aktualisiert

Song-Generator

  • Der OpenRouter-Proxy bricht haengende Modellrequests jetzt nach 8 Sekunden pro Modell ab.
  • Dadurch bleibt der Generator nicht mehr dauerhaft bei 35% // SENDE AN KI stehen, wenn ein kostenloses OpenRouter-Modell nicht antwortet.
  • Die aktive Free-Modellkette wurde auf aktuell gelistete kostenlose Textmodelle reduziert.
  • Nicht mehr verfuegbare Modelle wie moonshotai/kimi-k2.6:free und z-ai/glm-4.5-air:free wurden entfernt.
  • wrangler.toml nutzt jetzt openai/gpt-oss-20b:free als bevorzugtes Modell und google/gemma-4-31b-it:free als Fallback.

CDN und Medien

  • Cloudflare R2/CDN wurde mit acht Medienobjekten aktualisiert: drei Charlie-Musikvideos, drei Charlie-Songcover, Rebel-Girl-cover-255.webp und das aktualisierte Charlie-Team-Bild.
  • Der lokale Medien-Dateiname Charlie – Die Stimme des Südens-cover-1..webp wurde zu Charlie – Die Stimme des Südens-cover-1.webp korrigiert, weil Cloudflare den doppelten Punkt im Object-Key blockierte.
  • Alle acht aktualisierten CDN-URLs wurden per HEAD-Check geprueft und liefern 200 OK.
  • public/media-index.json, public/image-sitemap.xml und public/video-sitemap.xml wurden neu synchronisiert.
  • Aktueller Medienstand: 897 Audio-Dateien, 989 Videos, 942 Lyrics-Dateien und 628 Galerie-Bilder.
  • scripts/generate-image-sitemap.mjs schreibt die Image-Sitemap jetzt atomar ueber eine temporaere Datei.

Tests und Deploy

  • scripts/test_song_generator_security.mjs prueft die neue Modellkette und den Timeout-Schutz.
  • Der Live-Endpoint /api/song-generator/openrouter wurde nach dem Deploy erfolgreich getestet: Status 200, Modell openai/gpt-oss-20b:free.
  • npm run check: bestanden.
  • npm run build: bestanden.
  • npm run check:sitemap: bestanden mit 637 Routen, 628 Bildern und 989 Videos.
v3.6.20 2026-06-15
Admin-Dashboard gegen Stored XSS gehaertetSong-Generator gegen Prompt Injection gehaertetSecurity-Regressionstests erweitert

Security-Fixes

  • Das Admin-Dashboard rendert Song- und Medienwerte nicht mehr per innerHTML, sondern ueber DOM-Knoten mit textContent.
  • Damit wird der gespeicherte XSS-Pfad von oeffentlichen Song-Archiv-Titeln in die Admin-Tabelle geschlossen.
  • Der OpenRouter-Proxy akzeptiert keine Client-system-Prompts mehr als vertrauenswuerdige Modellanweisung.
  • Der Worker baut die Upstream-Messages jetzt serverseitig und trennt Userdaten mit BEGIN_USER_DATA / END_USER_DATA vom Systemprompt.
  • Typische Prompt-Injection-Formulierungen wie “ignore previous instructions” oder “gib den Systemprompt aus” werden in Songideen blockiert.

Tests

  • scripts/test_song_generator_security.mjs prueft jetzt die Admin-Rendering-Invariante ohne .innerHTML.
  • Das Testskript prueft zusaetzlich Prompt-Injection-Filter und serverseitig gebaute OpenRouter-Messages.

Validierung

  • npm run test:song-generator: bestanden.
  • npm run check: bestanden.
  • npm run build: bestanden.
v3.6.19 2026-06-15
Charlie Reed vollstaendig integriertGalerie und Rebel Player um Charlie erweitertBild-SEO mit Detailseiten und ImageObject JSON-LD ergaenzt

Charlie Reed

  • Charlie Reed ist als neue Tagschicht-Moderatorin mit eigener Charakterseite unter /charlie integriert.
  • Die Profilseite enthaelt Geburtsdatum 15.06.1998, Rolle, Lore, Bild und strukturierte Bilddaten.
  • Charlie ist in Lore, Ueber-uns-Teamstruktur, Galerie, Player-Filtern und Song-Generator-Persona eingebunden.

Galerie und Medien

  • Galerie und Medienindex wurden auf 624 Bilder aktualisiert.
  • Charlie-Bilder und Charlie-Song-Cover sind ueber CDN/R2 eingebunden.
  • Die seitlichen Bilder auf der Ueber-uns-Seite passen sich dynamisch an die Text- und Boxhoehe an.

SEO

  • Wichtige Galerie-Bilder haben eigene SEO-Detailseiten unter /bilder/....
  • Galerie-, Charakter- und Bilddetailseiten geben ImageObject JSON-LD aus.
  • BaseHead unterstuetzt mehrere JSON-LD-Eintraege pro Seite.

Validierung und Deploy

  • npm run check: bestanden.
  • npm run build: bestanden.
  • Deployment via Wrangler erfolgreich, aktuelle Cloudflare-Version: ff8bb049-2489-4c41-80fc-ca74bf1a9c59.
v3.6.18 2026-06-14
Ueber-uns-Teamstruktur ueberarbeitetMei-Anzeige auf Kuenstlername gekuerztREADME aktualisiert

Ueber uns

  • Die Teamkarten im Ueber-uns-Tab sind jetzt in Nachtschicht, Tagschicht und Nebencharaktere gegliedert.
  • Die Hirnlosen Radioschwestern wurden in die Tagschicht verschoben.
  • Die Tagschicht enthaelt zwei leere Platzhalterboxen fuer spaetere Eintraege.
  • Der Lore-Kasten steht jetzt unter den Nebencharakteren.

Figurenanzeige

  • Hauptfigurenkarten zeigen Kuenstlernamen statt buergerlicher Namen, unter anderem SHADOWMAN und REBEL GIRL.
  • Mei wird in Karten und als Charakterseiten-Ueberschrift als MEI angezeigt.
  • Nebenfiguren verwenden robuste Uebersetzungskeys, damit Slugs wie punk-muschi keine sichtbaren Key-Namen ausgeben.

Validierung

  • npm run check: bestanden.
v3.6.17 2026-06-14
Cloudflare Workers Types aktualisiertCDN- und Medienindex-Status erneut validiertREADME und Projekt-Dokumentation synchronisiert

Programme und Dependencies

  • @cloudflare/workers-types auf ^4.20260613.1 aktualisiert.
  • package-lock.json mit der neuen Paketversion synchronisiert.
  • npm outdated geprueft: Vite 8.0.16 bleibt weiterhin nicht uebernommen, weil die vorherige Build-Validierung fuer Astro/Cloudflare fehlgeschlagen ist.

CDN und Dokumentation

  • R2/CDN-Referenzen fuer https://cdn.rebel-girl-fm.de im Projekt geprueft.
  • media-index.json im R2-Modus validiert.
  • media-index.json, Image-Sitemap und Video-Sitemap nach lokalem Object-Storage-Bestand aktualisiert.
  • CDN/R2-Sync ausgefuehrt: 3.479 Dateien geprueft, 3.467 unveraendert, 12 fehlende Objekte hochgeladen, 0 Fehler.
  • README, ki/MASTER.md, ki/02-tech-stack.md und ki/09-changelog.md auf den aktuellen Stand gebracht.

Validierung

  • npm outdated: nur Vite 8.0.16 als bewusst nicht uebernommenes Major-Update offen.
  • npm audit --audit-level=moderate: meldet weiterhin bekannte Tooling-Advisories ueber esbuild/vite; npm audit fix --force wuerde auf astro@2.4.5 downgraden und wurde deshalb nicht angewendet.
  • npm run check: bestanden.
  • npm run build: bestanden.
v3.6.16 2026-06-13
Projekt-Abhaengigkeiten aktualisiertAstro, Cloudflare-Adapter, Tailwind und Wrangler angehobenVite 8 getestet und wegen Cloudflare-Build-Fehler nicht uebernommen

Tooling und Dependencies

  • @astrojs/cloudflare auf ^13.7.0 aktualisiert.
  • astro auf ^6.4.6 aktualisiert.
  • @cloudflare/workers-types auf ^4.20260612.1 aktualisiert.
  • @tailwindcss/vite und tailwindcss auf ^4.3.1 aktualisiert.
  • wrangler auf ^4.100.0 aktualisiert.
  • package-lock.json mit den neuen Paketversionen synchronisiert.

Kompatibilitaet

  • Vite 8.0.16 wurde installiert und getestet, bricht aber den Astro/Cloudflare-Build mit require_dist is not a function.
  • Vite bleibt deshalb auf der neuesten kompatiblen 7er-Linie ^7.3.5.

Validierung

  • npm run check: bestanden.
  • npm run build: bestanden; Sitemap/Robots-Check mit 96 Routen, 607 Bildern und 977 Videos.
  • npm audit --audit-level=moderate: meldet weiterhin bekannte Tooling-Advisories ueber esbuild/vite; npm audit fix --force wuerde auf astro@2.4.5 downgraden und wurde deshalb nicht angewendet.
v3.6.15 2026-06-12
Song-Generator fuer Suno-Lyrics-Limit angepasstThemen-Eingabefeld um zwei Zeilen vergroessertArchiv-Validierung fuer 5000-Zeichen-Songtexte ergaenzt

Song-Generator

  • Das Themen-Eingabefeld im Song-Generator zeigt jetzt 5 statt 3 Zeilen.
  • Generierte Original-Songtexte werden clientseitig auf maximal 5000 Zeichen begrenzt, damit sie direkt in Suno eingefuegt werden koennen.
  • Der KI-Prompt weist das Modell explizit auf das Suno-Limit von 5000 Zeichen hin.
  • Die Archiv-Validierung blockiert Songtexte und deutsche Fassungen ueber 5000 Zeichen serverseitig.

Validierung

  • npm run test:song-generator: bestanden.
  • npm run check: 0 Fehler, 0 Warnungen, 0 Hinweise; i18n bleibt bei 525 Keys je Sprache.
v3.6.14 2026-06-07
Cloudflare-native Admin-Backend V1 lokal vorbereitetAstro, Cloudflare-Adapter, Workers Types und Wrangler aktualisiertAdmin-Schutz, Sitemap-Ausschluss und Tests erweitert

Admin-Backend V1

  • Lokale Admin-Oberflaeche unter /admin vorbereitet, aber nicht live geschaltet.
  • Neue geschuetzte Admin-APIs fuer Session, Statistiken, Songs, Medienliste und R2-Upload ergaenzt.
  • Cloudflare Access wird als Schutzschicht erwartet; ADMIN_ACCESS_ENABLED=0 haelt das Backend produktiv deaktiviert.
  • Neue D1-Migration migrations/0060_admin_backend.sql fuer Medien-Metadaten und Admin-Events angelegt.

Tooling und Cloudflare

  • Astro auf ^6.4.4, @astrojs/cloudflare auf ^13.6.1, @astrojs/preact auf ^5.1.5, Workers Types auf ^4.20260607.1 und Wrangler auf ^4.98.0 aktualisiert.
  • Cloudflare compatibility_date auf 2026-06-02 gesetzt, den neuesten vom lokalen Workers-Runtime-Binary unterstuetzten Stand.
  • Vite 8.0.16 wurde getestet, wegen Astro/Cloudflare-Runner-Fehler require_dist is not a function aber bewusst nicht uebernommen; Vite bleibt auf der kompatiblen 7er-Linie.

SEO, Mobile und Sicherheit

  • Admin-Routen werden aus Sitemap und Sitemap-Check ausgeschlossen.
  • Song-Generator-Security-Test prueft jetzt auch Admin-Access-Header, Admin-Kill-Switch und Admin-Sitemap-Ausschluss.
  • Mobile-Audit zeigt noch Handlungsbedarf bei grossen Headlines auf Handy-Viewports.

Validierung

  • npm audit --audit-level=moderate: 0 Schwachstellen.
  • npm run check:assets: bestanden.
  • npm run check: 0 Fehler, 0 Warnungen, 0 Hinweise; i18n bleibt bei 525 Keys je Sprache.
  • npm run build: bestanden; Sitemap/Robots-Check mit 96 Routen und 596 Bildern.
v3.6.13 2026-06-02
Projektwartungschecks und Dokumentations-Sync ergaenztSitemap/Robots-Check und Song-Generator-Security-Tests automatisiertKI-Dokumentation und Script-Ausgaben auf saubere ASCII-Ausgaben normalisiert

Wartung und Automatisierung

  • npm run docs:sync synchronisiert README und zentrale KI-Dokumentation aus Changelog, Paketversionen, i18n-Keys und Medienindex.
  • npm run changelog:new -- <version> legt Changelog-Dateien fuer Deutsch, Englisch und Spanisch als konsistente Vorlage an.
  • npm run check:sitemap prueft dist/client/sitemap-index.xml, dist/client/sitemap-0.xml, public/image-sitemap.xml und public/robots.txt.
  • npm run test:song-generator prueft Song-Generator-Validierung und API-Security-Invarianten.
  • npm run check fuehrt jetzt zusaetzlich die Song-Generator-Security-Tests aus.
  • npm run build fuehrt nach dem Astro-Build automatisch den Sitemap/Robots-Check aus.

Validierung

  • npm run check erfolgreich: Astro 0 Fehler, 0 Warnungen, 0 Hinweise; i18n bleibt bei 525 Keys je Sprache.
  • npm run build erfolgreich: 96 Sitemap-Routen und 593 eindeutige Bilder validiert.
v3.6.12 2026-06-02
Datenschutz-Tab auf Stand 2. Juni 2026 aktualisiertCloudflare, OpenRouter, D1 und LocalStorage genauer dokumentiertTracking- und Profiling-Klarstellungen ergaenzt

Datenschutz

  • Die Datenschutzerklaerung wurde in Deutsch, Englisch und Spanisch auf den Stand 2. Juni 2026 gebracht.
  • Cloudflare Workers, Cloudflare R2/CDN, Cloudflare D1, Worker-Logs und OpenRouter sind genauer beschrieben.
  • Song-Generator-Datenfluesse wurden aktualisiert: Prompt-Verarbeitung, kurzzeitige IP-Verarbeitung fuer Rate-Limits und D1-Archivfelder.
  • LocalStorage, Tally-Feedback, Twitch, YouTube und FlagCDN wurden an den aktuellen Projektstand angepasst.
  • Es ist klargestellt, dass Rebel Girl FM kein Tracking, kein Google Analytics, keinen Tag Manager und kein Werbe-Profiling nutzt.

Validierung

  • npm run check wurde erfolgreich ausgefuehrt.
  • i18n bleibt synchron mit 525 Keys je Sprache.
v3.6.11 2026-06-01
Dependencies aktualisiert und npm audit ohne FindingsSong-Generator-Japanisch serverseitig freigegebenAPI-Fehlerausgaben und Sitemap-Cache-Regel gehaertet

Updates

  • Astro wurde auf ^6.4.2, Vite auf ^7.3.5, Wrangler auf ^4.96.0 und @cloudflare/workers-types auf ^4.20260601.1 aktualisiert.
  • npm audit --audit-level=moderate meldet keine Schwachstellen.

Bugfixes

  • Der Song-Generator erlaubt JAPANISCH jetzt auch serverseitig im OpenRouter-Proxy. Die UI hatte Japanisch bereits als Zielsprache angeboten.
  • Der System-Prompt des Song-Generators wurde von verbliebenen Encoding-Artefakten bereinigt.

Pentest-Hardening

  • Unerwartete API-Exceptions werden serverseitig geloggt, aber nicht mehr als interne Fehlermeldungen an Clients zurueckgegeben.
  • sitemap-index.xml wird in der Middleware explizit mit der Sitemap-Cache-Regel behandelt.
  • Checks, Build, Asset-Check, Secret-Pattern-Suche und Eingabefilter-Smoke-Tests wurden erfolgreich ausgefuehrt.
v3.6.10 2026-06-01
Medienindex aus lokalem Object-Storage-Downloads-Ordner aktualisiertSieben neue Song-Cover nach Cloudflare R2 hochgeladenImage-Sitemap mit 593 Bildern neu generiert

Medien und CDN

  • public/media-index.json wurde aus D:\sicherheit\Daten\Webseiten\Object Storage\rebel-girl-fm.de\downloads neu generiert.
  • Die Galerie enthaelt jetzt 593 WebP-Bilder; Audio, Video und Lyrics bleiben bei 897, 888 und 887 Eintraegen.
  • Zwei neue Folk-Hexe-Cover und fuenf neue Mei-Cover wurden gezielt nach Cloudflare R2 in den Bucket rebel-girl-fm hochgeladen.

Validierung

  • Die sieben neuen CDN-URLs antworten per HEAD mit 200.
  • public/image-sitemap.xml wurde mit 593 Bildern neu geschrieben.
  • npm run check:assets, npm run check und npm run build laufen erfolgreich.
v3.6.9 2026-06-01
README und KI-Projektdokumentation aktualisiertMehrsprachige Lore- und Changelog-Quellen dokumentiertSitemap-Stand fuer die aktuellen DE/EN/ES-Routen erneuert

Dokumentation

  • README und KI-Module wurden auf den aktuellen Projektstand mit Astro 6, Cloudflare Workers, R2/CDN, D1-Archiv, AI-Discovery und mehrsprachigen Seiten gebracht.
  • Die Content-Quellen dokumentieren jetzt die lokalisierten Lore-Dateien unter src/content/lore/en/ und src/content/lore/es/ sowie die lokalisierten Changelog-Dateien unter src/content/changelog/en/ und src/content/changelog/es/.

Indexierung

  • Die Sitemap-Dokumentation verweist auf sitemap-index.xml und image-sitemap.xml.
  • Der Build erzeugt die Sitemap fuer die aktuellen deutschen, englischen und spanischen Routen inklusive Lore, Changelog, Downloads und Figurenprofilen.
v3.6.8 2026-05-28
Ungenutzte Voting-Helfer entferntLokale Build- und Cache-Artefakte aufgeraeumtProjektchecks nach der Bereinigung erneut ausgefuehrt

Projektbereinigung

  • Die nicht mehr referenzierten Player-Voting-Helfer isVoted() und getBaseVotes() wurden entfernt.
  • Lokale generierte Ordner und Dev-Logs wurden aus dem Arbeitsverzeichnis entfernt; .env und node_modules blieben fuer Deployment und lokale Arbeit erhalten.

Validierung

  • npm run check laeuft ohne Fehler, Warnungen oder Hinweise.
  • npm run check:assets bestaetigt den R2-Medienindex.
  • npm run build erstellt die Cloudflare-Worker-Ausgabe ohne Fehler.
v3.6.7 2026-05-28
Suno-Playlist der Hirnlosen Radioschwestern ergaenztTeam-CDN-Cover fuer die neue Playlist verwendetPlaylist-Texte fuer DE, EN und ES synchronisiert

Playlisten

  • Die Suno-Playlist Rebel Girl FM - Die Hirnlosen Radioschwestern wurde in den gemeinsamen Playlist-Daten aufgenommen.
  • Das Cover nutzt den bestehenden CDN-Pfad downloads/Bilder/Team/Hirnlosen-Radioschwestern.webp.
  • Die Playlist-Seiten in Deutsch, Englisch und Spanisch zeigen dadurch automatisch dieselbe neue Karte mit lokalisierten Beschreibungstexten.

Validierung

  • npm run check bestaetigt vollstaendige i18n-Keys fuer DE, EN und ES.
  • npm run build erstellt die Cloudflare-Worker-Ausgabe ohne Fehler.
v3.6.6 2026-05-28
Content-Signal fuer AI-Nutzung in robots.txt ergaenztMarkdown-Negotiation fuer oeffentliche HTML-Seiten aktiviertAI-Discovery-Dokumentation im README aktualisiert

AI-Discovery

  • robots.txt setzt jetzt Content-Signal: ai-train=no, search=yes, ai-input=yes fuer die globale Crawler-Policy.
  • Oeffentliche HTML-Seiten liefern bei Accept: text/markdown eine Markdown-Variante aus, waehrend Browser weiterhin HTML erhalten.
  • Markdown-Antworten bleiben auf oeffentliche Seiten beschraenkt; /api/ und /admin/ werden nicht als Markdown exportiert.

Dokumentation

  • README beschreibt die vorhandenen AI-Discovery-Endpunkte, die Content-Signal-Policy und die bewusst nicht veroeffentlichten OAuth-, MCP- und API-Catalog-Metadaten.
v3.6.5 2026-05-28
Song-Generator-Buttons oben nebeneinander angeordnetAI-Crawler-Freigaben in robots.txt erweitertllms.txt, llms-full.txt und ai.txt fuer KI-Assistenten ergaenztWorker-Header und Head-Links fuer bessere maschinelle Verarbeitung gesetzt

Song-Generator

  • Der Button EINGABE LEEREN steht jetzt direkt oben neben ZUFALLS-SIGNAL, damit beide Aktionen am Themenfeld zusammen erreichbar sind.
  • Der alte separate Buttonblock unter dem Eingabefeld wurde entfernt; der Abstand zum naechsten Abschnitt bleibt erhalten.

AI-Indexierung

  • robots.txt erlaubt wichtige KI-Crawler explizit fuer alle oeffentlichen Seiten und sperrt weiterhin /api/ sowie /admin/.
  • llms.txt bietet KI-Assistenten eine kompakte Projektkarte mit wichtigsten Seiten, Figuren und Sitemaps.
  • llms-full.txt beschreibt zusaetzlich Projektidentitaet, Crawler-Regeln, Maschinen-Endpunkte, Hauptbereiche und Figurenkontext.
  • ai.txt verweist als schlanker Discovery-Einstieg auf die LLM- und Sitemap-Dateien.

Auslieferung

  • HTML-Seiten verlinken die LLM-Dateien im <head> als text/plain-Alternates.
  • Cloudflare-Worker-Responses setzen fuer oeffentliche Routen X-Robots-Tag: index, follow mit grosszuegigen Snippet-/Preview-Regeln.
  • API- und Admin-Routen erhalten serverseitig X-Robots-Tag: noindex, nofollow, noarchive.
  • HTML-Responses verweisen zusaetzlich per Link-Header auf /llms.txt und /llms-full.txt.

Cloudflare-Hinweis

  • Cloudflare-Dashboard-Regeln wie Bot Fight Mode, WAF Custom Rules, Super Bot Fight Mode oder AI Scraper Blocking muessen in der Zone so gesetzt sein, dass erlaubte Crawler nicht herausgefiltert werden. Diese Dashboard-Schalter liegen ausserhalb von wrangler.toml.
  • Live-Pruefung nach Deploy: Cloudflare prepended aktuell noch BEGIN Cloudflare Managed content in robots.txt. In der Zone muss Instruct AI bot traffic with robots.txt deaktiviert werden, damit Cloudflare keine eigenen AI-Disallow-Regeln voranstellt.
v3.6.4 2026-05-28
Partner-Logo-Dateipfade auf Bindestrich-Namen korrigiertPlaylist- und Partner-CDN-URLs robust kodiertLive-Asset-Crawl ohne 404-Fehler bestanden

CDN-Assets

  • Die Partner-Logos verwenden jetzt die vorhandenen Bindestrich-Dateien dampferburg-Favicon.webp, dampfermessen-Favicon.webp und noob-town-Favicon.webp.
  • Die drei Logo-Dateien wurden erneut nach Cloudflare R2 hochgeladen und sind ueber den CDN erreichbar.
  • Alte Leerzeichen-/%20-Pfade werden auf den Partnerseiten nicht mehr ausgegeben.

Robustere Bildpfade

  • Partnerseiten kodieren Logo-Dateinamen jetzt vor dem Aufbau der CDN-URL.
  • Playlist-Seiten in Deutsch, Englisch und Spanisch kodieren Bildpfade segmentweise, damit Leerzeichen oder Sonderzeichen in Dateinamen keine kaputten Asset-URLs erzeugen.

Qualitaetssicherung

  • npm run check wurde erfolgreich ausgefuehrt.
  • npm run build wurde erfolgreich ausgefuehrt.
  • Der Live-Asset-Crawl pruefte 602 Asset-URLs ohne 404-Fehler.
v3.6.3 2026-05-27
Song-Generator um Eingabe-leeren-Button erweitertJapanisch als Song-Zielsprache ergaenztREADME und Changelog aktualisiert

Song-Generator

  • Unter 1. INITIALISIERE UEBERTRAGUNG (Thema) gibt es jetzt den Button EINGABE LEEREN, damit vorhandener Text sofort entfernt und das Themenfeld direkt wieder fokussiert wird.
  • Die Sprach-Auswahl unter 3. SETUP & ATMOSPHAERE enthaelt jetzt JAPANISCH.
  • Japanisch wird beim Generieren als JAPANISCH an den Song-Prompt uebergeben und ist damit eine echte Zielsprache, nicht nur ein sichtbarer Auswahlpunkt.

Qualitaetssicherung

  • npm run check wurde erfolgreich ausgefuehrt.
  • npm run build wurde erfolgreich ausgefuehrt.
v3.6.2 2026-05-27
Song-Generator mit Fortschrittsanzeige erweitertOpenRouter auf kostenlose Textmodell-Fallback-Kette umgestelltZufalls-Signal repariert und mit lokalem Fallback abgesichertBild-SEO mit Image-Sitemap und crawlbaren Galerie-Fallbacks verbessertDatenschutz, README und Security-Checks aktualisiert

Song-Generator

  • Der Button TRANSMISSION STARTEN zeigt jetzt Fortschritt und Status direkt im Generator an.
  • Fehlerpfade werden sichtbarer: Validierungsfehler, OpenRouter-Probleme und Archivfehler erscheinen als Statusmeldung unter dem Button.
  • Das verwendete OpenRouter-Modell wird aus dem serverseitigen Antwortheader gelesen und nach erfolgreicher Generierung angezeigt.
  • Der Button ZUFALLS-SIGNAL akzeptiert jetzt die legitimen Szenario- und Cover-Zufalls-Prompts im API-Proxy.
  • Falls OpenRouter bei einem Zufalls-Signal ausfällt oder leer antwortet, wird ein lokaler Ersatztext passend zum Charakter oder Cover-Modus geladen.

OpenRouter und kostenlose KI-Modelle

  • Der OpenRouter-Proxy nutzt eine feste Allowlist kostenloser Textmodelle mit :free-Kennzeichnung.
  • Bezahlmodelle werden serverseitig blockiert, auch wenn eine andere Modellvariable gesetzt wird.
  • Wenn ein kostenloses Modell nicht antwortet, versucht der Proxy automatisch das nächste Modell aus der Free-Textmodell-Kette.
  • Der aktuelle Live-Test nutzte erfolgreich nvidia/nemotron-3-super-120b-a12b:free.

Bild-SEO und CDN

  • public/image-sitemap.xml wird aus public/media-index.json generiert und in robots.txt referenziert.
  • Galerie-Seiten enthalten zusätzliche crawlbare Bild-Fallbacks mit beschreibenden Alt-Texten und CDN-URLs.
  • Die neuen R2-/CDN-Bilder sind im Medienindex enthalten und werden über cdn.rebel-girl-fm.de ausgeliefert.

Datenschutz

  • Die Datenschutztexte nennen nun die kostenlose OpenRouter-Textmodell-Kette, Cloudflare Workers, D1-Archiv und die Eingabeschutzmaßnahmen des Song-Generators genauer.
  • Der Hinweis zu vollständig fiktiven KI-Charakteren bleibt Bestandteil der Datenschutzseite in Deutsch, Englisch und Spanisch.
  • Der Stand der Datenschutzerklärung wurde auf den 27. Mai 2026 gesetzt.

Security-Review und Qualitätssicherung

  • Nicht-destruktive Security-Checks wurden für Security-Header, Origin-Schutz, ungültige Prompts, Größenlimits, Script-/URL-Filter und Rate-Limit-Verhalten durchgeführt.
  • npm.cmd run check wurde erfolgreich ausgeführt.
  • npm.cmd run check:assets wurde erfolgreich ausgeführt.
  • npm.cmd run build wurde erfolgreich ausgeführt.
v3.6.1 2026-05-27
R2-CDN mit lokalem Downloads-Ordner synchronisiertMedia-Index und neue Bilder aktualisiertProjektpakete und Wrangler aktualisiertDatenschutzhinweis zu fiktiven KI-Charakteren ergänzt

Medien und CDN

  • Der lokale Downloads-Ordner wurde mit dem Cloudflare-R2-Bucket rebel-girl-fm synchronisiert.
  • public/media-index.json wurde aus der lokalen Object-Storage-Struktur neu generiert.
  • Der aktuelle Medienindex enthält 897 Audio-Dateien, 888 Videos, 887 Songtexte und 586 Galerie-Bilder.
  • Für zukünftige R2-Abgleiche steht npm run sync:r2 bereit.

Dependencies und Build

  • Astro, @astrojs/cloudflare, @astrojs/sitemap, Workers-Typen und Wrangler wurden auf den aktuellen kompatiblen Stand gebracht.
  • Vite bleibt auf der kompatiblen 7.x-Linie, da Vite 8 mit der aktuellen Astro-/Cloudflare-Runner-Kombination nicht stabil baut.

Datenschutz

  • Die Datenschutzseite wurde auf den 27. Mai 2026 aktualisiert.
  • Der KI-Hinweis nennt nun ChatGPT, Claude und Google Gemini.
  • Es wird ausdrücklich klargestellt, dass alle Charaktere, Biografien, Rollen, Altersangaben, Lore-Kontaktdaten und personenbezogen wirkenden Angaben fiktiv sind und keine realen Personen beschreiben.

Qualitätssicherung

  • npm.cmd run check wurde erfolgreich ausgeführt.
  • npm.cmd run check:assets wurde erfolgreich ausgeführt.
  • npm.cmd run build wurde erfolgreich ausgeführt.
v3.6.0 2026-05-21
Astro 6 auf Cloudflare Workers umgestelltSong-Generator mit OpenRouter und D1-Archiv integriertAPI- und Eingabe-Hardening umgesetztLore- und Über-uns-Seiten mit Vorlesefunktion erweitertRebel Player Play/Pause- und Trackwechsel-Logik stabilisiertSEO, Datenschutz und Projekt-Dokumentation aktualisiert

Cloudflare Workers

  • Das Projekt ist auf Cloudflare Workers mit Astro Runtime ausgerichtet.
  • Die Song-Generator-APIs nutzen Cloudflare-Bindings über cloudflare:workers.
  • OPENROUTER_API_KEY, OPENROUTER_MODEL und das D1-Binding DB werden serverseitig gelesen.
  • Alte Pages-Deployment-Skripte wurden aus den npm-Scripts entfernt.

Song-Generator

  • Die Seite ist in den normalen Projekt-Layout-Rahmen integriert, inklusive Header, Navigation, Hintergrund und Sprachrouten.
  • Der Rebel Player verlinkt den Song-Generator im Zahnrad-Menü.
  • Charakter-Lore und feste Style-Regeln werden in den Prompt eingebunden.
  • Der Generator ist für Deutsch, Englisch und Spanisch erreichbar.
  • Überschrift, Schriftbild, Box-Rundungen und Layout wurden an die übrigen Projektseiten angeglichen.

Sicherheit

  • Der OpenRouter-Proxy akzeptiert nur das erwartete Song-Generator-Promptformat.
  • Charaktere, Sprachen, Stimmungen, Dauern und Formate werden serverseitig validiert.
  • Eingaben werden im Browser und auf dem Server gegen Spam, Zufallszeichen, Links, E-Mails, Script-Code und Überlänge geprüft.
  • OpenRouter- und Archiv-Routen haben Rate-Limits, Größenlimits und Origin-Prüfungen.
  • Das D1-Archiv blockt doppelte Einträge derselben Idee pro Charakter innerhalb von 15 Minuten.

Barrierefreiheit und Inhalte

  • Die Lore-Seite und die Über-uns-Seiten haben eine Vorlesefunktion über die Browser-Speech-Synthesis-Schnittstelle.
  • Die Über-uns-Seite wurde wieder auf den ausführlichen Sender-, Lore- und StorytellerZ-Kontext ausgerichtet.
  • Die zusätzliche Lore-Einordnung steht getrennt vom StorytellerZ-Abschnitt, damit die Inhalte thematisch sauber bleiben.
  • Charakter- und Inhaltsbilder wurden mit besseren Alternativtexten und aria-label-Hinweisen ergänzt.

Rebel Player

  • Playlist-Klicks starten den gewählten Track direkt über die zentrale Player-Logik.
  • Play/Pause, Next/Prev und Quellenwechsel stoppen alte Medien zuverlässiger und behalten den erwarteten Abspielzustand bei.
  • Audio- und Video-Elemente werden beim Trackwechsel entladen, damit kein alter Song im Hintergrund weiterläuft.
  • @nanostores/preact und nanostores sind vom Vite Dependency Optimizer ausgeschlossen, um Cache-/Hydration-Fehler im Dev-Server zu vermeiden.
  • Das Zahnrad-Menü enthält einen direkten Link zum Song-Generator.

SEO, Datenschutz und Wartung

  • README und Datenschutzhinweise wurden auf Workers, OpenRouter und D1 aktualisiert.
  • Die Datenschutzseite beschreibt zusätzlich die Vorlesefunktion auf Lore und Über uns.
  • Sitemap/Robots/Meta-Daten wurden auf die aktuelle Runtime ausgerichtet.
  • Temporäre Dev-/Preview-Logs und Vite-Cache-Dateien wurden aus dem Arbeitsbaum entfernt und in .gitignore aufgenommen.

Qualitätssicherung

  • npm run check wurde erfolgreich ausgeführt.
  • npm run build wurde erfolgreich ausgeführt.
  • Ein lokaler Security-Review/Pentest-Smoke wurde für API-Missbrauch, Eingabefilter, Secrets, Header und Routenlogik durchgeführt.
v3.5.2 2026-05-20
Lore-Seite mit Kapitel-Navigation erweitertPlaylist-Cover einheitlich formatiertMei-Playlist nutzt jetzt ein echtes Mei-BildÜbersetzungen und Encoding geprüft

Lore

  • Die Lore-Seite besitzt jetzt eine Kapitel-Navigation, die automatisch aus den ##-Überschriften der Chronik und Figurenprofile erzeugt wird.
  • Auf Desktop bleibt die Kapitelbox seitlich sichtbar.
  • Auf Tablet und Mobile liegt die Kapitelbox kompakt oberhalb des Inhalts.
  • Kapitel-Links springen mit Smooth-Scroll direkt zu den jeweiligen Abschnitten.

Playlisten

  • Alle Playlist-Cover verwenden jetzt denselben quadratischen Bildrahmen.
  • Unterschiedliche Originalformate werden einheitlich per object-fit: cover zugeschnitten.
  • Die Mei-Playlist nutzt jetzt downloads/Bilder/Team/Mei-Die-neue-Praktikantin.webp statt des generischen Rebel-Girl-Covers.
  • Die Änderung ist für Deutsch, Englisch und Spanisch umgesetzt.

Qualitätssicherung

  • npm run check wurde erfolgreich ausgeführt.
  • npm run build wurde erfolgreich ausgeführt.
  • Die Sprachdateien de, en und es wurden auf vollständige Translation-Keys, leere Werte, Platzhalter-Abweichungen und Playlist-Texte geprüft.
  • Ein Encoding-Fehler im Lore-Teaser der Über-uns-Seite wurde korrigiert (über, Sofía).
v3.5.1 2026-05-20
R2-Object-Storage vollständig mit lokaler Downloads-Struktur synchronisiertPNG/WAV-Altformate durch WebP/Opus ersetztMei-Die-neue-Praktikantin im Rebel Player ergänztPlaylists und Lore-Darstellung weiter aktualisiert

Medien und R2

  • Die lokale Object-Storage-Struktur unter downloads wurde bereinigt und erneut vollständig nach Cloudflare R2 hochgeladen.
  • Der Bucket rebel-girl-fm enthält nach direkter R2-Object-API-Zählung 3.223 Objekte.
  • Verbliebene PNG- und WAV-Originaldateien wurden nach der Konvertierung entfernt.
  • Aktuelle Formate im Downloads-Baum: .opus, .webm, .webp, .txt und .htaccess.
  • public/media-index.json wurde aus der aktuellen Downloads-Struktur neu erzeugt.

Rebel Player

  • Unter Audio -> Rebel Girl FM ist jetzt auch Mei-Die-neue-Praktikantin als Filter vorhanden.
  • Der Filter nutzt den Audio-Ordner Mei-Die-neue-Praktikantin.
  • Das Player-Cover fuer Mei zeigt auf downloads/Bilder/Team/Mei-Die-neue-Praktikantin.webp.

Playlists und Content

  • Die Suno-Playlist Rebel Girl FM - Mei (Die neue Praktikantin) wurde in die Playlisten-Daten aufgenommen.
  • Die Suno-Playlist STTZ-AprilScherz wurde ergänzt.
  • Die Lore-Seite zeigt Figurenbilder neben den Profildaten und blendet die Tabellenkopfzeile Feld/Wert aus.

Qualitätssicherung

  • npm run check wurde erfolgreich ausgeführt.
  • npm run build wurde erfolgreich ausgeführt.
v3.5.0 2026-05-19
Lore und Figurenprofile zentral in src/contentAlle Figuren als Markdown-Profile mit DE/EN/ES-AnbindungCDN-Struktur und media-index aktualisiertRebel Player Lade- und Cover-FixesRobots.txt und Security-Header bereinigt

Content und Lore

  • Die alte Arbeitsablage neue story wurde in die produktive Content-Struktur überführt.
  • Die Chronik liegt jetzt zentral in src/content/lore/lore.md.
  • Die offiziellen Figurenprofile liegen zusätzlich als Lore-Quelle in src/content/lore/figurenprofile.md.
  • Alle Haupt- und Nebenfiguren besitzen eigene Markdown-Dateien unter src/content/characters/.

Figurenprofile und Über uns

  • Die Seite Über uns lädt Figuren jetzt aus der Characters-Collection.
  • Haupt- und Nebenfiguren werden über category: main und category: side sortiert.
  • Mei ist als Hauptfigur ergänzt.
  • Punk-Muschi wurde in die Nebencharaktere verschoben.
  • Die Figurenprofile sind für Deutsch, Englisch und Spanisch angebunden.

Internationalisierung

  • Die Sprachdateien src/i18n/de.ts, src/i18n/en.ts und src/i18n/es.ts wurden synchronisiert.
  • Alle drei Sprachen enthalten aktuell 439 Translation-Keys.

CDN und Medienindex

  • scripts/sync.js unterstützt jetzt MEDIA_DOWNLOADS_DIR, damit der Medienindex direkt aus der lokalen Object-Storage-Struktur erzeugt werden kann.
  • Die Gallery wird rekursiv gescannt und unterstützt die neue Ordnerstruktur.
  • CDN-Pfade werden URL-sicher segmentweise kodiert, damit Leerzeichen, Klammern und Sonderzeichen funktionieren.
  • Aktueller Medienindex: 863 Audio-Dateien, 888 Videos, 863 Lyrics-Dateien und 519 Gallery-Bilder.

Rebel Player

  • Das Fallback-Bild ohne laufenden Track wurde auf downloads/Bilder/Rebel-Player/Rebel-Girl-FM-Player.webp gesetzt.
  • Der erste Ladezustand des Players wird korrekt behandelt, damit beim ersten Seitenaufruf kein kurzer Fehlerzustand erscheint.
  • Cover-URLs werden nicht mehr doppelt mit .webp erweitert.

SEO, Security und Qualitätssicherung

  • public/robots.txt wurde bereinigt.
  • public/_headers setzt zusätzliche Security-Header inklusive Cross-Origin-Opener-Policy und upgrade-insecure-requests.
  • npm run check und npm run build wurden erfolgreich ausgeführt.
v3.4.1 2026-04-25
Node 24 als Standard (.nvmrc + engines.node).npmrc mit legacy-peer-deps=true für CI-KompatibilitätDatenschutz-Stand auf 25. April 2026 (DE/EN/ES)

🆕 Build-Tooling

  • Neue .nvmrc mit 24 — wird von Cloudflare Pages, GitHub Actions und nvm/volta automatisch erkannt.
  • engines.node von >=22.12.0 auf >=24.0.0 gehoben.
  • .npmrc mit legacy-peer-deps=true zentral hinterlegt — löst den TypeScript-6-vs-@astrojs/check-Peer-Dep-Konflikt für lokale Installs und CI-Builds, ohne dass jedes Mal --legacy-peer-deps mitgegeben werden muss.

🔗 Stack-Konsistenz

Damit haben jetzt alle 4 Partnerprojekte (rebel-girl-fm.de, dampferburg, dampfermessen, noob-town) dieselbe Build-Basis: Node 24 + npm mit legacy-peer-deps.

🔒 Datenschutz

  • „Stand”-Angabe auf 25. April 2026 aktualisiert (DE/EN/ES).

📅 Keine inhaltlichen Änderungen

Code-Basis und i18n-Keys bleiben unverändert.

v3.4.0 2026-04-24
Stack-Vereinheitlichung: Rebel Girl FM bleibt Referenz für DE/EN/ESAlle 4 Partnerprojekte jetzt mit 3-Sprachen-Supporti18n-Integration, Datenschutz & Changelogs synchronisiert (Stand 2026-04-24)

🔗 Synchronisations-Release

Dieser Eintrag markiert keinen Code-Change an Rebel Girl FM selbst — die Seite hatte bereits alle DE/EN/ES-Features. Stattdessen dokumentiert er, dass die drei Partnerprojekte (dampferburg, dampfermessen, noob-town) mit diesem Release auf denselben Sprach-Support gebracht wurden.

🇪🇸 Partnerprojekte erweitert

  • dampferburg: Neue /es/-Routen (index, setup, 404), BaseLayout mit 3 Inline-SVG-Flaggen, Sitemap-i18n mit es-ES.
  • dampfermessen: ~150 neue ES-Übersetzungs-Keys im LanguageToggle.astro-i18n-Objekt, dritter Flaggen-Button.
  • noob-town: Spanisch als dritte Sprache in public/js/i18n.js, 3-Flaggen-Switcher (DSGVO-konform inline, kein flagcdn.com wegen strikter CSP).

🎯 Rebel Girl FM als Referenz

Das hier bereits etablierte i18n-Pattern (src/i18n/{de,en,es}.ts + @i18n/utils) diente als Vorbild für den einheitlichen Sprachumschalter der anderen Projekte.

📅 Keine lokalen Änderungen

  • Code-Basis unverändert — das aktuelle 426-Keys-Setup pro Sprache bleibt gültig.
  • Datenschutz-Stand bereits auf 24. April 2026 (aus v3.3.0).
v3.3.0 2026-04-24
Cloudflare-Setup per Script (wrangler.toml + npm run setup:cloudflare)Adblocker-Fallback für Tally-Feedback (DE/EN/ES)Stalker-Charakter umbenannt: Dieter → Karl LauerbachTypeScript 5.x → 6.0.3, Astro 6.1.9, Wrangler 4.84.1Datenschutz: Stand auf 24. April 2026 aktualisiertEinheitlicher Stack mit den drei Partnerprojekten

⚙️ Cloudflare-Automatisierung

  • Neues wrangler.toml mit R2-Bucket-Binding (rebel-girl-fm).
  • npm run setup:cloudflare prüft / erstellt Cloudflare-Ressourcen per CLI — keine manuelle Dashboard-Arbeit mehr.
  • scripts/setup-cloudflare.js nutzt korrekt npx wrangler für cross-platform-Zuverlässigkeit.

🛡️ Adblocker-Fallback für Feedback-Formular

  • Wenn das Tally-Formular auf /feedback, /en/feedback oder /es/feedback von einem Adblocker oder Privacy-Browser (uBlock Origin, Brave Shields, Firefox Strict Mode) blockiert wird, erscheint nach 5 Sekunden eine Hinweis-Box mit Direkt-Link.
  • 3 neue i18n-Keys pro Sprache: feedback.fallback.title, feedback.fallback.text, feedback.fallback.link.

👤 Stalker-Charakter umbenannt

  • Dieter Lauerbach → Karl Lauerbach in allen drei Sprachen (i18n + about.text3-Persona-Übersicht + ki/05-personas.md).

📦 Dependency-Updates

  • Astro 6.1.9 (von 6.1.7)
  • TypeScript 6.0.3 (von 5.9.3) — getestet, keine Breaking Changes.
  • Wrangler 4.84.1
  • tailwindcss / @tailwindcss/vite 4.2.4
  • Preact 10.29.x (unverändert)
  • vite@^7 als explizite devDependency + overrides (behebt @preact/preset-vite Resolution-Problem auf Astro 6.1.9).

🎨 CSS / Build-Fix

  • @source-Direktive in src/styles/global.css entfernt — löste einen rolldown-Bug (Missing field 'tsconfigPaths') in @tailwindcss/vite 4.2.4 aus. Tailwind v4 erkennt Dateien automatisch via Vites Modul-Graph.

🔗 Einheitlicher Stack

  • Rebel Girl FM teilt jetzt dieselbe Basis wie dampferburg, dampfermessen und noob-town: Astro 6 + Tailwind v4 + TypeScript 6 + Wrangler 4 + Vite 7. Preact + Nanostores bleiben Rebel-Girl-Spezifikum für den Webradio-Player.

🔒 Datenschutz

  • „Stand”-Angabe auf 24. April 2026 aktualisiert (DE/EN/ES).
v3.2.0 2026-04-19
Feedback-Seite (DE/EN/ES) mit Tally Inline-EmbedKI-Dokumentation auf 16 Module erweitertDatenschutz: Tally.so-Abschnitt ergänztFavicon auf CDN umgestelltHydration- & Video-Pfad-Fixes

💬 Feedback-Seite

  • Neue Seite /feedback (und /en/feedback, /es/feedback) mit eingebettetem Tally-Formular.
  • Popup → Inline-Embed: Button ersetzt durch direktes Inline-Formular — DSGVO-schonender, kein externer Popup-Kontext, direktere UX.
  • Footer-Link „FEEDBACK” in allen drei Sprachen ergänzt.
  • 2 neue i18n-Keys pro Sprache (feedback.*, privacy.s6.tally*).

🖼️ Favicon

  • Favicon zentral auf cdn.rebel-girl-fm.de/downloads/Logos/FAVICON-neu.webp umgestellt.
  • Doppelter SVG-Eintrag aus BaseHead.astro entfernt, WebP mit expliziter Größenangabe.

📚 KI-Dokumentation (v2)

  • Alte 9 Docs durch 16 strukturierte Module ersetzt (ki/MASTER.md + 01–16).
  • Neue Module: 12-auth-sessions.md, 13-testing.md, 14-caching-kv.md, 15-error-monitoring.md, 16-forms-antispam.md, 05a-database-d1.md.
  • CLAUDE.md vollständig auf neue Modulstruktur aktualisiert.

🔒 Datenschutz-Update (DE/EN/ES)

  • Neuer Drittanbieter-Abschnitt Tally.so (Formulardienst, EU-DSGVO-konform) ergänzt.
  • „Stand”-Angabe auf 19. April 2026 aktualisiert.

🧹 Cleanup & Fixes

  • Decap CMS entfernt: public/admin/ (config.yml, index.html) nicht länger genutzt → gelöscht.
  • Hydration-Speed: client:visible → client:load bei Hero-Komponenten für schnellere Interaktivität.
  • Video-Pfad-Filter: heroVideo.ts filtert nur Videos aus korrektem Ordner (Rebel Girl FM Studio).
  • Galerie-Routing: ES-Galerie-Pfade korrigiert (/es/galeria).

📦 Dependencies

  • Astro 6.1.7
  • Tailwind CSS 4.2.2
  • Preact 10.29.x
  • Keine Breaking Changes.
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 (ki/)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:site und twitter: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-7xl für konsistente Breite.
  • robots.txt: AI-Bots explizit erlaubt und /admin/ blockiert.

🔒 Sicherheit

  • CSP erweitert: cdn.rebel-girl-fm.de in media-src, img-src und connect-src eingetragen — Medien wurden zuvor vom Browser blockiert.
  • manifest.webmanifest mit korrektem Content-Type: application/manifest+json Cache-Header.

🐛 Bugfixes

  • Charakter-Bilder (Über-Uns): Alle 6 Charakter-MD-Dateien hatten lokale Bildpfade — auf CDN-URLs korrigiert.
  • Player leere Playlist: media-index.json als 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.md im Repo-Root — wird von Claude Code automatisch geladen.
  • ki/ 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 defu und vite
  • z-Import auf astro/zod migriert (Deprecation behoben)

🔧 Fixes

  • Lyrics-Index repariert: sync.js und check_assets.js suchten Lyrics im falschen Ordner (Audio/ statt Songtexte/) — 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 .webp Format konvertiert.
  • Profilseiten aktualisiert: Die generierten Persona-Bilder wurden in die entsprechenden Nebencharakter-Seiten (stalker.astro, stalkerin.astro) eingebunden.
  • Sauberer Speicher: Alte .png Dateien wurden aus dem Repository gelöscht und der Media-Index via sync.js neu 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 baseUrl entfernt, 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 ersten popstate-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 PlaylistsSecurity Audit & HardeningWCAG Compliance

🚀 Major Feature Update

  • Clean URLs (History API): Volle Umstellung auf modernes Routing.
  • Hierarchische Playlists: Tiefere Ordnerstruktur für Audio-Quellen.
  • 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.