Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Playlist continuation is broken #2694

Closed
SamantazFox opened this issue Dec 3, 2021 · 2 comments
Closed

[Bug] Playlist continuation is broken #2694

SamantazFox opened this issue Dec 3, 2021 · 2 comments
Assignees
Labels
bug Something isn't working stale type:youtube-change Google changed something (again)

Comments

@SamantazFox
Copy link
Member

Describe the bug
Playlists continuations are broken (again)

Steps to Reproduce

  1. Go to https://yewtu.be/playlist?list=PL55713C70BA91BD6E&page=1
  2. Go to https://yewtu.be/playlist?list=PL55713C70BA91BD6E&page=2
  3. Same videos show up.
@SamantazFox SamantazFox added the bug Something isn't working label Dec 3, 2021
@SamantazFox SamantazFox changed the title [Bug] [Bug] Playlist continuation is broken Dec 3, 2021
@SamantazFox SamantazFox added the type:youtube-change Google changed something (again) label Dec 3, 2021
@SamantazFox SamantazFox self-assigned this Dec 3, 2021
@SamantazFox
Copy link
Member Author

Original comment by @foghawk at #2782 (comment)

--

Describe the bug

Playlist pages show 200 videos per page, but changing the "page" parameter adjusts the offset into the playlist by only 100 videos per page. Most videos in long playlists therefore appear twice, making the pagination difficult to use.

In addition, it appears that

  • each page is made of two separate blocks of 100 available videos,
  • each block of available videos may reflect more than 100 videos in the playlist—apparently since if some videos in the block are unavailable, more will be borrowed from just after the end of the block until a full hundred working videos can be displayed—and
  • block offsets do not take this borrowing into account.

This can result in videos being repeated within individual pages (and seems like it would remain an issue, albeit between rather than within pages, even if the page length discrepancy were fixed).

Steps to Reproduce

  1. Visit a playlist with >100 videos, such as this one. Observe which videos are listed just before, on, and after position 100.
  2. Click "Next Page". Observe which videos are listed on and after position 1.

Expected behavior: pages are disjoint segments of the playlist, and each video is displayed once.

Actual behavior: the first block of videos on the second page is the same as the second block of videos on the first page (and this holds for each successive pair of pages), and some videos may be displayed twice on the same page.

Here is another example of an affected playlist. One video, number 18, has been copyright-struck and taken down; one video ("Ninja Movies") is displayed twice on the first page.

Additional context

Affects 2021.12.17-2ac19eb, 2021.12.28-a779cdd4, 2021.12.29-4e866dce, 2021.12.31-4a7efcbe, 2022.01.03-ddc26ed, 2022.01.04-8231216, 2022.01.06-5a72824, 2022.01.07-9b134698 (all the builds I have been able to test on).

Note that versions before 444b1c9 (2022.01.04-8231216 and earlier) do not display unavailable videos in playlists, while versions after (2022.01.06-5a72824 and later) do. However, the latter versions borrow anyway, so they still have the repetition issue; when affected by it they will display more than 100 videos per block/200 per page.

@github-actions
Copy link

This issue has been automatically marked as stale and will be closed in 30 days because it has not had recent activity and is much likely outdated. If you think this issue is still relevant and applicable, you just have to post a comment and it will be unmarked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working stale type:youtube-change Google changed something (again)
Projects
None yet
Development

No branches or pull requests

1 participant