-
Notifications
You must be signed in to change notification settings - Fork 823
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
Missing catch or finally after try - this error is back in 4.11.4 as well #1216
Comments
Same issue here. It happens but not every time. Edit : You can use |
I have the same issue : |
Exact same issue and error as the one mentioned above me. |
provisionally im using https://www.npmjs.com/package/@distube/ytdl-core work for me Try this: |
Happened a few hours ago a few times, then it worked again, now it's broken again |
Don't forget to add the version number
|
this exact error was 2 weeks ago in 4.11.3 and then we freaked out, and then they fixed and now it is back again, it is probably because youtube keep changing their code so... |
This fork uses some custom HTTP client that doesn't play ball when you mock fetch in tests: https://www.npmjs.com/package/undici It works in practice but it ruins all my test suites. |
After some research I've found that the problem has to do with the signature deciphering extraction of functions, specifically the TEMP FIX Lines 97 to 102 in 0d3f91b
with // Go through all characters from the start
for (i = 0; i < mixedJson.length; i++) {
// End of current escaped object
if (!isEscaped && isEscapedObject !== null && mixedJson[i] === isEscapedObject.end) {
// Ignore character inside RegEx character set with a range of 30 characters
let charsetStart = mixedJson.substring(i - 15, i).search(/\[[^\]]*/)
let charsetEnd = mixedJson.substring(i, i + 15).search(/[^\[]*\]/)
if (mixedJson[i] == '/' && charsetStart !== -1 && charsetEnd !== -1)
continue;
isEscapedObject = null;
continue; You can find the file locally in |
This works for me. I made a patch with this changes, so you can use it with |
To make your code work you can use this patch "ytdl-core": "git+ssh://[email protected]:khlevon/node-ytdl-core.git#v4.11.4-patch.1" |
Changed version to ytdl-core patch since there was a problem with version 4.11.4. fent/node-ytdl-core#1216
UnhandledPromiseRejectionWarning: Error: Could not parse decipher function: TypeError: decipherFuncName.replaceAll is not a function |
For me this syntax worked: "ytdl-core": "https://github.com/khlevon/node-ytdl-core.git#v4.11.4-patch.1" |
In case someone needs to have node 12 and 14 support, you can use this patch "ytdl-core": "git+ssh://[email protected]:khlevon/node-ytdl-core.git#v4.11.4-patch.2" For more details check this PR: #1217 |
4.11.9 cannot play some streams, I updated to
|
4.11.5 same issue
|
evalmachine.:24
c[74]),c[64])((0,c[25])(c[24],c[41]),c[35],c[33+Math.pow(8,3)%229],c[92]),c[70])(c[87],c[27])}try{8>=c[92]&&(0,c[15])((0,c[35])(c[36],c[20]),c[11],c[29])}catch(d){(0,c[60])(c[92],c[93])}try{1>c[45]?((0,c[60])(c[2],c[93]),c[60])(c[91],c[93]):((0,c[88])(c[93],c[86]),c[11])(c[57])}catch(d){(0,c[85])((0,c[80])(),c[56],c[0])}};qma(ncode);
SyntaxError: Missing catch or finally after try
The text was updated successfully, but these errors were encountered: