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

Getting Formats crashes whole app when there are 2 or more video's on the same page #219

Open
LordPraslea opened this issue Nov 7, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@LordPraslea
Copy link

Version running
Latest version september release, linux golang version.

Describe the bug
When trying to download any video from a page which contains 2 or more videos (vimeo, youtube) it crashes. While yt-dlp

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Downloads / first page'
  2. Click on 'New download'
  3. Add video url of page which contains 2 video's (vimeo,youtube)
  4. Click select format
  5. See error in console, you get redirected to main page and nothing happens

Expected behavior
Formats should be shown for all video's on that page and to be able to select them and continue. Yt-dlp shows 2 formats and when given the formats with --format split by / it can then proceed to download both video/audio combinations

Screenshots

Bug Report from JS

TypeError: e.formats is null
Iu http://0.0.0.0:3033/assets/Home-7tbYWJlQ.js:104
Rh http://0.0.0.0:3033/assets/index-DQBATV2F.js:39
US http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
$S http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
nC http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
Iu http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
up http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
LS http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
C http://0.0.0.0:3033/assets/index-DQBATV2F.js:26
W http://0.0.0.0:3033/assets/index-DQBATV2F.js:26
index-DQBATV2F.js:41:161
Xd http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
callback http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
tg http://0.0.0.0:3033/assets/index-DQBATV2F.js:39
gg http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
PS http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
JT http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
oC http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
To http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
LS http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
C http://0.0.0.0:3033/assets/index-DQBATV2F.js:26
W http://0.0.0.0:3033/assets/index-DQBATV2F.js:26
React Router caught the following error during render TypeError: e.formats is null
Iu http://0.0.0.0:3033/assets/Home-7tbYWJlQ.js:104
Rh http://0.0.0.0:3033/assets/index-DQBATV2F.js:39
US http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
$S http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
nC http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
Iu http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
up http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
LS http://0.0.0.0:3033/assets/index-DQBATV2F.js:41
C http://0.0.0.0:3033/assets/index-DQBATV2F.js:26
W http://0.0.0.0:3033/assets/index-DQBATV2F.js:26

Object { componentStack: "\nIu@http://0.0.0.0:3033/assets/Home-7tbYWJlQ.js:104:58011\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nnU/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:86:10502\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nfD/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:27405\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nL4<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:86:37534\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nt@http://0.0.0.0:3033/assets/index-DQBATV2F.js:86:29526\nJ3<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:186:9909\nBF@http://0.0.0.0:3033/assets/index-DQBATV2F.js:159:21036\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nWF<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:159:23160\nW3<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:186:3246\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nGn<@http://0.0.0.0:3033/assets/DeleteForever-Q97zR0wo.js:1:28277\nTu@http://0.0.0.0:3033/assets/Home-7tbYWJlQ.js:104:61164\nSuspense\nVu@http://0.0.0.0:3033/assets/Home-7tbYWJlQ.js:106:7883\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nnU/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:86:10502\nad@http://0.0.0.0:3033/assets/Home-7tbYWJlQ.js:106:9136\nSuspense\nbk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:60:3949\nSk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:60:3167\nAk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:60:6757\nmain\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nfD/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:27405\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nfD/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:27405\nx$@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6399\nK6@http://0.0.0.0:3033/assets/index-DQBATV2F.js:227:9267\nComponent\nbk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:60:3949\nSk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:60:3167\nxk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:69:4760\nIk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:60:6887\nHk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:69:2056\naP@http://0.0.0.0:3033/assets/index-DQBATV2F.js:71:32223\nlP@http://0.0.0.0:3033/assets/index-DQBATV2F.js:71:33693\neW" }

componentStack: "\nIu@http://0.0.0.0:3033/assets/Home-7tbYWJlQ.js:104:58011\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nnU/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:86:10502\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nfD/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:27405\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nL4<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:86:37534\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nt@http://0.0.0.0:3033/assets/index-DQBATV2F.js:86:29526\nJ3<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:186:9909\nBF@http://0.0.0.0:3033/assets/index-DQBATV2F.js:159:21036\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nWF<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:159:23160\nW3<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:186:3246\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nGn<@http://0.0.0.0:3033/assets/DeleteForever-Q97zR0wo.js:1:28277\nTu@http://0.0.0.0:3033/assets/Home-7tbYWJlQ.js:104:61164\nSuspense\nVu@http://0.0.0.0:3033/assets/Home-7tbYWJlQ.js:106:7883\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nnU/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:86:10502\nad@http://0.0.0.0:3033/assets/Home-7tbYWJlQ.js:106:9136\nSuspense\nbk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:60:3949\nSk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:60:3167\nAk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:60:6757\nmain\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nfD/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:27405\ndiv\nHw/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6179\nfD/<@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:27405\nx$@http://0.0.0.0:3033/assets/index-DQBATV2F.js:78:6399\nK6@http://0.0.0.0:3033/assets/index-DQBATV2F.js:227:9267\nComponent\nbk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:60:3949\nSk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:60:3167\nxk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:69:4760\nIk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:60:6887\nHk@http://0.0.0.0:3033/assets/index-DQBATV2F.js:69:2056\naP@http://0.0.0.0:3033/assets/index-DQBATV2F.js:71:32223\nlP@http://0.0.0.0:3033/assets/index-DQBATV2F.js:71:33693\neW"

: Object { … }
index-DQBATV2F.js:60:3620

Additional context
Adding a single youtube video works.

@marcopeocchi
Copy link
Owner

Hi @LordPraslea,

Can you please paste the application logs (not the frontend error). Thank you!

@LordPraslea
Copy link
Author

Hi @marcopeocchi

Unfortunately, there's not much in the logs, even with filebased logging, there's only one line and it's just an info

time=2024-11-08T17:57:11.581+02:00 level=INFO msg="retrieving metadata" caller=getFormats url=https://url--of-domain-here.com/episode-1/

Is there any -debug -verbose option?

@marcopeocchi
Copy link
Owner

Ok thanks!

@marcopeocchi marcopeocchi added the bug Something isn't working label Nov 8, 2024
@marcopeocchi
Copy link
Owner

marcopeocchi commented Nov 10, 2024

Hi @LordPraslea,

I dug up and discovered that if there's multiple videos in a page yt-dlp treat it as a playlist. unfortunately format selection on a playlist is not an easy task.

A solution might be leveraging the already existing playlist downloader.
The flow will be: you submit the page with multiple videos -> detect playlist -> download videos with best quality as playlist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants