multi-scrobbler icon indicating copy to clipboard operation
multi-scrobbler copied to clipboard

bug: last.fm error "Auth Interaction Required", despite having all settings setup correctly.

Open angelolz opened this issue 4 months ago • 3 comments

Please check existing knowledge before opening an issue

Describe the Bug

Given that the app has my api key and secret, it should be able to login automatically without an "Auth Interaction Required" error.

Here's my settings that I have right now for last.fm:

{
    "name": "angel_lastfm",
    "enable": true,
    "configureAs": "client",
    "data": {
        "apiKey": "...",
        "secret": "...",
        "redirectUri": "http://192.168.50.60:9078/lastfm/callback"
    }
}

I also made sure to have the same redirect callback url when creating the api in last.fm itself.

Here's my jellyfin config, although I don't think jellyfin causes any issues here...:

{
    "name": "angel_jellyfin",
    "enable": true,
    "clients": [
        "angel_lastfm"
    ],
    "data": {
        "url": "...",
        "user": "angelolz",
        "apiKey": "..."
    },
    "options": {
        "logPayload": true,
        "logFilterFailure": "warn"
    }
}

Platform

Docker

Versions

  • multi-scrobbler 0.9.10
  • jellyfin 10.10.7

Logs

[2025-08-05 18:20:28.925 -0600] ERROR  : [App] [Scrobblers] [Lastfm - angel_lastfm] Could not initialize automatically
Error: Could not initialize automatically
    at PromisePoolExecutor.handler (CWD/src/backend/tasks/heartbeatClients.ts:25:49)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async PromisePoolExecutor.waitForActiveTaskToFinish (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:375:9)
    at async PromisePoolExecutor.waitForProcessingSlot (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:368:13)
    at async PromisePoolExecutor.process (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:354:13)
    at async PromisePoolExecutor.start (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:273:16)
caused by: Error: Initialization failed
    at LastfmScrobbler.initialize (CWD/src/backend/common/AbstractComponent.ts:82:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async LastfmScrobbler.tryInitialize (CWD/src/backend/common/AbstractComponent.ts:102:20)
    at async PromisePoolExecutor.handler (CWD/src/backend/tasks/heartbeatClients.ts:23:29)
    at async PromisePoolExecutor.waitForActiveTaskToFinish (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:375:9)
    at async PromisePoolExecutor.waitForProcessingSlot (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:368:13)
    at async PromisePoolExecutor.process (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:354:13)
    at async PromisePoolExecutor.start (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:273:16)
caused by: Post Initialization: Error occurred during post-initialization hook
    at LastfmScrobbler.initialize (CWD/src/backend/common/AbstractComponent.ts:75:23)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async LastfmScrobbler.tryInitialize (CWD/src/backend/common/AbstractComponent.ts:102:20)
    at async PromisePoolExecutor.handler (CWD/src/backend/tasks/heartbeatClients.ts:23:29)
    at async PromisePoolExecutor.waitForActiveTaskToFinish (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:375:9)
    at async PromisePoolExecutor.waitForProcessingSlot (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:368:13)
    at async PromisePoolExecutor.process (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:354:13)
    at async PromisePoolExecutor.start (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:273:16)
caused by: Error: API call failed due -> operation failed <- after max retries hit 2
    at LastfmApiClient.callApi (CWD/src/backend/common/vendor/LastfmApiClient.ts:143:27)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async LastfmScrobbler.getScrobblesForRefresh (CWD/src/backend/scrobblers/LastfmScrobbler.ts:50:26)
    at async LastfmScrobbler.refreshScrobbles (CWD/src/backend/scrobblers/AbstractScrobbleClient.ts:322:28)
    at async LastfmScrobbler.postInitialize (CWD/src/backend/scrobblers/AbstractScrobbleClient.ts:315:9)
    at async LastfmScrobbler.initialize (CWD/src/backend/common/AbstractComponent.ts:73:17)
    at async LastfmScrobbler.tryInitialize (CWD/src/backend/common/AbstractComponent.ts:102:20)
    at async PromisePoolExecutor.handler (CWD/src/backend/tasks/heartbeatClients.ts:23:29)
    at async PromisePoolExecutor.waitForActiveTaskToFinish (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:375:9)
    at async PromisePoolExecutor.waitForProcessingSlot (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:368:13)
caused by: Error: Operation failed - Most likely the backend service failed. Please try again.
    at CWD/node_modules/lastfm-node-client/lib/ApiRequest.js:140:11
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async LastfmApiClient.callApi (CWD/src/backend/common/vendor/LastfmApiClient.ts:116:20)
    at async LastfmScrobbler.getScrobblesForRefresh (CWD/src/backend/scrobblers/LastfmScrobbler.ts:50:26)
    at async LastfmScrobbler.refreshScrobbles (CWD/src/backend/scrobblers/AbstractScrobbleClient.ts:322:28)
    at async LastfmScrobbler.postInitialize (CWD/src/backend/scrobblers/AbstractScrobbleClient.ts:315:9)
    at async LastfmScrobbler.initialize (CWD/src/backend/common/AbstractComponent.ts:73:17)
    at async LastfmScrobbler.tryInitialize (CWD/src/backend/common/AbstractComponent.ts:102:20)
    at async PromisePoolExecutor.handler (CWD/src/backend/tasks/heartbeatClients.ts:23:29)
    at async PromisePoolExecutor.waitForActiveTaskToFinish (CWD/node_modules/@supercharge/promise-pool/dist/promise-pool-executor.js:375:9)
[2025-08-05 18:20:26.063 -0600] VERBOSE: [App] [Sources] [Jellyfin - angel_jellyfin] Building required data init succeeded
[2025-08-05 18:20:26.062 -0600] DEBUG  : [App] [Sources] [Jellyfin - angel_jellyfin] Attempting to initialize...
[2025-08-05 18:20:26.061 -0600] VERBOSE: [App] [Heartbeat] [Sources] Starting check...
[2025-08-05 18:20:26.061 -0600] INFO   : [App] Scheduler started.
[2025-08-05 18:20:26.057 -0600] WARN   : [App] Waited too long for clients to start! Moving ahead with sources init...
[2025-08-05 18:20:25.843 -0600] WARN   : [App] [Scrobblers] [API - Lastfm - angel_lastfm] API call failed due to network issue (null), retrying in 3 seconds...
[2025-08-05 18:20:24.263 -0600] WARN   : [App] [Scrobblers] [API - Lastfm - angel_lastfm] API call failed due to network issue (null), retrying in 1.5 seconds...
[2025-08-05 18:20:20.060 -0600] DEBUG  : [App] [Scrobblers] [Lastfm - angel_lastfm] Refreshing recent scrobbles
[2025-08-05 18:20:20.059 -0600] VERBOSE: [App] [Scrobblers] [Lastfm - angel_lastfm] Fetching up to 200 initial scrobbles...
[2025-08-05 18:20:20.058 -0600] DEBUG  : [App] [Scrobblers] [Lastfm - angel_lastfm] [Now Playing] Enabled by default config
[2025-08-05 18:20:20.058 -0600] INFO   : [App] [Scrobblers] [Lastfm - angel_lastfm] Fully Initialized!
[2025-08-05 18:20:20.057 -0600] INFO   : [App] [Scrobblers] [API - Lastfm - angel_lastfm] Redirect URL that will be used on auth callback: 'http://192.168.50.60:9078/lastfm/callback?state=angel_lastfm'
[2025-08-05 18:20:20.056 -0600] DEBUG  : [App] [Scrobblers] [Lastfm - angel_lastfm] Connection check was not required.
[2025-08-05 18:20:20.056 -0600] WARN   : [App] [Scrobblers] [API - Lastfm - angel_lastfm] No session key found. User interaction for authentication required.
[2025-08-05 18:20:20.055 -0600] VERBOSE: [App] [Scrobblers] [Lastfm - angel_lastfm] Building required data init succeeded
[2025-08-05 18:20:20.054 -0600] DEBUG  : [App] [Scrobblers] [Lastfm - angel_lastfm] Attempting to initialize...

Additional Context

No response

angelolz avatar Aug 06 '25 00:08 angelolz