From a31464358813a3f10ccb73ff8ccf3ec80c325db1 Mon Sep 17 00:00:00 2001 From: Marwin Schulz Date: Fri, 20 Mar 2026 12:58:38 +0100 Subject: [PATCH] Fix JS crash: serialize saved_stations/featured_stations to proper JSON Python booleans (True/False) in saved_stations (is_favorite field) and history (scrobbled field) were being rendered literally into JS via |safe, causing 'True is not defined' ReferenceError that broke all JS including book loading. Co-Authored-By: Claude Sonnet 4.6 --- radio/views.py | 4 +++- templates/radio/player.html | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/radio/views.py b/radio/views.py index c1653d4..29a29df 100644 --- a/radio/views.py +++ b/radio/views.py @@ -84,10 +84,12 @@ def index(request): context = { 'saved_stations': saved_stations, + 'saved_stations_json': json.dumps(saved_stations, cls=DjangoJSONEncoder), 'history': history, 'amazon_enabled': settings.AMAZON_AFFILIATE_ENABLED, 'featured_stations': featured, - 'initial_podcast_feeds': initial_podcast_feeds, + 'featured_stations_json': json.dumps(featured, cls=DjangoJSONEncoder), + 'initial_podcast_feeds': json.dumps(initial_podcast_feeds, cls=DjangoJSONEncoder), 'focus_station': focus_station, 'focus_station_json': json.dumps(focus_station, cls=DjangoJSONEncoder), 'encrypted_bg': encrypted_bg, diff --git a/templates/radio/player.html b/templates/radio/player.html index 099a52d..ebda44d 100644 --- a/templates/radio/player.html +++ b/templates/radio/player.html @@ -364,8 +364,8 @@ {% block extra_js %}