[PR #142] Subsonic: expand OpenSubsonic compatibility and modularize route architecture #24

Open
opened 2026-03-07 19:53:29 +03:00 by kerem · 0 comments
Owner

Original Pull Request: https://github.com/Chevron7Locked/kima-hub/pull/142

State: open
Merged: No


Description

Improves Subsonic/OpenSubsonic client compatibility and refactors the backend Subsonic router into focused modules for maintainability.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Enhancement (improvement to existing functionality)
  • Documentation update
  • Code cleanup / refactoring
  • Other (please describe):

Fixes #141

Changes Made

  • Added/expanded compatibility endpoints for search variants, queue variants, rating/star flows, lyrics, now playing, transcode/HLS, podcasts, scan/token info, and optional compatibility endpoints.

  • Split monolithic Subsonic routing into domain modules and centralized composition in index.ts

  • Added shared helper utilities for repeated query parsing and Subsonic user mapping/password decoding.

  • Updated contributor docs in [README.md] with endpoint support, module ownership, and an endpoint-addition checklist.

  • Added new subsonic modules

  • Retired legacy backend/src/routes/subsonic/user.ts

Testing Done

  • Tested locally with Docker
  • Tested specific functionality:
  • Tested with Amperfy - Directory browsing, Playlist edits, favorites work

Screenshots (if applicable)

Checklist

  • My code follows the project's code style
  • I have tested my changes locally
  • I have updated documentation if needed
  • My changes don't introduce new warnings
  • This PR targets the main branch
**Original Pull Request:** https://github.com/Chevron7Locked/kima-hub/pull/142 **State:** open **Merged:** No --- ## Description Improves Subsonic/OpenSubsonic client compatibility and refactors the backend Subsonic router into focused modules for maintainability. ## Type of Change - [ ] Bug fix (non-breaking change that fixes an issue) - [ ] New feature (non-breaking change that adds functionality) - [X] Enhancement (improvement to existing functionality) - [ ] Documentation update - [ ] Code cleanup / refactoring - [ ] Other (please describe): ## Related Issues Fixes #141 ## Changes Made - Added/expanded compatibility endpoints for search variants, queue variants, rating/star flows, lyrics, now playing, transcode/HLS, podcasts, scan/token info, and optional compatibility endpoints. - Split monolithic Subsonic routing into domain modules and centralized composition in index.ts - Added shared helper utilities for repeated query parsing and Subsonic user mapping/password decoding. - Updated contributor docs in [README.md] with endpoint support, module ownership, and an endpoint-addition checklist. - Added new subsonic modules - Retired legacy backend/src/routes/subsonic/user.ts ## Testing Done - [X] Tested locally with Docker - [X] Tested specific functionality: - Tested with Amperfy - Directory browsing, Playlist edits, favorites work ## Screenshots (if applicable) ## Checklist - [X] My code follows the project's code style - [X] I have tested my changes locally - [X] I have updated documentation if needed - [X] My changes don't introduce new warnings - [X] This PR targets the `main` branch
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/kima-hub#24
No description provided.