spotube icon indicating copy to clipboard operation
spotube copied to clipboard

Screen elements misplaced

Open Iohiko opened this issue 3 months ago • 0 comments

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

  • [x] I have searched the existing issues

Current Behavior

There are elements on the screen that are misplaced.

Image

Expected Behavior

Those elements should be lower down

Steps to reproduce

This happens when you open the song you are playing

Logs

Logs
<[2025-09-12 07:00:10.392571]---------------------
File: /home/runner/work/spotube-plugin-musicbrainz-listenbrainz/spotube-plugin-musicbrainz-listenbrainz/src/common/recommendations.ht
Line: 238, Column: 17
Runtime error: nullObject
Message: Calling method [$sub_getter_] on null object [data].


#0      HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1      HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2      HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4      _rootRunUnary (dart:async/zone.dart:1538)
#5      _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7      FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
<asynchronous suspension>
#8      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#9      MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
<asynchronous suspension>
#10     MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
<asynchronous suspension>
#11     MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
<asynchronous suspension>
#12     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:00:13.641548]---------------------
File: /home/runner/work/spotube-plugin-musicbrainz-listenbrainz/spotube-plugin-musicbrainz-listenbrainz/src/common/recommendations.ht
Line: 238, Column: 17
Runtime error: nullObject
Message: Calling method [$sub_getter_] on null object [data].


#0      HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1      HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2      HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4      _rootRunUnary (dart:async/zone.dart:1538)
#5      _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7      FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
<asynchronous suspension>
#8      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#9      MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
<asynchronous suspension>
#10     MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
<asynchronous suspension>
#11     MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
<asynchronous suspension>
#12     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:00:30.399642]---------------------
type 'Null' is not a subtype of type 'String' in type cast
#0      _$$InvidiousMonitorImplFromJson (package:invidious/src/models/model.g.dart:477)
#1      new _$InvidiousMonitorImpl.fromJson (package:invidious/src/models/model.freezed.dart:5728)
#2      _$InvidiousMonitorFromJson (package:invidious/src/models/model.freezed.dart:5309)
#3      new InvidiousMonitor.fromJson (package:invidious/src/models/responses/instance.dart:128)
#4      _$$InvidiousInstanceDetailsImplFromJson (package:invidious/src/models/model.g.dart:361)
#5      new _$InvidiousInstanceDetailsImpl.fromJson (package:invidious/src/models/model.freezed.dart:4092)
#6      _$InvidiousInstanceDetailsFromJson (package:invidious/src/models/model.freezed.dart:3858)
#7      new InvidiousInstanceDetails.fromJson (package:invidious/src/models/responses/instance.dart:28)
#8      _$$InvidiousInstanceResponseImplFromJson (package:invidious/src/models/model.g.dart:336)
#9      new _$InvidiousInstanceResponseImpl.fromJson (package:invidious/src/models/model.freezed.dart:3792)
#10     _$InvidiousInstanceResponseFromJson (package:invidious/src/models/model.freezed.dart:3668)
#11     new InvidiousInstanceResponse.fromJson (package:invidious/src/models/responses/instance.dart:11)
#12     InstancesEndpoint.instances.<anonymous closure> (package:invidious/src/endpoints/instances.dart:13)
#13     MappedIterable.elementAt (dart:_internal/iterable.dart:402)
#14     ListIterator.moveNext (dart:_internal/iterable.dart:371)
#15     new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:194)
#16     new _GrowableList.of (dart:core-patch/growable_array.dart:154)
#17     new List.of (dart:core-patch/array_patch.dart:39)
#18     SetBase.toList (dart:collection/set.dart:119)
#19     InstancesEndpoint.instances (package:invidious/src/endpoints/instances.dart:17)
<asynchronous suspension>
#20     invidiousInstancesProvider.<anonymous closure> (package:spotube/provider/audio_player/sources/invidious_instances_provider.dart:7)
<asynchronous suspension>
#21     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:10:08.261929]---------------------
File: /home/runner/work/spotube-plugin-musicbrainz-listenbrainz/spotube-plugin-musicbrainz-listenbrainz/src/common/recommendations.ht
Line: 238, Column: 17
Runtime error: nullObject
Message: Calling method [$sub_getter_] on null object [data].


#0      HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1      HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2      HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4      _rootRunUnary (dart:async/zone.dart:1538)
#5      _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7      FutureUtils.chain (package:hetu_std/future_utils/future_utils.binding.dart:29)
<asynchronous suspension>
#8      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#9      MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
<asynchronous suspension>
#10     MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
<asynchronous suspension>
#11     MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
<asynchronous suspension>
#12     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:10:12.498232]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/src/segments/browse.ht
Line: 16, Column: 55
Runtime error: nullObject
Message: Calling method [$sub_getter_] on null object [credentials].


#0      HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1      HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2      HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4      _rootRunUnary (dart:async/zone.dart:1538)
#5      _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6      MetadataPluginBrowseEndpoint.sections (package:spotube/services/metadata/endpoints/browse.dart:18)
<asynchronous suspension>
#7      MetadataPluginBrowseSectionsNotifier.fetch (package:spotube/provider/metadata_plugin/browse/sections.dart:14)
<asynchronous suspension>
#8      MetadataPluginBrowseSectionsNotifier.build (package:spotube/provider/metadata_plugin/browse/sections.dart:23)
<asynchronous suspension>
#9      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:10:12.786274]---------------------
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:523)
<asynchronous suspension>
#1      HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2      HttpClient.post (package:hetu_std/http/http.dart:189)
<asynchronous suspension>
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5      MetadataPluginAlbumEndpoint.releases (package:spotube/services/metadata/endpoints/album.dart:47)
<asynchronous suspension>
#6      MetadataPluginAlbumReleasesNotifier.fetch (package:spotube/provider/metadata_plugin/album/releases.dart:13)
<asynchronous suspension>
#7      MetadataPluginAlbumReleasesNotifier.build (package:spotube/provider/metadata_plugin/album/releases.dart:21)
<asynchronous suspension>
#8      FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:14:11.316731]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/src/segments/auth.ht
Line: 36, Column: 38
Runtime error: undefined
Message: Undefined identifier [_Timer].


#0      HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1      HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2      HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4      _rootRunUnary (dart:async/zone.dart:1538)
#5      _CustomZone.runUnary (dart:async/zone.dart:1429)
#6      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1329)
#7      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381)
#8      _DelayedData.perform (dart:async/stream_impl.dart:573)
#9      _PendingEvents.handleNext (dart:async/stream_impl.dart:678)
#10     _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:649)
#11     _rootRun (dart:async/zone.dart:1517)
#12     _CustomZone.run (dart:async/zone.dart:1422)
#13     _CustomZone.runGuarded (dart:async/zone.dart:1321)
#14     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#15     _rootRun (dart:async/zone.dart:1525)
#16     _CustomZone.run (dart:async/zone.dart:1422)
#17     _CustomZone.runGuarded (dart:async/zone.dart:1321)
#18     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#19     _microtaskLoop (dart:async/schedule_microtask.dart:40)
#20     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)

----------------------------------------
[2025-09-12 07:14:11.439630]---------------------
Null check operator used on a null value
#0      Element.widget (package:flutter/src/widgets/framework.dart:3598)
#1      Element.findAncestorWidgetOfExactType (package:flutter/src/widgets/framework.dart:5031)
#2      StackRouterScope.of (package:auto_route/src/router/controller/controller_scope.dart:108)
#3      AutoRouter.of (package:auto_route/src/router/widgets/auto_router.dart:82)
#4      AutoRouterX.router (package:auto_route/src/router/auto_router_x.dart:8)
#5      AutoRouterX.maybePop (package:auto_route/src/router/auto_router_x.dart:32)
#6      MetadataPlugin.create.<anonymous closure> (package:spotube/services/metadata/metadata.dart:63)
#7      Webview.close (package:hetu_spotube_plugin/webview/webview.dart:76)
#8      WebviewBinding.htFetch.<anonymous closure> (package:hetu_spotube_plugin/webview/webview.binding.dart:90)
#9      HTFunction._call (package:hetu_script/value/function/function.dart:649)
#10     HTFunction.call (package:hetu_script/value/function/function.dart:279)
#11     HTInterpreter._call (package:hetu_script/interpreter/interpreter.dart:370)
#12     HTInterpreter._handleCallExpr (package:hetu_script/interpreter/interpreter.dart:2099)
#13     HTInterpreter._execute (package:hetu_script/interpreter/interpreter.dart:1518)
#14     HTInterpreter.execute (package:hetu_script/interpreter/interpreter.dart:1035)
#15     HTFunction._call (package:hetu_script/value/function/function.dart:546)
#16     HTFunction.call (package:hetu_script/value/function/function.dart:279)
#17     StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#18     _rootRunUnary (dart:async/zone.dart:1538)
#19     _CustomZone.runUnary (dart:async/zone.dart:1429)
#20     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:948)
#21     Future._propagateToListeners (dart:async/future_impl.dart:977)
#22     Future._completeWithValue (dart:async/future_impl.dart:720)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:14:41.004998]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].


#0      HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1      HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2      HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4      _rootRunUnary (dart:async/zone.dart:1538)
#5      _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7      MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8      MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9      MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:17:52.584995]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].


#0      HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1      HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2      HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4      _rootRunUnary (dart:async/zone.dart:1538)
#5      _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7      MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8      MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9      MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:17:54.626477]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].


#0      HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1      HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2      HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4      _rootRunUnary (dart:async/zone.dart:1538)
#5      _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7      MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8      MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9      MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:17:58.117378]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].


#0      HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1      HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2      HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4      _rootRunUnary (dart:async/zone.dart:1538)
#5      _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7      MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8      MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9      MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:18:10.625993]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].


#0      HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1      HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2      HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4      _rootRunUnary (dart:async/zone.dart:1538)
#5      _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7      MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8      MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9      MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:19:13.348273]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].


#0      HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1      HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2      HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4      _rootRunUnary (dart:async/zone.dart:1538)
#5      _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7      MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8      MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9      MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:21:49.479060]---------------------
File: /home/runner/work/spotube-plugin-spotify/spotube-plugin-spotify/dependencies/hetu_spotify_gql_client/lib/assets/hetu/user.ht
Line: 187, Column: 31
Runtime error: undefined
Message: Undefined identifier [artistData].


#0      HTInterpreter.processError (package:hetu_script/interpreter/interpreter.dart:303)
#1      HTFunction._call (package:hetu_script/value/function/function.dart:750)
#2      HTFunction.call (package:hetu_script/value/function/function.dart:279)
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
#4      _rootRunUnary (dart:async/zone.dart:1538)
#5      _CustomZone.runUnary (dart:async/zone.dart:1429)
<asynchronous suspension>
#6      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#7      MetadataPluginUserEndpoint.savedAlbums (package:spotube/services/metadata/endpoints/user.dart:66)
<asynchronous suspension>
#8      MetadataPluginSavedAlbumNotifier.fetch (package:spotube/provider/metadata_plugin/library/albums.dart:13)
<asynchronous suspension>
#9      MetadataPluginSavedAlbumNotifier.build (package:spotube/provider/metadata_plugin/library/albums.dart:22)
<asynchronous suspension>
#10     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:24:31.733957]---------------------
type 'Null' is not a subtype of type 'String' in type cast
#0      _$$InvidiousMonitorImplFromJson (package:invidious/src/models/model.g.dart:477)
#1      new _$InvidiousMonitorImpl.fromJson (package:invidious/src/models/model.freezed.dart:5728)
#2      _$InvidiousMonitorFromJson (package:invidious/src/models/model.freezed.dart:5309)
#3      new InvidiousMonitor.fromJson (package:invidious/src/models/responses/instance.dart:128)
#4      _$$InvidiousInstanceDetailsImplFromJson (package:invidious/src/models/model.g.dart:361)
#5      new _$InvidiousInstanceDetailsImpl.fromJson (package:invidious/src/models/model.freezed.dart:4092)
#6      _$InvidiousInstanceDetailsFromJson (package:invidious/src/models/model.freezed.dart:3858)
#7      new InvidiousInstanceDetails.fromJson (package:invidious/src/models/responses/instance.dart:28)
#8      _$$InvidiousInstanceResponseImplFromJson (package:invidious/src/models/model.g.dart:336)
#9      new _$InvidiousInstanceResponseImpl.fromJson (package:invidious/src/models/model.freezed.dart:3792)
#10     _$InvidiousInstanceResponseFromJson (package:invidious/src/models/model.freezed.dart:3668)
#11     new InvidiousInstanceResponse.fromJson (package:invidious/src/models/responses/instance.dart:11)
#12     InstancesEndpoint.instances.<anonymous closure> (package:invidious/src/endpoints/instances.dart:13)
#13     MappedIterable.elementAt (dart:_internal/iterable.dart:402)
#14     ListIterator.moveNext (dart:_internal/iterable.dart:371)
#15     new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:194)
#16     new _GrowableList.of (dart:core-patch/growable_array.dart:154)
#17     new List.of (dart:core-patch/array_patch.dart:39)
#18     SetBase.toList (dart:collection/set.dart:119)
#19     InstancesEndpoint.instances (package:invidious/src/endpoints/instances.dart:17)
<asynchronous suspension>
#20     invidiousInstancesProvider.<anonymous closure> (package:spotube/provider/audio_player/sources/invidious_instances_provider.dart:7)
<asynchronous suspension>
#21     FutureHandlerProviderElementMixin.handleFuture.<anonymous closure>.<anonymous closure> (package:riverpod/src/async_notifier/base.dart:355)
<asynchronous suspension>

----------------------------------------
[2025-09-12 07:24:52.584719]---------------------
Option af: dynaudnorm doesn't exist.
#0      new AudioPlayerInterface.<anonymous closure> (package:spotube/services/audio_player/audio_player.dart:62)
#1      _rootRunUnary (dart:async/zone.dart:1538)
#2      _CustomZone.runUnary (dart:async/zone.dart:1429)
#3      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1329)
#4      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381)
#5      _DelayedData.perform (dart:async/stream_impl.dart:573)
#6      _PendingEvents.handleNext (dart:async/stream_impl.dart:678)
#7      _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:649)
#8      _rootRun (dart:async/zone.dart:1517)
#9      _CustomZone.run (dart:async/zone.dart:1422)
#10     _CustomZone.runGuarded (dart:async/zone.dart:1321)
#11     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#12     _rootRun (dart:async/zone.dart:1525)
#13     _CustomZone.run (dart:async/zone.dart:1422)
#14     _CustomZone.runGuarded (dart:async/zone.dart:1321)
#15     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#16     _microtaskLoop (dart:async/schedule_microtask.dart:40)
#17     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)

----------------------------------------
---------
[2025-09-12 07:24:52.591747]---------------------
Option af: dynaudnorm doesn't exist.
#0      new AudioPlayerInterface.<anonymous closure> (package:spotube/services/audio_player/audio_player.dart:62)
#1      _rootRunUnary (dart:async/zone.dart:1538)
#2      _CustomZone.runUnary (dart:async/zone.dart:1429)
#3      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1329)
#4      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381)
#5      _DelayedData.perform (dart:async/stream_impl.dart:573)
#6      _PendingEvents.handleNext (dart:async/stream_impl.dart:678)
#7      _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:649)
#8      _rootRun (dart:async/zone.dart:1517)
#9      _CustomZone.run (dart:async/zone.dart:1422)
#10     _CustomZone.runGuarded (dart:async/zone.dart:1321)
#11     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#12     _rootRun (dart:async/zone.dart:1525)
#13     _CustomZone.run (dart:async/zone.dart:1422)
#14     _CustomZone.runGuarded (dart:async/zone.dart:1321)
#15     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#16     _microtaskLoop (dart:async/schedule_microtask.dart:40)
#17     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)

----------------------------------------
---------
[2025-09-12 07:49:00.924950]---------------------
[MediaKitError] 
Failed to open http://0.0.0.0:17135/stream/0HpJb4Lstb9R6wlu2jUBoy?id=0HpJb4Lstb9R6wlu2jUBoy&title=Sound%20Check%20(Gravity)&artists=Gorillaz&album=Gorillaz&durationMs=282973&isrc=GBAYE0001454&explicit=false.
#0      new CustomPlayer.<anonymous closure> (package:spotube/services/audio_player/custom_player.dart:47)
#1      _rootRunUnary (dart:async/zone.dart:1538)
#2      _CustomZone.runUnary (dart:async/zone.dart:1429)
#3      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1329)
#4      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381)
#5      _DelayedData.perform (dart:async/stream_impl.dart:573)
#6      _PendingEvents.handleNext (dart:async/stream_impl.dart:678)
#7      _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:649)
#8      _rootRun (dart:async/zone.dart:1517)
#9      _CustomZone.run (dart:async/zone.dart:1422)
#10     _CustomZone.runGuarded (dart:async/zone.dart:1321)
#11     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#12     _rootRun (dart:async/zone.dart:1525)
#13     _CustomZone.run (dart:async/zone.dart:1422)
#14     _CustomZone.runGuarded (dart:async/zone.dart:1321)
#15     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#16     _microtaskLoop (dart:async/schedule_microtask.dart:40)
#17     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)

----------------------------------------
[2025-09-12 09:10:19.828307]---------------------
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:523)
<asynchronous suspension>
#1      HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2      HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5      MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6      Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7      AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>

----------------------------------------
[2025-09-12 09:12:31.391477]---------------------
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:523)
<asynchronous suspension>
#1      HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2      HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5      MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6      Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7      AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>

----------------------------------------
[2025-09-12 09:16:02.976219]---------------------
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:523)
<asynchronous suspension>
#1      HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2      HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5      MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6      Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7      AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>

----------------------------------------
[2025-09-12 09:20:14.452809]---------------------
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:523)
<asynchronous suspension>
#1      HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2      HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5      MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6      Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7      AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>

----------------------------------------
[2025-09-12 09:24:28.435566]---------------------
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:523)
<asynchronous suspension>
#1      HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2      HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5      MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6      Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7      AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>

----------------------------------------
[2025-09-12 09:28:14.756911]---------------------
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:523)
<asynchronous suspension>
#1      HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2      HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5      MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6      Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7      AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>

----------------------------------------
[2025-09-12 09:32:06.282804]---------------------
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:523)
<asynchronous suspension>
#1      HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2      HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5      MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6      Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7      AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>

----------------------------------------
[2025-09-12 09:36:31.850290]---------------------
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:523)
<asynchronous suspension>
#1      HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2      HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5      MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6      Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7      AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>

----------------------------------------
[2025-09-12 09:40:22.918042]---------------------
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:523)
<asynchronous suspension>
#1      HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2      HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5      MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6      Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7      AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>

----------------------------------------
[2025-09-12 09:43:32.199523]---------------------
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:523)
<asynchronous suspension>
#1      HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2      HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5      MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6      Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7      AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>

----------------------------------------
[2025-09-12 09:46:25.732069]---------------------
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:523)
<asynchronous suspension>
#1      HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2      HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5      MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6      Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7      AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>

----------------------------------------
[2025-09-12 09:49:35.424506]---------------------
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:523)
<asynchronous suspension>
#1      HttpClient.request (package:hetu_std/http/http.dart:146)
<asynchronous suspension>
#2      HttpClient.get (package:hetu_std/http/http.dart:175)
<asynchronous suspension>
#3      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#4      StreamBinding.hFetch.<anonymous closure>.<anonymous closure> (package:hetu_std/stream/stream.binding.dart:84)
<asynchronous suspension>
#5      MetadataPluginArtistEndpoint.getArtist (package:spotube/services/metadata/endpoints/artist.dart:14)
<asynchronous suspension>
#6      Future.wait.<anonymous closure> (dart:async/future.dart:525)
<asynchronous suspension>
#7      AudioPlayerStreamListeners.subscribeToScrobbleChanged.<anonymous closure> (package:spotube/provider/audio_player/audio_player_streams.dart:118)
<asynchronous suspension>

----------------------------------------
[2025-09-12 10:15:29.149783]---------------------
[MediaKitError] 
Failed to open http://0.0.0.0:17135/stream/0Y8nVuIY0Aac9kOyKkKAHA?id=0Y8nVuIY0Aac9kOyKkKAHA&title=Hongkongaton&artists=Gorillaz&album=D-Sides%20%5BSpecial%20Edition%5D&durationMs=215626&isrc=GBAYE0501586&explicit=false.
#0      new CustomPlayer.<anonymous closure> (package:spotube/services/audio_player/custom_player.dart:47)
#1      _rootRunUnary (dart:async/zone.dart:1538)
#2      _CustomZone.runUnary (dart:async/zone.dart:1429)
#3      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1329)
#4      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381)
#5      _DelayedData.perform (dart:async/stream_impl.dart:573)
#6      _PendingEvents.handleNext (dart:async/stream_impl.dart:678)
#7      _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:649)
#8      _rootRun (dart:async/zone.dart:1517)
#9      _CustomZone.run (dart:async/zone.dart:1422)
#10     _CustomZone.runGuarded (dart:async/zone.dart:1321)
#11     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#12     _rootRun (dart:async/zone.dart:1525)
#13     _CustomZone.run (dart:async/zone.dart:1422)
#14     _CustomZone.runGuarded (dart:async/zone.dart:1321)
#15     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#16     _microtaskLoop (dart:async/schedule_microtask.dart:40)
#17     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)

----------------------------------------
[2025-09-12 10:19:26.024548]---------------------
DioException [unknown]: null
Error: SocketException: Connection failed (OS Error: Network is unreachable, errno = 101), address = rr1---sn-j5cax8pnpvo-x1xl7.googlevideo.com, port = 443
#0      DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
<asynchronous suspension>
#1      ServerPlaybackRoutes.streamTrack (package:spotube/provider/server/routes/playback.dart:103)
<asynchronous suspension>
#2      ServerPlaybackRoutes.getStreamTrackId (package:spotube/provider/server/routes/playback.dart:234)
<asynchronous suspension>
#3      RouterEntry.invoke.<anonymous closure> (package:shelf_router/src/router_entry.dart:109)
<asynchronous suspension>
#4      RouterEntry.invoke (package:shelf_router/src/router_entry.dart:104)
<asynchronous suspension>
#5      Router.call (package:shelf_router/src/router.dart:184)
<asynchronous suspension>
#6      handleRequest (package:shelf/shelf_io.dart:140)
<asynchronous suspension>

----------------------------------------
[2025-09-12 10:21:37.097346]---------------------
DioException [unknown]: null
Error: SocketException: Connection failed (OS Error: Network is unreachable, errno = 101), address = rr1---sn-j5cax8pnpvo-x1xl7.googlevideo.com, port = 443
#0      DioMixin.fetch (package:dio/src/dio_mixin.dart:523)
<asynchronous suspension>
#1      YoutubeSourcedTrack.refreshStream (package:spotube/services/sourced_track/sources/youtube.dart:400)
<asynchronous suspension>
#2      TrackSourcesNotifier.refreshStreamingUrl.<anonymous closure> (package:spotube/provider/server/track_sources.dart:22)
<asynchronous suspension>
#3      AsyncNotifierBase.update (package:riverpod/src/async_notifier.dart:113)
<asynchronous suspension>
#4      TrackSourcesNotifier.refreshStreamingUrl (package:spotube/provider/server/track_sources.dart:21)
<asynchronous suspension>
#5      ServerPlaybackRoutes.streamTrack.<anonymous closure> (package:spotube/provider/server/routes/playback.dart:111)
<asynchronous suspension>
#6      ServerPlaybackRoutes.streamTrack (package:spotube/provider/server/routes/playback.dart:103)
<asynchronous suspension>
#7      ServerPlaybackRoutes.getStreamTrackId (package:spotube/provider/server/routes/playback.dart:234)
<asynchronous suspension>
#8      RouterEntry.invoke.<anonymous closure> (package:shelf_router/src/router_entry.dart:109)
<asynchronous suspension>
#9      RouterEntry.invoke (package:shelf_router/src/router_entry.dart:104)
<asynchronous suspension>
#10     Router.call (package:shelf_router/src/router.dart:184)
<asynchronous suspension>
#11     handleRequest (package:shelf/shelf_io.dart:140)
<asynchronous suspension>

----------------------------------------
[2025-09-12 10:32:46.142763]---------------------
Failed to open http://0.0.0.0:17135/stream/0p3wrdTGpm30M6xQAS9sCi?id=0p3wrdTGpm30M6xQAS9sCi&title=Rockit&artists=Gorillaz&album=D-Sides%20%5BSpecial%20Edition%5D&durationMs=213400&isrc=GBAYE0702865&explicit=false.
#0      new AudioPlayerInterface.<anonymous closure> (package:spotube/services/audio_player/audio_player.dart:62)
#1      _rootRunUnary (dart:async/zone.dart:1538)
#2      _CustomZone.runUnary (dart:async/zone.dart:1429)
#3      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1329)
#4      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381)
#5      _DelayedData.perform (dart:async/stream_impl.dart:573)
#6      _PendingEvents.handleNext (dart:async/stream_impl.dart:678)
#7      _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:649)
#8      _rootRun (dart:async/zone.dart:1517)
#9      _CustomZone.run (dart:async/zone.dart:1422)
#10     _CustomZone.runGuarded (dart:async/zone.dart:1321)
#11     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#12     _rootRun (dart:async/zone.dart:1525)
#13     _CustomZone.run (dart:async/zone.dart:1422)
#14     _CustomZone.runGuarded (dart:async/zone.dart:1321)
#15     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1362)
#16     _microtaskLoop (dart:async/schedule_microtask.dart:40)
#17     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
>


Operating System

Android

Spotube version

v5.0.0

Installation source

Website (spotube.krtirtho.dev)

Additional information

My cell phone is a Xiaomi Redmi Note 13 pro 4G

Self grab

  • [ ] I'm ready to work on this issue!

Iohiko avatar Sep 12 '25 13:09 Iohiko