Skip to content

Uploaded files show a generic note instead of their file extension #678

Description

@thcp

A track imported from a file has no artwork, so its library row and the now-playing square both show the same music note icon. In a library of uploads every row looks identical, and the one thing the row could say about the file, what kind it is, goes unsaid.

What was meant to happen

The top bar rework in #665 was supposed to show the file's extension (WAV, FLAC, MP3) in place of the note wherever a track has no artwork. The styling for it shipped: .thumb-ext and .np-art-placeholder[data-ext] are both in daw.css, and the comment above them says they are "paired with extLabel() in catalog.js".

extLabel() does not exist. It is not in any commit on any branch. The JavaScript half was lost when that work was rebuilt into commits, so the CSS has been styling nothing since it was released.

Constraints for whoever fixes it

  • The extension comes from sourceUrl, which is local:<filename> for an upload. That is the same field deriveQuality already reads.
  • It ends up in markup, so it needs validating, not just uppercasing. A name with no dot, a leading dot or something that is not an extension should fall back to the note.
  • The now-playing square has to be cleared when the studio empties. Otherwise the empty state keeps showing the last track's extension.

Activity

  1. thcp commented on Sep 23, 2026

    @thcp
    CollaboratorAuthor

    The thumbnail shipped here never shows for a real upload: an upload's source is local:<title> with the extension removed, so there was nothing to read the format from. The automated tests passed on a fixture shaped like no real upload. Tracked, with the cause and the fix, in #690.

  2. self-assigned this
    on Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions