ViewTube / viewtube

▶️ ViewTube: The open source, privacy-conscious way to enjoy your favorite YouTube content. Docs: https://viewtube.wiki, Status: https://uptime.viewtube.io
https://viewtube.io
GNU Affero General Public License v3.0
1.31k stars 75 forks source link

Missing catch or finally after try #1507

Closed sdfg2 closed 10 months ago

sdfg2 commented 2 years ago

Describe the Bug

Error:

{
  "requestConfig": {
    "transitional": {
      "silentJSONParsing": true,
      "forcedJSONParsing": true,
      "clarifyTimeoutError": false
    },
    "transformRequest": [
      null
    ],
    "transformResponse": [
      null
    ],
    "timeout": 30000,
    "xsrfCookieName": "XSRF-TOKEN",
    "xsrfHeaderName": "X-XSRF-TOKEN",
    "maxContentLength": -1,
    "maxBodyLength": -1,
    "headers": {
      "Accept": "application/json, text/plain, */*"
    },
    "baseURL": "http://vt.heracles.lan/api/",
    "withCredentials": true,
    "method": "get",
    "url": "videos/L8D_s6m-6ZU"
  },
  "responseData": {
    "status": 500,
    "message": "Missing catch or finally after try"
  },
  "message": "Request failed with status code 500"
}
Browser console log

``` GET http://vt.heracles.lan/api/videos/L8D_s6m-6ZU 500 (Internal Server Error) (anonymous) @ 312ce76.modern.js:2 t.exports @ 312ce76.modern.js:2 t.exports @ 312ce76.modern.js:2 v.request @ 312ce76.modern.js:2 r.forEach.v. @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 t. @ 8008218.modern.js:1 (anonymous) @ 15a9722.modern.js:1 r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 89e2047.modern.js:2 (anonymous) @ 89e2047.modern.js:2 r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 R @ 89e2047.modern.js:2 (anonymous) @ 89e2047.modern.js:2 (anonymous) @ 89e2047.modern.js:2 ee @ 312ce76.modern.js:2 vn @ 312ce76.modern.js:2 t @ 312ce76.modern.js:2 Dn.$mount @ 312ce76.modern.js:2 init @ 312ce76.modern.js:2 n @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 v @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 t._update @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 En.get @ 312ce76.modern.js:2 En.run @ 312ce76.modern.js:2 Cn @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 ue @ 312ce76.modern.js:2 Promise.then (async) oe @ 312ce76.modern.js:2 pe @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 En.update @ 312ce76.modern.js:2 t.$forceUpdate @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 d @ 312ce76.modern.js:2 ee @ 312ce76.modern.js:2 n @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 bo @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 requestAnimationFrame (async) (anonymous) @ 312ce76.modern.js:2 requestAnimationFrame (async) mo @ 312ce76.modern.js:2 $ @ 312ce76.modern.js:2 Co @ 312ce76.modern.js:2 remove @ 312ce76.modern.js:2 k @ 312ce76.modern.js:2 E @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 t._update @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 En.get @ 312ce76.modern.js:2 En.run @ 312ce76.modern.js:2 Cn @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 ue @ 312ce76.modern.js:2 Promise.then (async) oe @ 312ce76.modern.js:2 pe @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 En.update @ 312ce76.modern.js:2 xt.notify @ 312ce76.modern.js:2 set @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 qt.updateRoute @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 jt @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 x @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ d6239a8.modern.js:1 r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 Promise.then (async) r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 Promise.then (async) r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 Promise.then (async) r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 Promise.then (async) r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 Promise.then (async) r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 P @ d6239a8.modern.js:1 x @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ d6239a8.modern.js:1 r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 Promise.then (async) r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 O @ d6239a8.modern.js:1 x @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 jt @ 312ce76.modern.js:2 qt.confirmTransition @ 312ce76.modern.js:2 qt.transitionTo @ 312ce76.modern.js:2 e.push @ 312ce76.modern.js:2 ee.push @ 312ce76.modern.js:2 k @ 312ce76.modern.js:2 ee @ 312ce76.modern.js:2 n @ 312ce76.modern.js:2 Dr.c._wrapper @ 312ce76.modern.js:2 ```

Steps to Reproduce the Bug

  1. Click on any video
  2. Get that error

Expected Behaviour

No error.

Screenshot/Screen recording

Device Info

Additional Context

sdfg2 commented 2 years ago

I should note this started happening recently, everything was working fine until about 7 days ago. Then this error started happening. I've made sure to docker-compose pull so I'm up to date and it's still doing it.

Something on YouTube end maybe? Anything I can do to help, I hate using normal youtube XD

sdfg2 commented 2 years ago

Ok, so it started working 2 days ago for a day. Then yesterday it stopped again, the error has changed to this:

{
  "requestConfig": {
    "transitional": {
      "silentJSONParsing": true,
      "forcedJSONParsing": true,
      "clarifyTimeoutError": false
    },
    "transformRequest": [
      null
    ],
    "transformResponse": [
      null
    ],
    "timeout": 30000,
    "xsrfCookieName": "XSRF-TOKEN",
    "xsrfHeaderName": "X-XSRF-TOKEN",
    "maxContentLength": -1,
    "maxBodyLength": -1,
    "headers": {
      "Accept": "application/json, text/plain, */*"
    },
    "baseURL": "http://vt.heracles.lan/api/",
    "withCredentials": true,
    "method": "get",
    "url": "videos/6Np4T4XTb0c"
  },
  "responseData": {
    "status": 500,
    "message": "Invalid or unexpected token"
  },
  "message": "Request failed with status code 500"
}
Browser log

``` GET http://vt.heracles.lan/api/videos/6Np4T4XTb0c 500 (Internal Server Error) (anonymous) @ 312ce76.modern.js:2 t.exports @ 312ce76.modern.js:2 t.exports @ 312ce76.modern.js:2 v.request @ 312ce76.modern.js:2 r.forEach.v. @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 t. @ 8008218.modern.js:1 (anonymous) @ 15a9722.modern.js:1 r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 89e2047.modern.js:2 (anonymous) @ 89e2047.modern.js:2 r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 C @ 89e2047.modern.js:2 R @ 89e2047.modern.js:2 (anonymous) @ 89e2047.modern.js:2 (anonymous) @ 89e2047.modern.js:2 ee @ 312ce76.modern.js:2 vn @ 312ce76.modern.js:2 t @ 312ce76.modern.js:2 Dn.$mount @ 312ce76.modern.js:2 init @ 312ce76.modern.js:2 n @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 v @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 t._update @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 En.get @ 312ce76.modern.js:2 En.run @ 312ce76.modern.js:2 Cn @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 ue @ 312ce76.modern.js:2 Promise.then (async) oe @ 312ce76.modern.js:2 pe @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 En.update @ 312ce76.modern.js:2 t.$forceUpdate @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 d @ 312ce76.modern.js:2 ee @ 312ce76.modern.js:2 n @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 bo @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 requestAnimationFrame (async) (anonymous) @ 312ce76.modern.js:2 requestAnimationFrame (async) mo @ 312ce76.modern.js:2 $ @ 312ce76.modern.js:2 Co @ 312ce76.modern.js:2 remove @ 312ce76.modern.js:2 k @ 312ce76.modern.js:2 E @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 t._update @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 En.get @ 312ce76.modern.js:2 En.run @ 312ce76.modern.js:2 Cn @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 ue @ 312ce76.modern.js:2 Promise.then (async) oe @ 312ce76.modern.js:2 pe @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 En.update @ 312ce76.modern.js:2 xt.notify @ 312ce76.modern.js:2 set @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 qt.updateRoute @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 jt @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 x @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ d6239a8.modern.js:1 r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 Promise.then (async) r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 Promise.then (async) r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 Promise.then (async) r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 Promise.then (async) r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 Promise.then (async) r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 z @ d6239a8.modern.js:1 P @ d6239a8.modern.js:1 x @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ d6239a8.modern.js:1 r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 Promise.then (async) r @ 312ce76.modern.js:2 l @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 (anonymous) @ 312ce76.modern.js:2 S @ d6239a8.modern.js:1 O @ d6239a8.modern.js:1 x @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 r @ 312ce76.modern.js:2 jt @ 312ce76.modern.js:2 qt.confirmTransition @ 312ce76.modern.js:2 qt.transitionTo @ 312ce76.modern.js:2 e.push @ 312ce76.modern.js:2 ee.push @ 312ce76.modern.js:2 k @ 312ce76.modern.js:2 ee @ 312ce76.modern.js:2 n @ 312ce76.modern.js:2 Dr.c._wrapper @ 312ce76.modern.js:2 Show 8 more frames ```

moisout commented 2 years ago

Thank you for reporting! I will look into it. Youtube has recently changed some things, so it could be related to that.

sdfg2 commented 2 years ago

Yeah, there's been the occasional hiccup, but it usually resolves itself at the next hourly update or the next day. It's the fact this has been going on a week makes me think there's something deeper going on, and I want my viewtube back! Going back to proper youtube is like tying a rock around my leg to go swimming XD

moisout commented 1 year ago

This could be related to a location restricted video. Has it happened again recently?

moisout commented 10 months ago

I will close this for now, please open a new issue if anything isn't working