[Bug] Incorrect song count and duplicated tracks in albums/singles view #5

Closed
opened 2025-11-30 07:40:52 +00:00 by Krunox · 1 comment

Describe the bug
The albums/singles tracks list view page shows an incorrect song count. The album/single lists are inaccurate and tracks are duplicated within the album/single tracks list (see attached screenshot).

If I recall correctly, this was fixed in v4.0.0. Has it regressed?

To Reproduce
Precise steps to reproduce the behavior (start from how you built your container):

  1. Search for any album or single
  2. Click on any album/single. Example: https://open.spotify.com/album/459zVxzdFvA2DzM8TidbWk https://open.spotify.com/album/56l0XXmH6jygKpWEpY40ey
  3. See the tracks list

Expected behavior
The album/single lists should be accurate, with the correct number of unique tracks displayed. No duplication should occur.

Screenshots
Screenshot 2025-11-30 152408
Screenshot 2025-11-30 153218

Desktop (please complete the following information):

  • OS: Windows 11
  • Browser: Zen

docker-compose.yaml

# HEY, YOU! READ THE DOCS BEFORE YOU DO ANYTHING!
# https://spotizerr.rtfd.io

name: spotizerr
services:
  spotizerr:
    image: spotizerrphoenix/spotizerr
    user: "1000:1000" # Spotizerr user:group ids
    volumes:
    # Ensure these directories and the .cache file exist and are writable by the container user
    - ./data:/app/data # data directory, contains config, creds, watch, history
    - ./downloads:/app/downloads # downloads directory, contains downloaded files
    - ./logs:/app/logs # logs directory, contains logs
    - ./.cache:/app/.cache # cache file
    ports:
    # Port to expose the app on
    - 7171:7171
    container_name: spotizerr-app
    restart: unless-stopped
    env_file:
    # Ensure you have a .env file in the root of the project, with the correct values
    - .env
    depends_on:
    - redis
  redis:
    image: redis:alpine
    container_name: spotizerr-redis
    restart: unless-stopped
    env_file:
    - .env
    volumes:
    - redis-data:/data
    command: sh -c 'redis-server --requirepass "$REDIS_PASSWORD" --appendonly yes'
volumes:
  redis-data:
    driver: local

.env

# Interface to bind to. Unless you know what you're doing, don't change this
HOST=0.0.0.0

# Redis connection (external or internal).
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_DB=0
REDIS_PASSWORD=********

# Set to true to filter out explicit content.
EXPLICIT_FILTER=false

# Optional: Sets the default file permissions for newly created files within the container.
UMASK=0022

# Whether to setup file permissions on startup. May improve performance on remote/slow filesystems
SKIP_SET_PERMISSIONS=false

# Log level for application logging.
# Possible values: debug, info, warning, error, critical
# Set to 'info' or 'warning' for general use. Use 'debug' for troubleshooting.
LOG_LEVEL=info

Config

{
    "service": "spotify",
    "version": "3.3.1",
    "spotify": "spotify",
    "deezer": "",
    "fallback": false,
    "spotifyQuality": "HIGH",
    "deezerQuality": "MP3_320",
    "realTime": true,
    "customDirFormat": "%ar_album%/%album%",
    "customTrackFormat": "%tracknum%. %music%",
    "tracknumPadding": true,
    "saveCover": true,
    "maxConcurrentDownloads": 1,
    "utilityConcurrency": 1,
    "librespotConcurrency": 2,
    "maxRetries": 3,
    "retryDelaySeconds": 5,
    "retryDelayIncrease": 5,
    "convertTo": "OPUS",
    "bitrate": null,
    "artistSeparator": "; ",
    "recursiveQuality": false,
    "spotifyMetadata": true,
    "separateTracksByUser": false,
    "watch": {
        "enabled": false,
        "watchPollIntervalSeconds": 3600,
        "maxTracksPerRun": 50,
        "watchedArtistAlbumGroup": [
            "album",
            "single"
        ],
        "delayBetweenPlaylistsSeconds": 2,
        "delayBetweenArtistsSeconds": 5,
        "useSnapshotIdChecking": true,
        "maxItemsPerRun": 50
    },
    "realTimeMultiplier": 0,
    "padNumberWidth": 3,
    "sseUpdateIntervalSeconds": 1,
    "explicitFilter": false,
    "url": "",
    "events": [
        "download_failed"
    ],
    "available_events": [
        "download_start",
        "download_complete",
        "download_failed",
        "watch_added"
    ]
}

Logs

N/A

Version
vmain

