Commit Graph

200 Commits

Author SHA1 Message Date
ShukeBta 52d75171b2 fix: allow login during sqlite write pressure 2026-06-11 20:06:55 +08:00
ShukeBta 7274ea19b7 fix: cap CPU and avoid heavy startup work 2026-06-11 19:48:00 +08:00
ShukeBta d9f87c61b6 fix: keep login responsive during background organize 2026-06-11 19:28:49 +08:00
ShukeBta 8b32d99b5c fix spa fallback for library routes 2026-06-11 18:57:02 +08:00
ShukeBta 2ad9606ad5 fix full library display and cloud search visibility 2026-06-11 18:50:05 +08:00
Shuke 42d04afbb2 Delete diagnose-cloud.ps1
Signed-off-by: Shuke <272197458+ShukeBta@users.noreply.github.com>
2026-06-11 18:39:52 +08:00
Shuke bb425ee9d4 Delete diagnose-cloud.sh
Signed-off-by: Shuke <272197458+ShukeBta@users.noreply.github.com>
2026-06-11 18:39:42 +08:00
Shuke f05ee25ff8 Delete deploy-update.sh
Signed-off-by: Shuke <272197458+ShukeBta@users.noreply.github.com>
2026-06-11 18:39:29 +08:00
ShukeBta 23d1fbfddb fix cloud library scale and playback compatibility
Root cause: display-only cloud library filtering was reused by scan jobs, merged cloud mounts could be skipped, and OpenList listing relied on WebDAV/first-page behavior that could cap huge directories around 100 items. Cloud scans also let new items consume probe budget before existing rows with missing track/artwork metadata.\n\nChanges:\n- split display filtering from scannable cloud filtering so merged cloud mounts still scan\n- add OpenList API pagination with WebDAV fallback\n- prioritize existing cloud media missing metadata before new imports\n- restrict automatic cloud sync to one successful 19:00-21:00 daily window and keep manual scan immediate\n- disable startup cloud full-scan by default, with an explicit opt-in setting\n- improve Emby/cloud playback compatibility and cache/search/test coverage from the continued work
2026-06-11 18:31:01 +08:00
ShukeBta c22d8271ae fix: use Get instead of FindByID to lookup storage config by type
The scanner was incorrectly using FindByID(mount.Provider) where mount.Provider
is a type string like 'openlist', not a database ID. This caused all cloud
library scans to fail with 'storage config not found'.

Changed to use Get(ctx, mount.Provider) which correctly looks up by type field.

Fixes cloud library scanning for all providers (openlist/quark/115/clouddrive2)
2026-06-11 13:21:37 +08:00
ShukeBta 66a75e61b4 fix: update diagnostic script port and add deployment script
- Fix API health check to use correct port 18080
- Add deploy-update.sh for easy deployment on NAS
- Include log viewing after deployment
2026-06-11 13:03:59 +08:00
ShukeBta 197d8bd463 fix: add bash diagnostic script for Debian/飞牛OS
- Replace PowerShell script with bash version
- Compatible with Debian-based systems
- Same diagnostic functionality for cloud storage
2026-06-11 13:00:34 +08:00
ShukeBta 53135b444f docs: add cloud storage diagnostics and status report
- Add PowerShell diagnostic script for cloud storage issues
- Document all cloud storage features and capabilities
- Provide troubleshooting guide for common problems
- Include configuration examples and best practices
2026-06-11 12:56:15 +08:00
ShukeBta 7ef4af6287 feat: add cloud storage health check on startup
- Validate all enabled cloud storage configs at boot
- Ping each cloud provider to ensure connectivity
- Log health status for better diagnostics
- Help identify cloud storage configuration issues early
2026-06-11 12:54:26 +08:00
ShukeBta 95794f7bbc fix: add storage deletion with library cleanup and scan validation
- Delete storage config now properly removes related libraries and media
- Scanner validates storage config exists before starting cloud scan
- Prevents orphaned scans when storage is removed
- Added repository methods: DeleteByType, FindByID for storage config
- Remove unused storageHandler route to fix compilation
2026-06-11 12:48:32 +08:00
ShukeBta e99d70b017 feat: improve cloud media playback and Emby compatibility
Based on nowen-video and MoviePilot implementations:
- Mark STRM media as IsRemote=true in Emby MediaSource
- Improve cloud media identification using STRMURL field
- Clean up unused cloud play service scaffolding
- Ensure third-party players (Infuse/Emby) recognize cloud media correctly
2026-06-11 12:17:14 +08:00
ShukeBta 39144d70ba fix: translate qBittorrent container paths for auto-organize
- Add path translation for cross-container download paths
- Map common qBittorrent container paths to /downloads
- Fixes 'payload path is not accessible' warnings in logs
- Enables auto-organize to work when qBittorrent runs in separate container
2026-06-11 11:38:08 +08:00
ShukeBta fab2b98096 fix: enable CORS for all Emby protocol paths
- Allow CORS for /emby/*, /Users/*, /Items/* routes
- Supports all Emby-compatible players (Infuse, Emby apps, Jellyfin, etc)
2026-06-11 11:31:16 +08:00
ShukeBta 62b204367c fix: auto-scan cloud libraries on boot + allow CORS for media playback
- Add BootCloudLibraries() to auto-scan all cloud libraries on startup
- Delay 3s to avoid conflict with system init, scan without auto-scrape
- Enable CORS for /api/cloud/play/* and /api/img to support 3rd-party players
- Fixes issue where each user triggers separate cloud library scans
- Fixes issue where Infuse/Emby apps cannot play cloud resources
2026-06-11 11:25:43 +08:00
ShukeBta d90b58ba22 fix: cache cloud artwork before library import 2026-06-11 00:54:29 +08:00
ShukeBta 542e85a067 fix: reduce emby load and stabilize strm scan 2026-06-11 00:18:51 +08:00
ShukeBta 859d6e9d24 implement automatic strm generation 2026-06-10 21:36:55 +08:00
ShukeBta fd0428ee7d fix cloud library mounts and artwork caching 2026-06-10 20:43:42 +08:00
ShukeBta 0bf983cec8 fix: improve cloud mount scanning feedback 2026-06-10 18:46:30 +08:00
ShukeBta 6a892d6549 fix: handle OpenList unicode mount paths 2026-06-10 12:47:39 +08:00
ShukeBta 0f82cb3084 feat: improve OpenList cloud storage support 2026-06-10 00:08:35 +08:00
ShukeBta 9f2d7a507b chore: allow docker build registry proxies 2026-06-09 22:02:12 +08:00
ShukeBta 8c8ff131f5 chore: reduce docker runtime vulnerability surface 2026-06-09 21:45:41 +08:00
ShukeBta eab8c3c709 feat: add clouddrive2 storage bridge 2026-06-09 20:22:00 +08:00
ShukeBta eda5d9a978 docs: simplify docker compose path guide 2026-06-09 19:29:26 +08:00
ShukeBta bfb0243712 fix: limit ffprobe concurrency 2026-06-09 19:18:21 +08:00
ShukeBta 7d7f3cc758 feat: add cloud transfer and cache optimizations 2026-06-09 19:03:28 +08:00
ShukeBta a55fc502ca feat: add configurable scraper throttling 2026-06-09 17:56:25 +08:00
ShukeBta 76fe0dbde9 feat: scrape metadata after organize 2026-06-09 17:00:24 +08:00
ShukeBta 81f0cabe91 docs: simplify docker compose deployment 2026-06-09 14:05:26 +08:00
ShukeBta fe0e7a09ce fix: improve media file organization workflow 2026-06-09 13:57:34 +08:00
ShukeBta 76d6e0c8ff fix: dedupe RSS subscription variants 2026-06-08 21:50:15 +08:00
Shuke 691b1cee17 Update README.md
Signed-off-by: Shuke <272197458+ShukeBta@users.noreply.github.com>
2026-06-08 19:57:48 +08:00
Shuke 7e77af5a7d Update NodeSeek link format in README.md
Signed-off-by: Shuke <272197458+ShukeBta@users.noreply.github.com>
2026-06-08 19:57:09 +08:00
Shuke 63a834b8ee Update README.md
Signed-off-by: Shuke <272197458+ShukeBta@users.noreply.github.com>
2026-06-08 19:56:25 +08:00
ShukeBta 2e26b71478 fix: add organize ingest action 2026-06-08 10:39:02 +08:00
ShukeBta ab9e5d6a8f fix: classify download organize output 2026-06-08 10:06:55 +08:00
ShukeBta cf6c58d26e fix: improve cleanup rule display 2026-06-08 09:52:17 +08:00
ShukeBta dea45c5423 fix: load full poster wall media 2026-06-07 22:46:57 +08:00
ShukeBta 22556f65d3 feat: add telegram bulk unbind commands 2026-06-07 22:27:11 +08:00
ShukeBta 8c8d472524 fix: add smart download classification 2026-06-07 21:34:21 +08:00
ShukeBta 681fc33dd5 fix(server): prevent stale SPA white screen after updates 2026-06-07 19:46:58 +08:00
ShukeBta 88ee6d6bb7 fix(downloads): prevent subscription readding deleted torrents 2026-06-07 19:20:10 +08:00
ShukeBta a5d061afa6 refactor: split site adapters and site page modules 2026-06-07 18:55:51 +08:00
ShukeBta df02fd1166 fix: harden bot accounts and download handling 2026-06-07 18:30:27 +08:00