Fix gPodder sync: add missing update_urls to subscription change responses
All checks were successful
Build and push Docker image / build (push) Successful in 11s
Test / test (push) Successful in 14s

AntennaPod throws JSONException when update_urls is absent from the
GET ?since=... subscription response. Added update_urls: [] to both
subscriptions_by_device and subscriptions_all delta responses.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marwin Schulz 2026-03-20 11:50:24 +01:00
parent 96a21f5482
commit dcef4736e6

View file

@ -140,7 +140,7 @@ def subscriptions_by_device(request, username, deviceid):
since = request.GET.get('since') since = request.GET.get('since')
if since: if since:
added, removed = _subscription_changes_since(request.user, since) added, removed = _subscription_changes_since(request.user, since)
return JsonResponse({'add': added, 'remove': removed, 'timestamp': _now_ts()}) return JsonResponse({'add': added, 'remove': removed, 'timestamp': _now_ts(), 'update_urls': []})
else: else:
urls = list(PodcastFeed.objects.filter(user=request.user).values_list('rss_url', flat=True)) urls = list(PodcastFeed.objects.filter(user=request.user).values_list('rss_url', flat=True))
return JsonResponse(urls, safe=False) return JsonResponse(urls, safe=False)
@ -180,7 +180,7 @@ def subscriptions_all(request, username):
since = request.GET.get('since') since = request.GET.get('since')
if since: if since:
added, removed = _subscription_changes_since(request.user, since) added, removed = _subscription_changes_since(request.user, since)
return JsonResponse({'add': added, 'remove': removed, 'timestamp': _now_ts()}) return JsonResponse({'add': added, 'remove': removed, 'timestamp': _now_ts(), 'update_urls': []})
else: else:
urls = list(PodcastFeed.objects.filter(user=request.user).values_list('rss_url', flat=True)) urls = list(PodcastFeed.objects.filter(user=request.user).values_list('rss_url', flat=True))
return JsonResponse(urls, safe=False) return JsonResponse(urls, safe=False)