Skip to content

Add complete playlist management #20

Description

@austin-smith

Summary

Expand playlist support from browsing and appending items into complete management of playlists the signed-in user is allowed to modify.

The user-facing feature set should include:

  • Creating a playlist with a name, description, and visibility
  • Renaming a playlist and changing its description or visibility
  • Adding tracks or episodes at a chosen position, not only at the end
  • Removing a selected playlist item
  • Reordering playlist items
  • Removing or unfollowing a playlist from the user's library

Why

Adding the current item to a playlist is useful, but common playlist work still requires leaving the terminal. Completing the basic edit lifecycle would make playlists a real working surface rather than a mostly read-only destination.

Important behavior

  • Only offer mutations when Spotify permits the signed-in user to perform them. Ownership and collaboration capabilities should be explicit; a playlist being public or followed does not imply that it can be edited or even fully enumerated.
  • Use Spotify's playlist snapshot identifiers where relevant so a stale screen cannot silently reorder or remove the wrong item after the playlist changes elsewhere.
  • Handle duplicate URIs deliberately. Removing one selected occurrence should not unexpectedly remove every copy of that track or episode.
  • Ask for confirmation before destructive or broad changes, especially clearing/replacing content or removing a playlist from the library.
  • Refresh the shared playlist catalog and any open playlist view after a successful mutation without discarding the user's navigation position.
  • Surface permission conflicts, stale snapshots, unavailable items, and rate limits as actionable errors.

Out of scope

  • Reordering or removing items from Spotify's playback queue; the Player API does not expose those operations
  • Playlist folders, which are not exposed by the Web API
  • Automatic or recommendation-generated playlists

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions