Skip to content

Please check attached photo #2964

@reehalrohit

Description

@reehalrohit

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

  • I have searched the existing issues

Current Behavior

Image

Expected Behavior

https://github.com/user-attachments/assets/1dd3d618-ad88-4b40-b622-9aa351d82ce4
Please check attached photo , when I view any artist or album, I am using latest version

Steps to reproduce

No response

Logs

[2026-02-27 17:26:36.681413]---------------------
MetadataPluginException: No default audio source plugin is set. Please set a default plugin in the settings.
#0 AudioSourceAvailableQualityPresetsNotifier._initialize.. (package:spotube/provider/metadata_plugin/audio_source/quality_presets.dart:65)
#1 AsyncValueX.whenData. (package:riverpod/src/common.dart:640)
#2 AsyncData.map (package:riverpod/src/common.dart:346)
#3 AsyncValueX.whenData (package:riverpod/src/common.dart:636)
#4 AudioSourceAvailableQualityPresetsNotifier._initialize. (package:spotube/provider/metadata_plugin/audio_source/quality_presets.dart:63)
#5 AsyncValueX.whenData. (package:riverpod/src/common.dart:640)
#6 AsyncData.map (package:riverpod/src/common.dart:346)
#7 AsyncValueX.whenData (package:riverpod/src/common.dart:636)
#8 AudioSourceAvailableQualityPresetsNotifier._initialize (package:spotube/provider/metadata_plugin/audio_source/quality_presets.dart:62)
#9 AudioSourceAvailableQualityPresetsNotifier.build (package:spotube/provider/metadata_plugin/audio_source/quality_presets.dart:39)
#10 NotifierProviderImpl.runNotifierBuild (package:riverpod/src/notifier/base.dart:166)
#11 NotifierProviderElement.create (package:riverpod/src/notifier/base.dart:212)
#12 ProviderElementBase.buildState (package:riverpod/src/framework/element.dart:426)
#13 ProviderElementBase._performBuild (package:riverpod/src/framework/element.dart:363)
#14 ProviderElementBase.flush (package:riverpod/src/framework/element.dart:324)
#15 ProviderScheduler._performRefresh (package:riverpod/src/framework/scheduler.dart:100)
#16 ProviderScheduler._task (package:riverpod/src/framework/scheduler.dart:88)
#17 ProviderScheduler.vsync..invoke (package:riverpod/src/framework/scheduler.dart:41)
#18 _UncontrolledProviderScopeElement.build (package:flutter_riverpod/src/framework.dart:396)
#19 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5723)
#20 Element.rebuild (package:flutter/src/widgets/framework.dart:5435)
#21 BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2695)
#22 BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2752)
#23 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3056)
#24 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1259)
#25 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495)
#26 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434)
#27 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347)
#28 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200)
#29 _rootRun (dart:async/zone.dart:1525)
#30 _CustomZone.run (dart:async/zone.dart:1422)
#31 _CustomZone.runGuarded (dart:async/zone.dart:1321)
#32 _invoke (dart:ui/hooks.dart:332)
#33 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444)
#34 _drawFrame (dart:ui/hooks.dart:302)


[2026-02-27 17:26:48.395527]---------------------
No metadata plugin available
#0 metadataPluginSupportTextProvider. (package:spotube/provider/metadata_plugin/core/support.dart:8)

#1 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)


[2026-02-27 17:27:42.758666]---------------------
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.. (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. (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. (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. (dart:async/zone.dart:1362)
#19 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#20 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)


[2026-02-27 17:27:43.011316]---------------------
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. (package:spotube/services/metadata/metadata.dart:68)
#7 Webview.close (package:hetu_spotube_plugin/webview/webview.dart:76)
#8 WebviewBinding.htFetch. (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.. (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)


[2026-02-27 17:28:17.267014]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 403 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 403 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)

#1 ServerPlaybackRoutes.streamTrack (package:spotube/provider/server/routes/playback.dart:177)

#2 ServerPlaybackRoutes.getStreamTrackId (package:spotube/provider/server/routes/playback.dart:310)

#3 RouterEntry.invoke. (package:shelf_router/src/router_entry.dart:109)

#4 RouterEntry.invoke (package:shelf_router/src/router_entry.dart:104)

#5 Router.call (package:shelf_router/src/router.dart:184)

#6 handleRequest (package:shelf/shelf_io.dart:140)


[2026-02-27 17:28:26.114689]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 403 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 403 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)

#1 ServerPlaybackRoutes.streamTrack (package:spotube/provider/server/routes/playback.dart:177)

#2 ServerPlaybackRoutes.getStreamTrackId (package:spotube/provider/server/routes/playback.dart:310)

#3 RouterEntry.invoke. (package:shelf_router/src/router_entry.dart:109)

#4 RouterEntry.invoke (package:shelf_router/src/router_entry.dart:104)

#5 Router.call (package:shelf_router/src/router.dart:184)

#6 handleRequest (package:shelf/shelf_io.dart:140)


[2026-02-27 17:28:26.116788]---------------------
Failed to open http://0.0.0.0:20657/stream/66tuuvPdvGc0MfN6Ptotyw.
#0 new AudioPlayerInterface. (package:spotube/services/audio_player/audio_player.dart:56)
#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. (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. (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. (dart:async/zone.dart:1362)
#16 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#17 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)



[2026-02-27 17:28:52.649988]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 429 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 429 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)

#1 HttpClient.request (package:hetu_std/http/http.dart:146)

#2 HttpClient.get (package:hetu_std/http/http.dart:175)

#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)

#4 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)

#5 MetadataPluginArtistEndpoint.related (package:spotube/services/metadata/endpoints/artist.dart:85)

#6 MetadataPluginArtistRelatedArtistsNotifier.fetch (package:spotube/provider/metadata_plugin/artist/related.dart:13)

#7 MetadataPluginArtistRelatedArtistsNotifier.build (package:spotube/provider/metadata_plugin/artist/related.dart:23)

#8 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)


[2026-02-27 17:28:54.740472]---------------------
ApiException 404: {"status":404,"type":"Internal error"}
#0 PageContentApi.pageSummaryTitleGet (package:wikipedia_api/src/api/page_content_api.dart:1591)

#1 artistWikipediaSummaryProvider. (package:spotube/provider/metadata_plugin/artist/wikipedia.dart:10)

#2 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)


[2026-02-27 17:29:00.768990]---------------------
DioException [bad response]: This exception was thrown because the response has a status code of 429 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 429 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)

#1 HttpClient.request (package:hetu_std/http/http.dart:146)

#2 HttpClient.get (package:hetu_std/http/http.dart:175)

#3 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)

#4 StreamBinding.hFetch.. (package:hetu_std/stream/stream.binding.dart:84)

#5 MetadataPluginArtistEndpoint.related (package:spotube/services/metadata/endpoints/artist.dart:85)

#6 MetadataPluginArtistRelatedArtistsNotifier.fetch (package:spotube/provider/metadata_plugin/artist/related.dart:13)

#7 MetadataPluginArtistRelatedArtistsNotifier.build (package:spotube/provider/metadata_plugin/artist/related.dart:23)

#8 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)


[2026-02-27 17:29:01.430520]---------------------
ApiException 404: {"status":404,"type":"Internal error"}
#0 PageContentApi.pageSummaryTitleGet (package:wikipedia_api/src/api/page_content_api.dart:1591)

#1 artistWikipediaSummaryProvider. (package:spotube/provider/metadata_plugin/artist/wikipedia.dart:10)

#2 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)


[2026-02-27 17:29:50.008690]---------------------
ApiException 404: {"status":404,"type":"Internal error"}
#0 PageContentApi.pageSummaryTitleGet (package:wikipedia_api/src/api/page_content_api.dart:1591)

#1 artistWikipediaSummaryProvider. (package:spotube/provider/metadata_plugin/artist/wikipedia.dart:10)

#2 FutureHandlerProviderElementMixin.handleFuture.. (package:riverpod/src/async_notifier/base.dart:355)


[2026-02-27 17:29:52.267376]---------------------
Null check operator used on a null value
#0 SpotubeImageExtensions.asUrlString. (package:spotube/models/metadata/image.dart:36)
#1 Sort._insertionSort (dart:_internal/sort.dart:77)
#2 Sort._doSort (dart:_internal/sort.dart:62)
#3 Sort.sort (dart:_internal/sort.dart:33)
#4 ListBase.sort (dart:collection/list.dart:321)
#5 IterableExtension.sorted (package:collection/src/iterable_extensions.dart:66)
#6 SpotubeImageExtensions.asUrlString (package:spotube/models/metadata/image.dart:36)
#7 SpotubeImageExtensions.asUri (package:spotube/models/metadata/image.dart:49)
#8 AudioServices.addTrack (package:spotube/services/audio_services/audio_services.dart:56)


[2026-02-27 17:29:52.279230]---------------------
Null check operator used on a null value
#0 SpotubeImageExtensions.asUrlString. (package:spotube/models/metadata/image.dart:36)
#1 Sort._insertionSort (dart:_internal/sort.dart:77)
#2 Sort._doSort (dart:_internal/sort.dart:62)
#3 Sort.sort (dart:_internal/sort.dart:33)
#4 ListBase.sort (dart:collection/list.dart:321)
#5 IterableExtension.sorted (package:collection/src/iterable_extensions.dart:66)
#6 SpotubeImageExtensions.asUrlString (package:spotube/models/metadata/image.dart:36)
#7 BottomPlayer.build. (package:spotube/modules/root/bottom_player.dart:39)
#8 _MemoizedHookState.value (package:flutter_hooks/src/primitives.dart:82)
#9 _MemoizedHookState.build (package:flutter_hooks/src/primitives.dart)
#10 HookElement._use (package:flutter_hooks/src/framework.dart:486)
#11 Hook.use (package:flutter_hooks/src/framework.dart:139)
#12 use (package:flutter_hooks/src/framework.dart:18)
#13 useMemoized (package:flutter_hooks/src/primitives.dart:61)
#14 BottomPlayer.build (package:spotube/modules/root/bottom_player.dart:37)
#15 _ConsumerState.build (package:flutter_riverpod/src/consumer.dart:476)
#16 StatefulElement.build (package:flutter/src/widgets/framework.dart:5833)
#17 ConsumerStatefulElement.build (package:flutter_riverpod/src/consumer.dart:539)
#18 HookElement.build (package:flutter_hooks/src/framework.dart:438)
#19 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5723)
#20 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5884)
#21 Element.rebuild (package:flutter/src/widgets/framework.dart:5435)
#22 BuildScope._tryRebuild (package:flutter/src/widgets/framework.dart:2695)
#23 BuildScope._flushDirtyElements (package:flutter/src/widgets/framework.dart:2752)
#24 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3056)
#25 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1259)
#26 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding

<Replace this line by pasting your logs here>

Operating System

Android

Spotube version

5.1.1

Installation source

F-Droid (Android)

Additional information

No response

Self grab

  • I'm ready to work on this issue!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions