API: Fix out of bound error on empty playlists (#4696)
Before this PR, Invidious assumed that every playlist had at least one video. When a playlist had no videos, Invidious was throwing an "Index out of bounds" exception. The following API endpoints were impacted: * api/v1/playlists/:plid * api/v1/auth/playlists/:plid Fixes issue 4679
This commit is contained in:
commit
4f60feee17
|
@ -74,7 +74,9 @@ module Invidious::Routes::API::V1::Misc
|
|||
response = playlist.to_json(offset, video_id: video_id)
|
||||
json_response = JSON.parse(response)
|
||||
|
||||
if json_response["videos"].as_a[0]["index"] != offset
|
||||
if json_response["videos"].as_a.empty?
|
||||
json_response = JSON.parse(response)
|
||||
elsif json_response["videos"].as_a[0]["index"] != offset
|
||||
offset = json_response["videos"].as_a[0]["index"].as_i
|
||||
lookback = offset < 50 ? offset : 50
|
||||
response = playlist.to_json(offset - lookback)
|
||||
|
|
Loading…
Reference in New Issue