Skip to content

οΈπŸ›  - Follow labels for automatic discovery release importsΒ #86

@maxwellmattryan

Description

@maxwellmattryan

Description

Add the ability to "follow" a record label so that new releases are automatically pulled into the discovery context with enriched metadata.

Motivation

Currently, discovering new releases requires manually scanning label pages via the bulk import flow. This means users can easily miss new releases from labels they care about. By allowing users to follow a label, the app can periodically check for new releases and automatically import them β€” ensuring nothing slips through the cracks.

How it could work

  1. Follow a label β€” Users can follow a label from a discovery release's context menu, the editor, or a dedicated "Followed Labels" management view. A followed label stores the label name, source page URL (Bandcamp/Discogs/SoundCloud label page), and source type.

  2. Automatic scanning β€” On a configurable interval (or on app launch), the app scans followed label pages for new releases using the existing scan_discovery_page infrastructure. New releases (not already in discovery, determined via URL dedup and find_matching_releases) are automatically created with metadata enrichment and stream prefetch β€” the same flow as the current bulk import.

  3. Notification / visibility β€” New releases from followed labels could be surfaced via a badge, filter, or dedicated view so users can quickly see what's new since their last session.

Existing infrastructure to build on

  • scan_discovery_page() already scrapes Bandcamp/Discogs/SoundCloud label pages for releases
  • bulk_create_discovery_releases() handles creation + background enrichment + stream prefetch
  • find_matching_releases() provides deduplication by URL and artist+title
  • parent_url field on releases already tracks which label page a release came from
  • The label field on DiscoveryRelease stores the record label name

Open questions

  • What sources should be supported initially? Bandcamp label pages are the most straightforward since scanning is already robust. Discogs and SoundCloud could follow.
  • Should scanning happen on a schedule (e.g. every N hours), on app launch, or manually triggered?
  • How should new releases from followed labels be surfaced? Options include: a filter/tag in the discovery view, a badge on the nav item, a dedicated "New from followed labels" section, or toast notifications.
  • Should there be a limit on the number of followed labels to avoid excessive network requests?
  • Should followed labels auto-assign a tag to imported releases for easy filtering?

Acceptance criteria

  • Users can follow/unfollow a label from within the discovery context
  • Followed labels are persisted in the database
  • The app can scan followed label pages for new releases (at minimum Bandcamp)
  • New releases are automatically created in discovery with metadata enrichment
  • Duplicate releases are not re-imported (URL and artist+title dedup)
  • Users can view and manage their followed labels
  • New releases from followed labels are clearly surfaced in the UI

Tasks

TBD

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions