Skip to content

[Bug]: scrobbling fails on new-scanner bleeding-edge #3583

@MutantPiggieGolem1

Description

@MutantPiggieGolem1

I confirm that:

  • I have searched the existing open AND closed issues to see if an issue already exists for the bug I've encountered
  • I'm using the latest version (your issue may have been fixed already)

Version

0.54.2-SNAPSHOT (pr-2709/00caa137)

Current Behavior

Whenever I play music, on any client, the current song playing is displayed on last.fm, but after the song is paused or finishes, the song is never logged (it disappears).

Expected Behavior

After the music is done playing, it should be entered as done scrobbling on last.fm.

Steps To Reproduce

  1. Switch to new-scanner. Add a last.fm api key and secret to your configuration. Add any music to your library.
  2. On the web client, or any subsonic client, play that song.
  3. Look at your last.fm dashboard. The current song will display as playing until it finishes, and will disappear afterward.

Environment

- OS: Alpine Linux v3.21 (docker compose image)
- Browser: Firefox 133.0.3 on Windows 10
- Client: Feishin 0.12.1 (Win10), Amperfy 1.2.2 Build #3 (iOS)

How Navidrome is installed?

Docker

Configuration

compose.yaml:

services:
  navidrome:
    image: deluan/navidrome:pr-2709
    user: 1000:1000
    ports:
      - "4533:4533"
    restart: unless-stopped
    environment:
      ND_BASEURL: "[redacted]"
      ND_COVERARTPRIORITY: "embedded, external"
      ND_ENABLESHARING: "true"
      ND_SUBSONICARTISTPARTICIPATIONS: "true"
      ND_LASTFM_APIKEY: "[redacted]"
      ND_LASTFM_SECRET: "[redacted]"
    volumes:
      - "./data:/data"
      - "[redacted]:/music:ro"

Could not locate navidrome.toml

Relevant log output

navidrome_1  |  _   _             _     _
navidrome_1  | | \ | |           (_)   | |
navidrome_1  | |  \| | __ ___   ___  __| |_ __ ___  _ __ ___   ___
navidrome_1  | | . ` |/ _` \ \ / / |/ _` | '__/ _ \| '_ ` _ \ / _ \
navidrome_1  | | |\  | (_| |\ V /| | (_| | | | (_) | | | | | |  __/
navidrome_1  | \_| \_/\__,_| \_/ |_|\__,_|_|  \___/|_| |_| |_|\___|
navidrome_1  |          Version: 0.54.2-SNAPSHOT (pr-2709/00caa137)
navidrome_1  |
navidrome_1  | time="2024-12-23T07:17:08Z" level=info msg="goose: no migrations to run. current version: 20241026183640\n"
navidrome_1  | time="2024-12-23T07:17:08Z" level=info msg="Starting signaler"
navidrome_1  | time="2024-12-23T07:17:08Z" level=error msg="Agent not available. Check configuration" name=spotify
navidrome_1  | time="2024-12-23T07:17:08Z" level=info msg="Starting Insight Collector"
navidrome_1  | time="2024-12-23T07:17:08Z" level=info msg="Starting scheduler"
navidrome_1  | time="2024-12-23T07:17:08Z" level=warning msg="Periodic backup is DISABLED"
navidrome_1  | time="2024-12-23T07:17:08Z" level=info msg="Creating Image cache" maxSize="100 MB" path=/data/cache/images
navidrome_1  | time="2024-12-23T07:17:09Z" level=error msg="Agent not available. Check configuration" name=spotify
navidrome_1  | time="2024-12-23T07:17:09Z" level=error msg="Agent not available. Check configuration" name=spotify
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Scheduling periodic scan" schedule="@every 1m"
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Watcher started" library=1 path=/music
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Setting Session Timeout" value=24h
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Login rate limit set" requestLimit=5 windowLength=2
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Found ffmpeg" path=/usr/bin/ffmpeg
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Spotify integration is not enabled: missing ID/Secret"
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Mounting Native API routes" path=/api
navidrome_1  | time="2024-12-23T07:17:09Z" level=error msg="Agent not available. Check configuration" name=spotify
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Mounting Subsonic API routes" path=/rest
navidrome_1  | time="2024-12-23T07:17:09Z" level=error msg="Agent not available. Check configuration" name=spotify
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Mounting Public Endpoints routes" path=/share
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Mounting LastFM Auth routes" path=/api/lastfm
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Mounting ListenBrainz Auth routes" path=/api/listenbrainz
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Mounting Background images routes" path=/backgrounds
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Mounting WebUI routes" path=/app
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Creating Transcoding cache" maxSize="100 MB" path=/data/cache/transcoding
navidrome_1  | time="2024-12-23T07:17:09Z" level=error msg="SQL: `SELECT m.*, s.* FROM scrobble_buffer s LEFT JOIN media_file m on m.id = s.media_file_id WHERE (service = {:p0} AND user_id = {:p1}) ORDER BY play_time, s.rowid LIMIT 1`" args="map[p0:lastfm p1:[redacted]]" elapsedTime=4ms error="sql: Scan error on column index 58, name \"tags\": unsupported Scan, storing driver.Value type string into type *model.Tags" rowsAffected=1
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Finished initializing cache" cache=Transcoding elapsedTime=24.4ms maxSize=100MB
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Creating backgrounds cache" maxSize="100 MB" path=/data/cache/backgrounds
navidrome_1  | time="2024-12-23T07:17:09Z" level=error msg="Error reading from scrobble buffer" error="sql: Scan error on column index 58, name \"tags\": unsupported Scan, storing driver.Value type string into type *model.Tags" scrobbler=lastfm
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="----> Navidrome server is ready!" address="0.0.0.0:4533" startupTime=255.3ms tlsEnabled=false
navidrome_1  | time="2024-12-23T07:17:09Z" level=info msg="Finished initializing cache" cache=backgrounds elapsedTime=33.4ms maxSize=100MB
navidrome_1  | time="2024-12-23T07:17:11Z" level=error msg="Agent not available. Check configuration" name=spotify
navidrome_1  | time="2024-12-23T07:17:11Z" level=info msg="Executing initial scan"
navidrome_1  | time="2024-12-23T07:17:11Z" level=info msg="Scanner: Starting scan" fullScan=false numLibraries=1
navidrome_1  | time="2024-12-23T07:17:11Z" level=info msg="Scanner: Finished scanning all libraries" duration=17.6ms
navidrome_1  | time="2024-12-23T07:17:11Z" level=info msg="Scan completed"
navidrome_1  | time="2024-12-23T07:17:14Z" level=error msg="SQL: `SELECT m.*, s.* FROM scrobble_buffer s LEFT JOIN media_file m on m.id = s.media_file_id WHERE (service = {:p0} AND user_id = {:p1}) ORDER BY play_time, s.rowid LIMIT 1`" args="map[p0:lastfm p1:[redacted]]" elapsedTime=2.4ms error="sql: Scan error on column index 58, name \"tags\": unsupported Scan, storing driver.Value type string into type *model.Tags" rowsAffected=1
navidrome_1  | time="2024-12-23T07:17:14Z" level=error msg="Error reading from scrobble buffer" error="sql: Scan error on column index 58, name \"tags\": unsupported Scan, storing driver.Value type string into type *model.Tags" scrobbler=lastfm

Anything else?

I understand that I have used a development version and that I should expect bugs, but I'm hoping this issue can help get it polished and ready for full release! This is obviously not critical, but I feel like it ought to be fixed.

Code of Conduct

  • I agree to follow Navidrome's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions