Skip to content

Private session toggle in the TUI and GUI settings #850

Open

Description

@LargeModGames

What

A user on Discord asked for a private session, like the one in the Spotify app. During a private session, Spotify does not share your listening activity with followers. The plays also do not change your recommendations or your taste profile. spotatui has no private session. Everything you play on the native streaming device counts against your profile.

The toggle should behave like Spotify's:

  • A "Private session" row in the TUI settings screen and on the GUI Settings page.
  • A lock icon in the TUI playbar and the GUI player bar during a private session.
  • The private session does not survive a restart. It is runtime state only and never goes into config.yml or state.yml.

Where to look

  • The librespot fork: connect/src/state.rs builds the DeviceInfo once in ConnectState::new and never sets is_private_session (connect.proto, field 11). The fork needs a way to change it at runtime and publish the new state. LegacyEndSong.proto and RawCoreStream.proto also have an incognito_mode field.
  • The settings: src/core/app/settings_schema.rs and settings_apply.rs for the row, with a setting_requirement arm for Requirement::SpotifySession.
  • The GUI: gui/src/Settings.tsx and gui/src/PlayerBar.tsx.
  • The TUI playbar: src/tui/ui/player.rs.
  • The device list: src/infra/spotify/player.rs already reads is_private_session from other Connect devices.

Possible solution

Add a setter in the fork that changes is_private_session on the device and sends a new PutStateRequest. Then add an Action in spotatui that calls the setter, and show the state on both frontends.

Before you write the fork part, capture what the Spotify desktop app sends when you toggle private session. The device flag alone is possibly not enough.

Also decide if a private session pauses spotatui's own listening history (Stats, streaks, recap) and Discord Rich Presence. Spotify hides your activity from friends during a private session, so a hidden Discord presence matches that.

Done when

  • You can turn private session on and off in the TUI settings and in the GUI settings.
  • During a private session, the official Spotify app shows the spotatui device as private.
  • Plays during a private session do not appear in "Recently played".
  • A restart of spotatui ends the private session.

Activity

  1. spotatui commented on Oct 14, 2026

    @spotatui
    Contributor

    🎧 spotatui triage

    Auto-triaged with DeepSeek V4-Flash.

    Label: enhancement
    Likely area: Spotify private session / Connect device state

    Summary

    The issue requests adding a Spotify-style private session feature to spotatui, so that listening activity is not shared with followers and does not affect recommendations or the taste profile. The reporter wants a toggle in both the TUI settings screen and the GUI Settings page, plus a lock icon in the TUI playbar and GUI player bar while a private session is active. The private session should be runtime-only state that does not persist across restarts. The issue also raises open questions about whether the private session should pause spotatui's own listening history and Discord Rich Presence.

    Key points

    • Requested by a user on Discord
    • Private session should hide listening activity from followers and not affect recommendations or taste profile
    • Toggle should appear as a 'Private session' row in TUI settings and GUI Settings page
    • Lock icon in TUI playbar and GUI player bar during a private session
    • Private session must not survive a restart and must not be written to config.yml or state.yml

    What would help

    • spotatui version
    • OS and terminal
    • Whether the reporter has verified behavior against the official Spotify app

    Possible duplicates: none found

    Compared against the 56 most recently updated open issues.

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

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions