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 Function | Actual Implementation | Where to Find It |
|---|---|---|
| Library Views | Library Management module | Browse your music libraries |
| Public Users | Authentication module | Login screen user selection |
| User Preferences | Settings module | Settings → 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:
| Setting | Description |
|---|---|
| Audio Language Preference | Preferred audio language for multi-language content |
| Subtitle Language Preference | Preferred subtitle language |
| Play Default Audio Track | Whether to automatically play the default audio track |
| Display Missing Episodes | Show episodes that exist in metadata but not as files |
| Subtitle Mode | Default subtitle display mode |
| Display Collections View | Show organised collections in addition to folders |
| Remember Audio Selections | Remember your audio track choice per item |
| Remember Subtitle Selections | Remember your subtitle choice per item |
| Auto-Play Next Episode | Automatically play the next episode in a series |
| Ordered Views | Custom ordering of library views |
| Hide Played in Latest | Hide already-played items in "Latest" views |
User Policies
These permissions are set by the server administrator:
| Policy | Description |
|---|---|
| Is Administrator | Full server administration access |
| Is Hidden | User account hidden from login screen |
| Is Disabled | Account disabled — cannot log in |
| Enable Remote Control | Allow other users to remotely control your sessions |
| Enable Shared Device Control | Allow shared device control in remote control |
| Blocked Tags | Content tags this user cannot access |
| Block Unrated Items | Prevent playback of unrated content |
| Access Schedules | Time periods when this user can log in |
Technical Specifications
| Specification | Value |
|---|---|
| User views API endpoint | GET /Users/{userId}/Views |
| Public users API endpoint | GET /users/public |
| User views response type | IJellyfinUserViews (Items array + total count) |
| Public users response type | Array of IJellyfinUserAccountSettings |
| User settings storage | Jellyfin server (not stored locally) |
| Llamafin settings storage | IndexedDB 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:
- Auth module authenticates with the Jellyfin server
- Library module automatically loads your user views
- Views are displayed in the Library tab
- Views are cached locally for offline browsing
Auth Module Integration
On the login screen:
- Auth module fetches public users list from the server
- Users are displayed as selectable profiles
- Selecting a profile pre-fills the username
- You enter your password to complete login
Known Limitations
| Limitation | Impact |
|---|---|
| No server-side preference editing | User preferences must be changed via Jellyfin web interface |
| No user profile editing | User name, password, and profile image managed on server |
| No multi-user switching | Must log out and log in as a different user |
| No local user preferences | Llamafin settings are per-device, not per-Jellyfin-user |
Related Documentation
- Library Management — User library views implementation
- Authentication & Security — Public users and login
- Settings System — App-level user preferences
Last Updated: 2026-04-05 Version: 2.0.0