summaryrefslogtreecommitdiff
path: root/internal/service
AgeCommit message (Expand)Author
2026-05-17Restructure repo: move Go server into player-server/Paul Buetow
2026-05-17Add progress service completion methodsPaul Buetow
2026-05-10Decompose podcastService (SRP): split subscription, episode, and feed-checker...Paul Buetow
2026-05-10Move self-deletion guard from handler into AdminService (DeleteUser) to fix S...Paul Buetow
2026-05-10refactor(service,scanner): return concrete types from constructorsPaul Buetow
2026-05-10fix(browse): return ErrNotFound when set cover is missingPaul Buetow
2026-05-10internal/service: stop swallowing CreateEpisode errors in insertPodcastEpisod...Paul Buetow
2026-05-10podcast: propagate UpdateFeed error on 304 Not Modified pathPaul Buetow
2026-05-10player: log downloadCover errors in podcast subscribe and feed checkPaul Buetow
2026-05-10internal/service: fix ListEpisodes global pagination by using cross-feed SQL ...Paul Buetow
2026-05-10Add circuit breaker / backoff for failing podcast feeds in CheckFeedsPaul Buetow
2026-05-10fix: close destination file and clean up partial copies in copyFilePaul Buetow
2026-05-10internal/service: swap GC hard-delete orderingPaul Buetow
2026-05-10Decouple podcast browse logic from BrowseSet via PodcastBrowser interfacePaul Buetow
2026-05-09style: gofmt and goimports formatting fixesPaul Buetow
2026-05-09Extract SessionManager interface to fix DIP violationPaul Buetow
2026-05-09Harden external process and network callsPaul Buetow
2026-05-09Handle background worker panics for task 42Paul Buetow
2026-05-09more on thisPaul Buetow
2026-05-09s1 fix immediate scan progress statePaul Buetow
2026-05-09Refine media browsing and set coversPaul Buetow
2026-05-07k1 avoid duplicate downloaded podcast episodesPaul Buetow
2026-05-07Fix podcast browser workflows for k1Paul Buetow
2026-05-07i1 omit empty share thumbnail URLPaul Buetow
2026-05-07Fix missing share thumbnails for i1Paul Buetow
2026-05-07j1 fix admin media lifecycle QA defectsPaul Buetow
2026-05-07Fix scan cancellation progress error for q0Paul Buetow
2026-05-07task 31: introduce media streamer servicePaul Buetow
2026-05-07Task 21: move thumbnail regeneration to write servicePaul Buetow
2026-05-07task 81: replace test sleeps with deterministic syncPaul Buetow
2026-05-06internal/service: inject http.Client into podcastService constructor (task 41)Paul Buetow
2026-05-06internal/service: log and concurrently process podcast feeds (task 91)Paul Buetow
2026-05-06split DownloadEpisode into smaller helpers (x0)Paul Buetow
2026-05-06w0: Split SubscribeFeed into smaller helpersPaul Buetow
2026-05-06fix(scanner, browse): fallback to original image when thumbnail generation fa...Paul Buetow
2026-05-06Fix music video duration display in progress barPaul Buetow
2026-05-05Fix podcast support critical bugs from code reviewPaul Buetow
2026-05-05Add podcast support backend: RSS/Atom feeds, episode management, cover scrapingPaul Buetow
2026-05-04task f: validate media_id and sessionID in progress handler and servicePaul Buetow
2026-05-04task e: add unit test verifying GetNote access check rejects non-ownerPaul Buetow
2026-05-04task 7: refactor oversized functions into helpersPaul Buetow
2026-05-04task 9: Centralize file extension and media type mappings in internal/mediatypePaul Buetow
2026-05-04task c: run gofmt and fix unwrapped error literals across the codebasePaul Buetow
2026-05-04task 3: decouple API layer from repository with MediaQueryFilter and AuthServ...Paul Buetow
2026-05-04task b: inject app context into AdminService and propagate cancellation to ba...Paul Buetow
2026-05-03task 2: add unit tests for decomposed sub-servicesPaul Buetow
2026-05-03task 2 review fixes: narrow BrowseService and accessHelper store interfacesPaul Buetow
2026-05-03task 2: decompose mediaService and adminService into role-focused structsPaul Buetow
2026-05-03Task 8: standardize scanner and handler loggingPaul Buetow
2026-05-03Fix GC hard-delete ordering for task dPaul Buetow