Skip to main content

User Preferences

Audience: End users, system administrators Last Updated: 2026-04-05 Version: 2.0.0 Status: ⚠️ This specific feature module is unused — functionality is provided by other modules


Overview

This section documents the User Preferences feature module, which was an early implementation intended to manage Jellyfin user data such as library views and public user lists. This specific module is not used in the current application. The functionality it was designed to provide is already handled by three other modules:

Intended FunctionActual ImplementationWhere to Find It
Library ViewsLibrary Management moduleBrowse your music libraries
Public UsersAuthentication moduleLogin screen user selection
User PreferencesSettings moduleSettings → Account

What This Means for Users

You do not need to take any action. All user-related functionality is working correctly through the existing modules. This documentation is provided for transparency about the application's architecture and to document unused code that may be removed in future updates.


Key Concepts

What Were User Library Views?

In Jellyfin, "views" represent the top-level collections in your music library — things like:

  • Music library folder
  • Playlists
  • Albums collection
  • Artists collection
  • Genres

These views are what you see when you browse the Library tab in Llamafin. The Library Management module handles loading and displaying these views automatically when you log in.

What Were Public Users?

Jellyfin can expose a list of user accounts on the login screen, allowing you to select your profile before entering a password. This is managed by the Authentication module during the login process.

What Are User Preferences?

Jellyfin stores per-user preferences such as:

  • Audio language preference
  • Subtitle language preference
  • Display settings (collections view, missing episodes)
  • Playback behaviour (remember audio/subtitle selections, auto-play next episode)
  • Library ordering

These are managed on the Jellyfin server side and are not directly editable from Llamafin. Llamafin's own settings (theme, audio quality, downloads, etc.) are managed through the Settings module.


Where User Functionality Actually Lives

Library Management Module

The Library Management module handles all user library operations:

  • Loads your library views automatically when you log in
  • Displays albums, artists, songs, genres, and playlists
  • Supports browsing, searching, and filtering within each view
  • Handles offline caching of library metadata

Documentation: Library Management

Authentication Module

The Authentication module handles user identity:

  • Displays public user list on the login screen (if enabled on your Jellyfin server)
  • Manages login sessions and automatic reconnection
  • Stores your user identity securely for session restoration

Documentation: Authentication & Security

Settings Module

The Settings module handles app-level user preferences:

  • Account settings — Server connection info
  • Appearance settings — Themes, fonts, visualizers
  • Playback settings — EQ, audio effects, loudness
  • Quality settings — Streaming and download quality
  • Download settings — Offline playback options

Documentation: Settings System


Jellyfin User Account Settings (Server-Side)

While Llamafin does not expose a UI for editing Jellyfin server-side user preferences, it's useful to understand what settings exist on the server. These are managed through the Jellyfin web interface, not through Llamafin.

User Configuration

These settings are stored on the Jellyfin server and apply to your user account:

SettingDescription
Audio Language PreferencePreferred audio language for multi-language content
Subtitle Language PreferencePreferred subtitle language
Play Default Audio TrackWhether to automatically play the default audio track
Display Missing EpisodesShow episodes that exist in metadata but not as files
Subtitle ModeDefault subtitle display mode
Display Collections ViewShow organised collections in addition to folders
Remember Audio SelectionsRemember your audio track choice per item
Remember Subtitle SelectionsRemember your subtitle choice per item
Auto-Play Next EpisodeAutomatically play the next episode in a series
Ordered ViewsCustom ordering of library views
Hide Played in LatestHide already-played items in "Latest" views

User Policies

These permissions are set by the server administrator:

PolicyDescription
Is AdministratorFull server administration access
Is HiddenUser account hidden from login screen
Is DisabledAccount disabled — cannot log in
Enable Remote ControlAllow other users to remotely control your sessions
Enable Shared Device ControlAllow shared device control in remote control
Blocked TagsContent tags this user cannot access
Block Unrated ItemsPrevent playback of unrated content
Access SchedulesTime periods when this user can log in

Technical Specifications

SpecificationValue
User views API endpointGET /Users/{userId}/Views
Public users API endpointGET /users/public
User views response typeIJellyfinUserViews (Items array + total count)
Public users response typeArray of IJellyfinUserAccountSettings
User settings storageJellyfin server (not stored locally)
Llamafin settings storageIndexedDB via Storage Layer

Integration with Other Features

How User Data Flows Through the App

Jellyfin Server

├── GET /Users/{userId}/Views ──→ Library Module ──→ Library Tab (user-facing)

├── GET /users/public ──→ Auth Module ──→ Login Screen (user-facing)

└── User Configuration ──→ Managed via Jellyfin Web Interface (not Llamafin)

Library Module Integration

When you log in:

  1. Auth module authenticates with the Jellyfin server
  2. Library module automatically loads your user views
  3. Views are displayed in the Library tab
  4. Views are cached locally for offline browsing

Auth Module Integration

On the login screen:

  1. Auth module fetches public users list from the server
  2. Users are displayed as selectable profiles
  3. Selecting a profile pre-fills the username
  4. You enter your password to complete login

Known Limitations

LimitationImpact
No server-side preference editingUser preferences must be changed via Jellyfin web interface
No user profile editingUser name, password, and profile image managed on server
No multi-user switchingMust log out and log in as a different user
No local user preferencesLlamafin settings are per-device, not per-Jellyfin-user


Last Updated: 2026-04-05 Version: 2.0.0