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

VideoUnavailable Exception youtube_explode_dart - Partially Songs Not Playing Anymore #2234

Open
1 of 2 tasks
ksaadDE opened this issue Jan 13, 2025 · 2 comments
Open
1 of 2 tasks
Labels
bug Something isn't working

Comments

@ksaadDE
Copy link
Contributor

ksaadDE commented Jan 13, 2025

Is there an existing issue for this? (Please read the description)

  • I have searched the existing issues

Current Behavior

VideoUnavailable Exception youtube_explode_dart - Songs not playing anymore. It somehow worked for a bit yesterday and the days before. So its only partially breaking?

Expected Behavior

Songs playing, not throwing errors

Steps to reproduce

Open app, start a song.

Logs

Logs
 [2025-01-13 10:41]---------------------
VideoUnavailableException: Video 'xxxxxx' is unavailable
In most cases, this error indicates that the video doesn't exist, is private, or has been taken down.
If you can however open this video in your browser in incognito mode, it most likely means that YouTube changed something, which broke this library.
Please report this issue on GitHub in that case.
#0      WatchPage.get.<anonymous closure> (package:youtube_explode_dart/src/reverse_engineering/pages/watch_page.dart:169)
<asynchronous suspension>
#1      retry (package:youtube_explode_dart/src/retry.dart:20)
<asynchronous suspension>
#2      VideoClient._getVideoFromWatchPage (package:youtube_explode_dart/src/videos/video_client.dart:38)
<asynchronous suspension>
#3      YoutubeSourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sources/youtube.dart:84)
<asynchronous suspension>
#4      SourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sourced_track.dart:185)
<asynchronous suspension>
#5      SourcedTrackNotifier.build (package:spotube/provider/server/sourced_track.dart:27)
<asynchronous suspension>
#6      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:41]---------------------
VideoUnavailableException: Video 'xxxxxx' is unavailable
In most cases, this error indicates that the video doesn't exist, is private, or has been taken down.
If you can however open this video in your browser in incognito mode, it most likely means that YouTube changed something, which broke this library.
Please report this issue on GitHub in that case.
#0      WatchPage.get.<anonymous closure> (package:youtube_explode_dart/src/reverse_engineering/pages/watch_page.dart:169)
<asynchronous suspension>
#1      retry (package:youtube_explode_dart/src/retry.dart:20)
<asynchronous suspension>
#2      VideoClient._getVideoFromWatchPage (package:youtube_explode_dart/src/videos/video_client.dart:38)
<asynchronous suspension>
#3      YoutubeSourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sources/youtube.dart:84)
<asynchronous suspension>
#4      SourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sourced_track.dart:185)
<asynchronous suspension>
#5      SourcedTrackNotifier.build (package:spotube/provider/server/sourced_track.dart:27)
<asynchronous suspension>
#6      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:41]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 502 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 502 has the following meaning: "Server error - the server failed to fulfil an apparently valid request"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.

#0      DioMixin.fetch (package:dio/src/dio_mixin.dart:520)
<asynchronous suspension>
#1      PipedClient.streams (package:piped_client/src/client.dart:35)
<asynchronous suspension>
#2      PipedSourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sources/piped.dart:91)
<asynchronous suspension>
#3      SourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sourced_track.dart:190)
<asynchronous suspension>
#4      SourcedTrackNotifier.build (package:spotube/provider/server/sourced_track.dart:27)
<asynchronous suspension>
#5      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:42]---------------------
Exception: [CustomSpotifyEndpoints.getView]: accessToken is empty
#0      CustomSpotifyEndpoints.getView (package:spotube/services/custom_spotify_endpoints/spotify_endpoints.dart:65)
#1      viewProvider.<anonymous closure> (package:spotube/provider/spotify/views/view.dart:13)
#2      AutoDisposeFamilyBase.call.<anonymous closure> (package:riverpod/src/framework/family.dart:199)
#3      FutureProvider._create (package:riverpod/src/future_provider/base.dart:71)
#4      FutureProviderElement.create.<anonymous closure> (package:riverpod/src/future_provider/base.dart:117)
#5      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:341)
#6      FutureHandlerProviderElementMixin._handleAsync (package:riverpod/src/async_notifier/base.dart:388)
#7      FutureHandlerProviderElementMixin.handleFuture (package:riverpod/src/async_notifier/base.dart:335)
#8      FutureProviderElement.create (package:riverpod/src/future_provider/base.dart:116)
#9      ProviderElementBase.buildState (package:riverpod/src/framework/element.dart:426)
#10     ProviderElementBase._performBuild (package:riverpod/src/framework/element.dart:363)
#11     ProviderElementBase.flush (package:riverpod/src/framework/element.dart:324)
#12     ProviderScheduler._performRefresh (package:riverpod/src/framework/scheduler.dart:100)
#13     ProviderScheduler._task (package:riverpod/src/framework/scheduler.dart:88)
#14     ProviderScheduler.vsync.<anonymous closure>.invoke (package:riverpod/src/framework/scheduler.dart:41)
#15     _UncontrolledProviderScopeElement.build (package:flutter_riverpod/src/framework.dart:396)
#16     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5617)
#17     Element.rebuild (package:flutter/src/widgets/framework.dart:5333)
#18     BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2693)
#19     BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2752)
#20     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3048)
#21     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1162)
#22     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:468)
#23     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1397)
#24     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1318)
#25     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1176)
#26     _rootRun (dart:async/zone.dart:1399)
#27     _CustomZone.run (dart:async/zone.dart:1301)
#28     _CustomZone.runGuarded (dart:async/zone.dart:1209)
#29     _invoke (dart:ui/hooks.dart:314)
#30     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:419)
#31     _drawFrame (dart:ui/hooks.dart:283)

----------------------------------------
[2025-01-13 10:42]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 401 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 401 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.

#0      DioMixin.fetch (package:dio/src/dio_mixin.dart:520)
<asynchronous suspension>
#1      CustomSpotifyEndpoints.getFriendActivity (package:spotube/services/custom_spotify_endpoints/spotify_endpoints.dart:113)
<asynchronous suspension>
#2      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:42]---------------------
Error Code: 401
Valid user authentication required
#0      SpotifyApiBase.handleResponseWithBody (package:spotify/src/spotify_base.dart:282)
#1      SpotifyApiBase._requestWrapper (package:spotify/src/spotify_base.dart:256)
<asynchronous suspension>
#2      SpotifyApiBase._getImpl (package:spotify/src/spotify_base.dart:210)
<asynchronous suspension>
#3      Me.get (package:spotify/src/endpoints/me.dart:22)
<asynchronous suspension>
#4      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:42:03.689721]---------------------
Error Code: 401
Valid user authentication required
#0      SpotifyApiBase.handleResponseWithBody (package:spotify/src/spotify_base.dart:282)
#1      SpotifyApiBase._requestWrapper (package:spotify/src/spotify_base.dart:256)
<asynchronous suspension>
#2      SpotifyApiBase._getImpl (package:spotify/src/spotify_base.dart:210)
<asynchronous suspension>
#3      Pages.getPage (package:spotify/src/endpoints/endpoint_paging.dart:253)
<asynchronous suspension>
#4      FavoritePlaylistsNotifier.fetch (package:spotube/provider/spotify/playlist/favorite.dart:33)
<asynchronous suspension>
#5      FavoritePlaylistsNotifier.build (package:spotube/provider/spotify/playlist/favorite.dart:44)
<asynchronous suspension>
#6      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:42]---------------------
Error Code: 404
Not Found
#0      SpotifyApiBase.handleResponseWithBody (package:spotify/src/spotify_base.dart:282)
#1      SpotifyApiBase._requestWrapper (package:spotify/src/spotify_base.dart:256)
<asynchronous suspension>
#2      SpotifyApiBase._getImpl (package:spotify/src/spotify_base.dart:210)
<asynchronous suspension>
#3      Pages.getPage (package:spotify/src/endpoints/endpoint_paging.dart:253)
<asynchronous suspension>
#4      FeaturedPlaylistsNotifier.fetch (package:spotube/provider/spotify/playlist/featured.dart:33)
<asynchronous suspension>
#5      FeaturedPlaylistsNotifier.build (package:spotube/provider/spotify/playlist/featured.dart:44)
<asynchronous suspension>
#6      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:42:03.706844]---------------------
Error Code: 401
Valid user authentication required
#0      SpotifyApiBase.handleResponseWithBody (package:spotify/src/spotify_base.dart:282)
#1      SpotifyApiBase._requestWrapper (package:spotify/src/spotify_base.dart:256)
<asynchronous suspension>
#2      SpotifyApiBase._getImpl (package:spotify/src/spotify_base.dart:210)
<asynchronous suspension>
#3      Pages.getPage (package:spotify/src/endpoints/endpoint_paging.dart:253)
<asynchronous suspension>
#4      SinglePages.stream.handlePageAndGetNext (package:spotify/src/endpoints/endpoint_paging.dart:187)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:42]---------------------
Error Code: 401
Valid user authentication required
#0      SpotifyApiBase.handleResponseWithBody (package:spotify/src/spotify_base.dart:282)
#1      SpotifyApiBase._requestWrapper (package:spotify/src/spotify_base.dart:256)
<asynchronous suspension>
#2      SpotifyApiBase._getImpl (package:spotify/src/spotify_base.dart:210)
<asynchronous suspension>
#3      Playlists.followedByUsers (package:spotify/src/endpoints/playlists.dart:316)
<asynchronous suspension>
#4      isFavoritePlaylistProvider.<anonymous closure> (package:spotube/provider/spotify/playlist/favorite.dart:132)
<asynchronous suspension>
#5      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:42]---------------------
NoSuchMethodError: The method '[]' was called on null.
Receiver: null
Tried calling: []("__typename")
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:38)
#1      _objectNoSuchMethod (dart:core-patch/object_patch.dart:85)
#2      transformSectionItemTypeJsonMap (package:spotube/models/spotify/home_feed.dart:174)
#3      transformSectionItemJsonMap.<anonymous closure> (package:spotube/models/spotify/home_feed.dart:220)
#4      MappedIterable.elementAt (dart:_internal/iterable.dart:385)
#5      ListIterator.moveNext (dart:_internal/iterable.dart:354)
#6      WhereIterator.moveNext (dart:_internal/iterable.dart:450)
#7      new _GrowableList._ofOther (dart:core-patch/growable_array.dart:202)
#8      new _GrowableList.of (dart:core-patch/growable_array.dart:152)
#9      new List.of (dart:core-patch/array_patch.dart:39)
#10     Iterable.toList (dart:core/iterable.dart:498)
#11     transformSectionItemJsonMap (package:spotube/models/spotify/home_feed.dart:229)
#12     transformHomeFeedJsonMap.<anonymous closure> (package:spotube/models/spotify/home_feed.dart:241)
#13     MappedIterable.elementAt (dart:_internal/iterable.dart:385)
#14     ListIterator.moveNext (dart:_internal/iterable.dart:354)
#15     new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189)
#16     new _GrowableList.of (dart:core-patch/growable_array.dart:150)
#17     new List.of (dart:core-patch/array_patch.dart:39)
#18     ListIterable.toList (dart:_internal/iterable.dart:224)
#19     transformHomeFeedJsonMap (package:spotube/models/spotify/home_feed.dart:244)
#20     CustomSpotifyEndpoints.getHomeFeed (package:spotube/services/custom_spotify_endpoints/spotify_endpoints.dart:164)
<asynchronous suspension>
#21     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:42]---------------------
NoSuchMethodError: The method '[]' was called on null.
Receiver: null
Tried calling: []("__typename")
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:38)
#1      _objectNoSuchMethod (dart:core-patch/object_patch.dart:85)
#2      transformSectionItemTypeJsonMap (package:spotube/models/spotify/home_feed.dart:174)
#3      transformSectionItemJsonMap.<anonymous closure> (package:spotube/models/spotify/home_feed.dart:220)
#4      MappedIterable.elementAt (dart:_internal/iterable.dart:385)
#5      ListIterator.moveNext (dart:_internal/iterable.dart:354)
#6      WhereIterator.moveNext (dart:_internal/iterable.dart:450)
#7      new _GrowableList._ofOther (dart:core-patch/growable_array.dart:202)
#8      new _GrowableList.of (dart:core-patch/growable_array.dart:152)
#9      new List.of (dart:core-patch/array_patch.dart:39)
#10     Iterable.toList (dart:core/iterable.dart:498)
#11     transformSectionItemJsonMap (package:spotube/models/spotify/home_feed.dart:229)
#12     transformHomeFeedJsonMap.<anonymous closure> (package:spotube/models/spotify/home_feed.dart:241)
#13     MappedIterable.elementAt (dart:_internal/iterable.dart:385)
#14     ListIterator.moveNext (dart:_internal/iterable.dart:354)
#15     new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189)
#16     new _GrowableList.of (dart:core-patch/growable_array.dart:150)
#17     new List.of (dart:core-patch/array_patch.dart:39)
#18     ListIterable.toList (dart:_internal/iterable.dart:224)
#19     transformHomeFeedJsonMap (package:spotube/models/spotify/home_feed.dart:244)
#20     CustomSpotifyEndpoints.getHomeFeed (package:spotube/services/custom_spotify_endpoints/spotify_endpoints.dart:164)
<asynchronous suspension>
#21     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:42]---------------------
VideoUnavailableException: Video 'xxxxxx' is unavailable
In most cases, this error indicates that the video doesn't exist, is private, or has been taken down.
If you can however open this video in your browser in incognito mode, it most likely means that YouTube changed something, which broke this library.
Please report this issue on GitHub in that case.
#0      WatchPage.get.<anonymous closure> (package:youtube_explode_dart/src/reverse_engineering/pages/watch_page.dart:169)
<asynchronous suspension>
#1      retry (package:youtube_explode_dart/src/retry.dart:20)
<asynchronous suspension>
#2      VideoClient._getVideoFromWatchPage (package:youtube_explode_dart/src/videos/video_client.dart:38)
<asynchronous suspension>
#3      YoutubeSourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sources/youtube.dart:84)
<asynchronous suspension>
#4      SourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sourced_track.dart:185)
<asynchronous suspension>
#5      SourcedTrackNotifier.build (package:spotube/provider/server/sourced_track.dart:27)
<asynchronous suspension>
#6      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:42]---------------------
VideoUnavailableException: Video 'xxxxxx' is unavailable
In most cases, this error indicates that the video doesn't exist, is private, or has been taken down.
If you can however open this video in your browser in incognito mode, it most likely means that YouTube changed something, which broke this library.
Please report this issue on GitHub in that case.
#0      WatchPage.get.<anonymous closure> (package:youtube_explode_dart/src/reverse_engineering/pages/watch_page.dart:169)
<asynchronous suspension>
#1      retry (package:youtube_explode_dart/src/retry.dart:20)
<asynchronous suspension>
#2      VideoClient._getVideoFromWatchPage (package:youtube_explode_dart/src/videos/video_client.dart:38)
<asynchronous suspension>
#3      YoutubeSourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sources/youtube.dart:84)
<asynchronous suspension>
#4      SourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sourced_track.dart:185)
<asynchronous suspension>
#5      SourcedTrackNotifier.build (package:spotube/provider/server/sourced_track.dart:27)
<asynchronous suspension>
#6      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:47]---------------------
No track currently
#0      SyncedLyricsNotifier.build (package:spotube/provider/spotify/lyrics/synced.dart:131)
<asynchronous suspension>
#1      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-01-13 10:48]---------------------
VideoUnavailableException: Video 'xxxxxx' is unavailable
In most cases, this error indicates that the video doesn't exist, is private, or has been taken down.
If you can however open this video in your browser in incognito mode, it most likely means that YouTube changed something, which broke this library.
Please report this issue on GitHub in that case.
#0      WatchPage.get.<anonymous closure> (package:youtube_explode_dart/src/reverse_engineering/pages/watch_page.dart:169)
<asynchronous suspension>
#1      retry (package:youtube_explode_dart/src/retry.dart:20)
<asynchronous suspension>
#2      VideoClient._getVideoFromWatchPage (package:youtube_explode_dart/src/videos/video_client.dart:38)
<asynchronous suspension>
#3      YoutubeSourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sources/youtube.dart:84)
<asynchronous suspension>
#4      SourcedTrack.fetchFromTrack (package:spotube/services/sourced_track/sourced_track.dart:196)
<asynchronous suspension>
#5      SourcedTrackNotifier.build (package:spotube/provider/server/sourced_track.dart:27)
<asynchronous suspension>
#6      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------

Operating System

Linux

Spotube version

v3.9.0

Installation source

GitHub Releases (Binary)

Additional information

My time constraints do not permit further investigation or even fixing, I am sorry!

Self grab

  • I'm ready to work on this issue!
@ksaadDE ksaadDE added the bug Something isn't working label Jan 13, 2025
@ksaadDE
Copy link
Contributor Author

ksaadDE commented Jan 13, 2025

BTW: Switching the source to piped or any other did not work either 🤷‍♂️ it just does not play anything anymore

@ksaadDE
Copy link
Contributor Author

ksaadDE commented Jan 15, 2025

Seemingly, it suddenly works again shrugs

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

No branches or pull requests

1 participant