**Describe the bug** The albums/singles tracks list view page shows an incorrect song count. The album/single lists are inaccurate and tracks are duplicated within the album/single tracks list (see attached screenshot). If I recall correctly, this was fixed in v4.0.0. Has it regressed? **To Reproduce** Precise steps to reproduce the behavior (start from how you built your container): 1. Search for any album or single 2. Click on any album/single. Example: https://open.spotify.com/album/459zVxzdFvA2DzM8TidbWk https://open.spotify.com/album/56l0XXmH6jygKpWEpY40ey 3. See the tracks list **Expected behavior** The album/single lists should be accurate, with the correct number of unique tracks displayed. No duplication should occur. **Screenshots** ![Screenshot 2025-11-30 152408](/attachments/f0c42ea8-d552-4b56-aa59-3b293431e871) ![Screenshot 2025-11-30 153218](/attachments/ab7f51fa-bc4a-48d6-9e0e-8bae83a63714) **Desktop (please complete the following information):** - OS: Windows 11 - Browser: Zen **docker-compose.yaml** ```yaml # HEY, YOU! READ THE DOCS BEFORE YOU DO ANYTHING! # https://spotizerr.rtfd.io name: spotizerr services: spotizerr: image: spotizerrphoenix/spotizerr user: "1000:1000" # Spotizerr user:group ids volumes: # Ensure these directories and the .cache file exist and are writable by the container user - ./data:/app/data # data directory, contains config, creds, watch, history - ./downloads:/app/downloads # downloads directory, contains downloaded files - ./logs:/app/logs # logs directory, contains logs - ./.cache:/app/.cache # cache file ports: # Port to expose the app on - 7171:7171 container_name: spotizerr-app restart: unless-stopped env_file: # Ensure you have a .env file in the root of the project, with the correct values - .env depends_on: - redis redis: image: redis:alpine container_name: spotizerr-redis restart: unless-stopped env_file: - .env volumes: - redis-data:/data command: sh -c 'redis-server --requirepass "$REDIS_PASSWORD" --appendonly yes' volumes: redis-data: driver: local ``` **.env** ```env # Interface to bind to. Unless you know what you're doing, don't change this HOST=0.0.0.0 # Redis connection (external or internal). REDIS_HOST=redis REDIS_PORT=6379 REDIS_DB=0 REDIS_PASSWORD=******** # Set to true to filter out explicit content. EXPLICIT_FILTER=false # Optional: Sets the default file permissions for newly created files within the container. UMASK=0022 # Whether to setup file permissions on startup. May improve performance on remote/slow filesystems SKIP_SET_PERMISSIONS=false # Log level for application logging. # Possible values: debug, info, warning, error, critical # Set to 'info' or 'warning' for general use. Use 'debug' for troubleshooting. LOG_LEVEL=info ``` **Config** ```json { "service": "spotify", "version": "3.3.1", "spotify": "spotify", "deezer": "", "fallback": false, "spotifyQuality": "HIGH", "deezerQuality": "MP3_320", "realTime": true, "customDirFormat": "%ar_album%/%album%", "customTrackFormat": "%tracknum%. %music%", "tracknumPadding": true, "saveCover": true, "maxConcurrentDownloads": 1, "utilityConcurrency": 1, "librespotConcurrency": 2, "maxRetries": 3, "retryDelaySeconds": 5, "retryDelayIncrease": 5, "convertTo": "OPUS", "bitrate": null, "artistSeparator": "; ", "recursiveQuality": false, "spotifyMetadata": true, "separateTracksByUser": false, "watch": { "enabled": false, "watchPollIntervalSeconds": 3600, "maxTracksPerRun": 50, "watchedArtistAlbumGroup": [ "album", "single" ], "delayBetweenPlaylistsSeconds": 2, "delayBetweenArtistsSeconds": 5, "useSnapshotIdChecking": true, "maxItemsPerRun": 50 }, "realTimeMultiplier": 0, "padNumberWidth": 3, "sseUpdateIntervalSeconds": 1, "explicitFilter": false, "url": "", "events": [ "download_failed" ], "available_events": [ "download_start", "download_complete", "download_failed", "watch_added" ] } ``` **Logs** ``` N/A ``` **Version** vmain

thanks for reporting this 👍🏻 was able to push a new fix for the duplicate issues in albums and playlists pages respectively

fix: #6
see release notes: https://lavaforge.org/spotizerrphoenix/spotizerr-phoenix/releases/tag/v4.0.13

  • fixes duplicate/incorrect song list on albums and playlists
  • New issue: (will fix separately) discovered duplicated albums/singles on artist page
  • also bumped the versioning to match the previous major versioning so you should be able to see an accurate representation on the top right of the /config page as v4.0.13 instead of vmain

pull latest docker image to see new changes: spotizerrphoenix/spotizerr

  • if unable to see changes, you may need to clear cache and reload browser after pulling latest image (ctrl shift r or cmd shift r)

Will close this issue, test it out and reopen as needed

thanks for reporting this 👍🏻 was able to push a new fix for the duplicate issues in albums and playlists pages respectively fix: https://lavaforge.org/spotizerrphoenix/spotizerr-phoenix/pulls/6 see release notes: https://lavaforge.org/spotizerrphoenix/spotizerr-phoenix/releases/tag/v4.0.13 - fixes duplicate/incorrect song list on albums and playlists - New issue: (will fix separately) discovered duplicated albums/singles on artist page - also bumped the versioning to match the previous major versioning so you should be able to see an accurate representation on the top right of the `/config` page as `v4.0.13` instead of `vmain` pull latest docker image to see new changes: `spotizerrphoenix/spotizerr` - if unable to see changes, you may need to clear cache and reload browser after pulling latest image (`ctrl shift r` or `cmd shift r`) Will close this issue, test it out and reopen as needed
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
spotizerrphoenix/spotizerr-phoenix#5
No description provided.