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.28k stars 73 forks source link

Viewtube Error: query is missing #2648

Open curo1305 opened 6 months ago

curo1305 commented 6 months ago

Describe the Bug

Cannot load videos neither on desktop nor on mobile. The site itself works, gets updates and is great, but I cannot watch videos. It's loading indefinitely.

Steps to Reproduce the Bug

I have no idea unfortunately. Yesterday it worked now it doesn't

Device Info

Additional Context

Logs

[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/videoplayback, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RoutesResolver] AutocompleteController {/api/autocomplete}:
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/autocomplete, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RoutesResolver] SearchController {/api/search}:
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/search, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RoutesResolver] ChannelsController {/api/channels}:
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/:id/thumbnail/tiny.jpg, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/:id/thumbnail/tiny.webp, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/:id, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/:id/home, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/:id/videos, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/videos/continuation, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/:id/shorts, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/:id/livestreams, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/:id/playlists, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/playlists/continuation, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/:id/search, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/search/continuation, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/relatedchannels/continuation, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/:id/communityposts, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/communityposts/continuation, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/channels/:id/stats, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RoutesResolver] HomepageController {/api/homepage}:
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/homepage/homefeed, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RoutesResolver] ProxyController {/api/proxy}:
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/proxy/image, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/proxy/stream, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RoutesResolver] CommentsController {/api/comments}:
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/comments/:videoId, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/comments/:videoId/replies, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RoutesResolver] PlaylistsController {/api/playlists}:
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/playlists/:playlistId, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/playlists/continuation, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RoutesResolver] NuxtController {/}:
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/*, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RoutesResolver] AdminController {/api/admin}:
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/admin/info, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/admin/server-settings, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/admin/server-settings, POST} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/admin/logs, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/admin/logs/:logFile, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/admin/blocked-videos, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/admin/blocked-videos/:id, GET} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/admin/blocked-videos, POST} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/admin/blocked-videos/:id, DELETE} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [RouterExplorer] Mapped {/api/admin/users, POST} route
[ViewTube] Info 2/15/2024, 2:55:59 PM [NestApplication] Nest application successfully started
[ViewTube] Info 2/15/2024, 2:55:59 PM Server listening on http://0.0.0.0:8066
InnertubeError: ClientSideToggleMenuItem not found!
This is a bug, want to help us fix it? Follow the instructions at https://github.com/LuanRT/YouTube.js/blob/main/docs/updating-the-parser.md or report it at https://github.com/LuanRT/YouTube.js/issues!
Introspected and JIT generated this class in the meantime:
class ClientSideToggleMenuItem extends YTNode {
  static type = 'ClientSideToggleMenuItem';
  default_text: Text;
  default_icon: {
    icon_type: string
  };
  toggled_text: Text;
  toggled_icon: {
    icon_type: string
  };
  menu_item_identifier: string;
    command: {
    click_tracking_params: string,
    toggle_live_chat_timestamps_endpoint: NavigationEndpoint
  };
  constructor(data: RawNode) {
    super();
    this.default_text = new Text(data.defaultText);
    this.default_icon = {
      icon_type: data.defaultIcon.iconType
    };
    this.toggled_text = new Text(data.toggledText);
    this.toggled_icon = {
      icon_type: data.toggledIcon.iconType
    };
    this.menu_item_identifier = data.menuItemIdentifier;
    this.command = {
      click_tracking_params: data.command.clickTrackingParams,
      toggle_live_chat_timestamps_endpoint: new NavigationEndpoint(data.command.toggleLiveChatTimestampsEndpoint)
    };
  }
}
    at ERROR_HANDLER (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:11254:20)
    at createRuntimeClass (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:10578:3)
    at generateRuntimeClass (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:10621:19)
    at parseItem (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:11551:75)
    at Object.parseArray (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:11593:22)
    at new Menu (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:1140:33)
    at Object.parseItem (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:11573:22)
    at new LiveChatHeader (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:7292:41)
    at Object.parseItem (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:11573:22)
    at new LiveChat (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:6731:34) {
  date: 2024-02-15T14:56:05.245Z,
  version: '8.1.0'
}
[ViewTube] Error    2/15/2024, 2:56:05 PM [ExceptionsHandler] query is missing - {"stack":["Error: query is missing\n    at throwIfMissing (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:16158:13)\n    at Innertube.<anonymous> (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:17878:7)\n    at Generator.next (<anonymous>)\n    at /home/app/node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.js:169:75\n    at new Promise (<anonymous>)\n    at __awaiter (/home/app/node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.js:165:16)\n    at Innertube.search (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:17877:41)\n    at SearchService.doSearch (/home/app/server/dist/main.cjs:2769:44)"]}

Docker compose file


services:

  viewtube:
    restart: unless-stopped
    image: mauriceo/viewtube:latest
    container_name: viewtube
    depends_on:
      - viewtube-mongodb
      - viewtube-redis
    networks:
      - swag-network
      - backend
    volumes:
      - ${DOCKERDIR}/viewtube:/data
    environment:
      - VIEWTUBE_DATABASE_HOST=viewtube-mongodb
      - VIEWTUBE_REDIS_HOST=viewtube-redis
      - VIEWTUBE_YOUTUBE_COOKIE=* * Cookie extracted like the wiki showed * * 

  viewtube-mongodb:
    restart: unless-stopped
    image: mongo:7
    container_name: viewtube-mongodb
    networks:
      - backend
    volumes:
      - ${DOCKERDIR}/db:/data/db

  viewtube-redis:
    restart: unless-stopped
    image: redis:7
    container_name: viewtube-redis
    networks:
      - backend
    volumes:
      - ${DOCKERDIR}/redis:/data
    deploy:
      resources:
        limits:
          memory: 2048M

networks:
  swag-network:
    external: true
  backend:
    ipam:
      driver: default
      config:
        - subnet: 172.19.2.0/24
          gateway: 172.19.2.1

Edit: some additional logs

[ViewTube] Error    2/15/2024, 3:27:41 PM [ExceptionsHandler] Generating DASH manifests for live and Post-Live-DVR videos is not supported. Please use the DASH and HLS manifests provided by YouTube in `streaming_data.dash_manifest_url` and `streaming_data.hls_manifest_url` instead. - {"stack":["Error: Generating DASH manifests for live and Post-Live-DVR videos is not supported. Please use the DASH and HLS manifests provided by YouTube in `streaming_data.dash_manifest_url` and `streaming_data.hls_manifest_url` instead.\n    at VideoInfo.<anonymous> (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:14146:15)\n    at Generator.next (<anonymous>)\n    at /home/app/node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.js:169:75\n    at new Promise (<anonymous>)\n    at __awaiter (/home/app/node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.js:165:16)\n    at VideoInfo.toDash (/home/app/node_modules/.pnpm/youtubei.js@8.1.0/node_modules/youtubei.js/bundle/node.cjs:14143:41)\n    at VideosService.getById (/home/app/server/dist/main.cjs:743:50)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"]}
[nuxt] [request error] [unhandled] [500] Cannot read properties of undefined (reading 'name')
  at authorToName (./client/.output/server/chunks/app/_nuxt/watch-60FJ3GYF.mjs:1152:32)  
  at ./client/.output/server/chunks/app/_nuxt/watch-60FJ3GYF.mjs:1160:43  
  at ReactiveEffect.fn (./client/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js:917:13)  
  at ReactiveEffect.run (./client/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js:155:19)  
  at get value [as value] (./client/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js:928:68)  
  at unref (./client/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js:1022:29)  
  at ./client/.output/server/chunks/app/_nuxt/watch-60FJ3GYF.mjs:1175:16  
  at renderComponentSubTree (./client/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:433:9)  
  at ./client/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:377:25  
  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
moisout commented 4 months ago

Hi, can you try again with version 0.15.3?

curo1305 commented 4 months ago

I still got the query is mssing error with 0.15.3

[ViewTube] Error    4/16/2024, 10:53:12 AM [ExceptionsHandler] query is missing - {"stack":["Error: query is missing\n    at throwIfMissing (/home/app/node_modules/.pnpm/youtubei.js@9.1.0/node_modules/youtubei.js/bundle/node.cjs:16479:13)\n    at Innertube.<anonymous> (/home/app/node_modules/.pnpm/youtubei.js@9.1.0/node_modules/youtubei.js/bundle/node.cjs:18224:7)\n    at Generator.next (<anonymous>)\n    at /home/app/node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.js:169:75\n    at new Promise (<anonymous>)\n    at __awaiter (/home/app/node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.js:165:16)\n    at Innertube.search (/home/app/node_modules/.pnpm/youtubei.js@9.1.0/node_modules/youtubei.js/bundle/node.cjs:18223:41)\n    at SearchService.doSearch (/home/app/server/dist/main.cjs:2781:44)"]}