owen
|
e88f4e040c
|
OpenSubsonic: getPodcastEpisode, topSongsByArtistId, transcodeOffset (real ffmpeg seek)
|
2026-08-23 08:06:12 -05:00 |
|
owen
|
e38d31d384
|
Phase 3: OpenSubsonic core (response envelope, error codes 42-44, getOpenSubsonicExtensions) and apiKeyAuthentication extension with tokenInfo, web API key management
|
2026-08-23 08:04:01 -05:00 |
|
owen
|
3b4883780b
|
Fix test-leaked HLS cache directory tracked in repo; give subsonic tests a real DataDir
|
2026-08-23 00:38:57 -05:00 |
|
owen
|
6ac50994b8
|
Phase 2: exhaustive Subsonic 1.16.1 compatibility matrix, README/config/Docker updates
|
2026-08-23 00:38:09 -05:00 |
|
owen
|
f1fdd8d2c2
|
Web UI: podcasts, radio, shares, bookmarks pages; admin podcast/jukebox management; per-user Subsonic permission editor
|
2026-08-23 00:34:58 -05:00 |
|
owen
|
2e222bd193
|
Subsonic: jukeboxControl endpoint wired to real mpv-backed controller
|
2026-08-23 00:29:59 -05:00 |
|
owen
|
12eb4b9d01
|
Add real mpv-backed jukebox controller (JSON IPC), tested against real mpv
|
2026-08-23 00:27:59 -05:00 |
|
owen
|
c2166fa7d4
|
Subsonic: podcast endpoints (getPodcasts, getNewestPodcasts, refreshPodcasts, createPodcastChannel, deletePodcastChannel/Episode, downloadPodcastEpisode)
|
2026-08-23 00:26:14 -05:00 |
|
owen
|
fce44a2ffd
|
Add real podcast subsystem: RSS feed refresh, bounded background downloads, restart recovery
|
2026-08-23 00:24:43 -05:00 |
|
owen
|
8d93bea384
|
Subsonic: user management endpoints (getUser, getUsers, createUser, updateUser, deleteUser, changePassword) with full permission model mapping
|
2026-08-23 00:22:44 -05:00 |
|
owen
|
d92a25b141
|
Subsonic: internet radio, chat, bookmarks, play queue, scanner status endpoints
|
2026-08-23 00:21:13 -05:00 |
|
owen
|
c6e0131984
|
Subsonic: sharing (getShares, createShare, updateShare, deleteShare) plus real public share web pages and stream route
|
2026-08-23 00:18:51 -05:00 |
|
owen
|
b77ccd242a
|
Subsonic: annotation endpoints (star, unstar, setRating, scrobble)
|
2026-08-23 00:15:58 -05:00 |
|
owen
|
c7b472ab99
|
Subsonic: media retrieval endpoints (stream, download, getCoverArt, getLyrics, getAvatar, hls, getCaptions) with real transcoding, embedded lyrics extraction, and folder permission enforcement
|
2026-08-23 00:15:00 -05:00 |
|
owen
|
b6ec06f272
|
Add real ffmpeg-backed transcoding subsystem (bounded concurrency, streaming, HLS segmenting)
|
2026-08-23 00:10:55 -05:00 |
|
owen
|
6e2b875eaa
|
Subsonic: playlist endpoints (getPlaylists, getPlaylist, createPlaylist, updatePlaylist, deletePlaylist)
|
2026-08-23 00:09:36 -05:00 |
|
owen
|
a297454065
|
Subsonic: album/song lists (getAlbumList/2, getRandomSongs, getSongsByGenre, getNowPlaying, getStarred/2) and search (search, search2, search3)
|
2026-08-23 00:08:06 -05:00 |
|
owen
|
f40a011c46
|
Subsonic: browsing endpoints (getMusicFolders, getIndexes, getMusicDirectory, getGenres, getArtists/Artist, getAlbum, getSong, getVideos/VideoInfo, getArtistInfo/2, getAlbumInfo/2, getSimilarSongs/2, getTopSongs)
|
2026-08-23 00:06:08 -05:00 |
|
owen
|
b5e2bf01e2
|
Phase 2: Subsonic REST API framework (auth, response formatting, error handling, routing) plus user permission model
|
2026-08-22 23:58:54 -05:00 |
|
owen
|
89e46bf539
|
Fix open-redirect via next parameter, remove dead code
|
2026-08-22 23:45:39 -05:00 |
|
owen
|
b4b1ba8470
|
Add Docker/systemd deployment, documentation, extauth logout URL wiring
|
2026-08-22 23:44:46 -05:00 |
|
owen
|
40e1cfb630
|
Add web-layer route/auth tests
|
2026-08-22 23:42:52 -05:00 |
|
owen
|
e0bd8bc3cb
|
Web UI: setup wizard, auth pages, library browsing, player, admin, streaming, cover art
|
2026-08-22 23:42:09 -05:00 |
|
owen
|
aa29f13846
|
Streaming with range requests and path safety, cover art discovery/resize cache
|
2026-08-22 23:33:00 -05:00 |
|
owen
|
49dbee617a
|
Library indexing and filesystem scanner with incremental rescans
|
2026-08-22 23:31:17 -05:00 |
|
owen
|
d4ea7a4ca9
|
Foundation: config, schema/migrations, auth, stable IDs, metadata probing
|
2026-08-22 23:29:16 -05:00 |
|