Skip to content

οΈπŸ›  - Indicate unreleased discovery releases and notify on release dayΒ #126

@maxwellmattryan

Description

@maxwellmattryan

Description

Discovery releases can have a release_date set to a future date (e.g. pre-orders on Bandcamp, scheduled releases on SoundCloud). Currently, there is no visual distinction between released and unreleased items in the discovery view.

This feature has two parts:

1. Visual indicator for unreleased releases

When a discovery release has a release_date in the future, it should be clearly marked in the UI so the user knows the release isn't available yet. This could be:

  • A badge or tag (e.g. "Upcoming" or "Pre-release") on the release row or card
  • A different text color or style for the release date column
  • A small icon next to the release date

The indicator should disappear automatically once the release date has passed (i.e. compare against the current date at render time).

2. Release day notifications

Allow users to opt into notifications for unreleased discovery releases so they are reminded when the release becomes available. This could include:

  • A "Notify me" action on unreleased releases (e.g. context menu item or bell icon)
  • A background check that runs on app launch (or periodically) comparing tracked release dates against the current date
  • A native macOS notification (via Tauri notification plugin) when a tracked release's date arrives
  • A section or filter in the discovery view to see all upcoming/tracked releases

Technical considerations

  • The release_date field is already stored as an Option<String> on DiscoveryRelease β€” date comparison logic will need to parse this string (format varies by source)
  • Notification tracking likely needs a new DB column or table (e.g. discovery_release_notifications or a boolean notify_on_release column)
  • Tauri's notification plugin would need to be added to capabilities for native OS notifications
  • Consider timezone handling for release dates (Bandcamp uses midnight in the artist's timezone)

Open questions

  • What visual treatment works best for the "upcoming" indicator β€” badge, icon, color, or a combination?
  • Should the notification feature be per-release opt-in, or should there be a global setting to auto-notify for all unreleased releases in the user's discovery list?
  • What notification mechanism is preferred β€” native OS notifications, in-app toast on launch, or both?
  • How should we handle releases where the date format is ambiguous or only includes a month/year?
  • Should there be a dedicated "Upcoming" filter or smart list in the discovery view?

Acceptance criteria

  • Unreleased discovery releases (future release_date) are visually distinguishable from released ones in the discovery view
  • Users can opt into being notified when a specific unreleased release becomes available
  • On app launch (or periodically), the app checks for newly released tracked items and delivers a notification
  • Notifications are delivered via native OS notification
  • The upcoming indicator updates automatically without requiring a manual refresh

Tasks

TBD

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions