mirror of
https://github.com/Dodelidoo-Labs/sonobarr.git
synced 2025-12-31 01:47:46 -05:00
### Added - Personal discovery support for Last.fm and ListenBrainz to fetch user-specific top/recommended artists. - Profile fields for Last.fm username, ListenBrainz username and user token, with UI controls to add or remove the token. - Sidebar controls, spinners and socket events to initiate and stream personal recommendations. - Database migration adding user columns for listening service integration. ### Changed - Recommendation flow now streams seed artists, deduplicates against the user's library, and presents missing/skip feedback. - Session and socket logic extended to emit per-user service availability and detailed error/ack responses. - Service initialization wires up Last.fm and ListenBrainz clients and broadcasts availability state to connected sessions. ### Fixed - Ensures personal discovery state and UI refresh after profile updates and when opening the sidebar so availability is accurate. ### Security - ListenBrainz token handling added with an option to clear the stored token; token input is treated as a secret in the UI.
18 lines
355 B
Mako
18 lines
355 B
Mako
"""${message}"""
|
|
|
|
revision = ${repr(revision)}
|
|
down_revision = ${repr(down_revision)}
|
|
branch_labels = ${repr(branch_labels)}
|
|
depends_on = ${repr(depends_on)}
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
${imports if imports else ""}
|
|
|
|
def upgrade():
|
|
${upgrades if upgrades else "pass"}
|
|
|
|
|
|
def downgrade():
|
|
${downgrades if downgrades else "pass"}
|
|
|