Releases
v0.1.3
Compare
Sorry, something went wrong.
No results found
0.1.3 - 2026-09-29
🚀 Features
(codeid,javdb) Implement multi-tier candidate resolution for catalogue scraping - (00c813f )
(javbus) Enable adaptive reachability probing and remove manual switch - (72f9fb3 )
(subscriptions) Decouple subscription targets cache and add paginatio - (51818c0 )
📝 Other Changes
🐛 Bug Fixes
(api) Abort library local scan handler when JSON binding fails - (991138a )
(catalogue) Ignore route persistence errors in cached JavDB queries - (edd3470 )
(codeid) Add FC2- provider search query variant for FC2-PPV candidates - (3b58fb7 )
(domain) Mask unexpected and internal error details in public message - (7074f5c )
(drive) Bind account cache to credential version - (d9b133f )
(emby) Remove unused receiver from translatePath and fix escape check - (9c38b30 )
(emby) Use atomic single-flight and negative cache for actor avatars - (3a36df5 )
(emby) Resolve absolute media paths and trigger library refresh on update - (f79e501 )
(export) Sanitize EmbyMovieDir with nfo.FileStem to prevent illegal paths - (6d65005 )
(javbus) Strip unsupported pb unit from magnet size regex - (54211f6 )
(magnet) Distinguish skipped sources and bypass cache on partial failures - (349e1ac )
(monitor) Return normalized config upon subscription settings update - (431a334 )
(monitor) Mark actor cursor initialized to avoid dropping debut works - (fd06c32 )
(monitor) Eliminate recursive calls on subscription constraint error - (9916221 )
(monitor) Resume subscription batch from processed count on restart - (5691485 )
(netx) Explicitly set transport.Proxy to nil in newTransport - (b034764 )
(netx) Permit local proxy connections in safe transport dialer - (1778d57 )
(netx,app) Make proxy updates atomic and synchronize database persistence - (b7a2b91 )
(pan) Restrict retry policy for non-idempotent requests and remove unused upload logic - (de87784 )
(scan) Normalize local NFO code with fallback and handle ignored errors - (0150471 )
(scan) Clean up local Emby movie directory and notify Emby on movie deletion - (28dd654 )
(scrape) Sort multi-part videos naturally and consolidate Emby export - (f26863a )
(strm) Only fallback to play URL when direct download is unavailable - (9fdc7bb )
(strm) Unify user-agent across download, play, and probe requests - (1171f30 )
(strm) Regenerate STRM files on rewrite to support token rotation - (985577f )
(strm) Support empty user-agent downstream relay and override media content-type - (3e499ad )
(strm) Bind 115 raw download url to player user-agent and default public_url - (851a6c1 )
(subtitle) Delete orphan pending subtitle records during export - (a1feba6 )
(tasks) Handle JavDB rate limits and retry failed workflow items - (574d600 )
(tasks) Retry Claim and Finish on transient database errors - (7722fd3 )
(web) Prevent duplicate beacon POST and clear pending in browse history - (8ab436c )
(web) Rename clear cache button to clarify only unused cache is removed - (a885c55 )
(web) Track pan login qr auto-refresh by session id - (6d55da1 )
(web) Handle 401 unauthorized on SSE terminal closure - (5f2f14c )
(web) Use placeholderData for movie state cache and prevent premature ingestion - (b3ccfaa )
(web) Only clear auth token and dispatch unauthorized event on UNAUTHORIZED error code - (abcce48 )
Prevent Emby settings flicker with optimistic updates - (531bfa6 )
Separate throttle waits from I/O timeouts and reload uncached recommendations - (fd8e915 )
Centralize 115 retry-after backoff and recheck deadlines - (5111f35 )
Preserve scan callbacks and reject invalid GFriends indexes - (49f0228 )
Avoid blocking GFriends lookups and retry failed index refreshes - (f7d15e2 )
Rewrite STRM on directory changes and retry incomplete magnet lookups - (c533e85 )
Centralize API error handling and account state refresh - (d965493 )
Persist discovery and subscription browsing state in URL - (7a1fd29 )
Unify error classification and return 429 for login rate limits - (6d27657 )
Unify web JWT authentication through HttpOnly cookies - (40b03ca )
Automatically queue scans for the configured Emby directory - (38e3d10 )
Resolve audit regressions in exports, scans, playback, and subscriptions - (5e45f6a )
fix(scan): persist scanID across checkpoints to prevent resume deletion - (6dd6aa5 )
📖 Documentation
(audit) Mark lockfile synchronization checklist item as resolved - (197a67c )
Prune resolved audit items and refresh remaining recommendations - (ef65c7f )
Add full-stack code audit checklist - (d814237 )
Add categorized frontend and backend code audit - (dbe781b )
⚡ Performance
Avoid refreshing browse history after every view - (167759b )
🚜 Refactor
(codeid) Replace hardcoded catalogue aliases with verified candidates - (1c25b27 )
(export) Unify export config and manage strm rewrites - (1321532 )
(library) Store metadata snapshots on movie records - (d92c46b )
(offline) Persist downloads independently of tasks - (30db8a2 )
(scan) Remove premature fast STRM export to prevent dirty prefix directories - (04d513a )
(subtitle) Remove 115 pan subtitle indexing and download to eliminate pan burden - (d6a8a0c )
(tasks) Isolate subscription batches from library workers - (38ab502 )
Simplify magnet aggregator configuration - (dadc146 )
Simplify library card hover state - (5a60ac1 )
Use router link state for navigation highlighting - (c4ad680 )
Simplify access gate and JWT interfaces - (bc622b4 )
Replace runtime configuration with local constants - (1c837bf )
Centralize the empty user-agent sentinel - (2f65392 )
Remove test-only safe download options - (7d66e0c )
Replace drive mount event bus with a single listener - (0264e0d )
Consolidate pan login polling options and tests - (e1e5939 )
Simplify recommendation caching while preserving detail loading - (923000e )
Simplify scan persistence and type export configuration - (4eeb7e6 )
Simplify task handlers and completion callbacks - (d1956ff )
Extract library scan button from page - (91d18f4 )
Extract QR login state machine from drive - (6eb4887 )
Separate scan orchestration and directory indexing - (5d31e8e )
Separate Emby HTTP client and actor sync lifecycle - (22820d6 )
Separate pan wire models from API and persistence formats - (cbb000b )
Initialize service dependencies before starting workers - (b8cafc4 )
Move network settings service out of app - (12d8aa2 )
Centralize database migrations with versioned transactions - (8615a5d )
Separate live JavDB route state from persistence - (e39d3f1 )
Clarify catalogue sources and unify magnet aggregation - (e224b71 )
Remove redundant JavBus detail cache - (d16768d )
Share proxied fingerprint client lifecycle management - (867b788 )
Centralize HTTP transports and simplify streaming clients - (fd9598d )
Move scan and subscription workflows out of tasks - (78baae5 )
Enforce package boundaries and extract shared subtitle metadata - (5e2d6f9 )
Remove web player, playback session, and watch history - (7fe1cba )
🧪 Testing
Migrate Vitest tests to TypeScript with shared tsconfig - (c0559d1 )
Migrate frontend tests from node:test to Vitest - (dc88d5b )
Add javdb title and number test - (30708d6 )
⚙️ Miscellaneous Tasks
You can’t perform that action at this time.