Commit Graph
100 Commits
Author SHA1 Message Date
jxxghp c3e4e1a764 fix: decode raw gzip tmdb responses 2026-05-20 10:44:01 +08:00
jxxghp b07c47551c fix: avoid none search keyword for haidan 2026-05-20 09:51:53 +08:00
jxxghp 71dc9df7ff fix: ignore expected module rate limits 2026-05-20 09:38:37 +08:00
jxxghp 6edb627145 fix: handle tmdb unicode decode errors 2026-05-20 09:21:36 +08:00
jxxghp 07f51c5d94 fix: handle invalid tmdb json responses 2026-05-20 09:05:18 +08:00
jxxghp 5d02550874 fix: cache available shell command discovery 2026-05-19 18:45:52 +08:00
jxxghp 2ff6474f0f 更新 version.py 2026-05-19 18:27:48 +08:00
jxxghp c4eb4d9b95 feat: inject available shell commands into agent prompt 2026-05-19 18:16:09 +08:00
jxxghp 7866aee1de fix: stop torrent search paging after short pages 2026-05-19 17:54:39 +08:00
jxxghpandClaude Opus 4.7 f46488cb9c fix: Audiences站点未读消息数解析错误
优先使用Audiences特有的解析逻辑(从"总数/未读数"格式提取真正的未读数),
仅在匹配不到时才fallback到NexusPHP基类的通用正则,避免基类将总消息数
误判为未读数导致发送大量错误通知。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 12:55:39 +08:00
jxxghpandClaude Opus 4.7 34ff80e26c feat: optimize scraping for multi-server compatibility
- Add studio, country, runtime tags to NFO generation
- Fix Fanart naming: showbackground→fanart (recognized by Jellyfin/Emby)
- Add image alias system: backdrop↔fanart, thumb↔landscape
- Merge image sources from all modules instead of first-wins
- Add CLEARART and LANDSCAPE scraping metadata types
- Extend season scraping with backdrop and landscape support

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 12:36:47 +08:00
jxxghp 195e34563d fix: use explicit tmdb locale setting 2026-05-19 11:33:03 +08:00
jxxghp 29dab5a312 fix: improve media image scraping 2026-05-19 10:48:36 +08:00
jxxghp 1f0eeb25e6 feat: add agent cli tools to docker image 2026-05-18 21:20:26 +08:00
jxxghp 3c1ff5242c feat: install ssh client in docker image 2026-05-18 21:16:58 +08:00
jxxghp 9076acc52e feat: add managed agent command sessions 2026-05-18 20:17:59 +08:00
jxxghp bedf06b864 feat: support multi-page resource search 2026-05-18 09:48:43 +08:00
jxxghp cb8636e967 refactor(browser): decouple Playwright types with protocol interfaces and remove direct dependency 2026-05-18 08:46:24 +08:00
jxxghp 36a0d78f08 更新 version.py 2026-05-18 07:29:06 +08:00
jxxghp 6685bd0e0e fix(audiences): correctly filter unread messages by icon class and attributes 2026-05-17 21:52:13 +08:00
jxxghp c857ae3e14 fix(tmdb): remove fallback to TMDB website scraping when API search fails 2026-05-17 19:46:50 +08:00
jxxghp 93130baf0a fix(system): improve error reporting for subprocess failures and add tests for output handling 2026-05-17 19:28:18 +08:00
jxxghp 3653164924 chore: bump version to v2.12.0 2026-05-17 15:12:01 +08:00
jxxghp ca0127cc87 fix: adapt site imdb search urls 2026-05-17 11:43:50 +08:00
jxxghp 092666f9d2 fix: avoid double episode offset in manual transfer 2026-05-17 08:59:17 +08:00
jxxghp 7b97e2039f fix(nginx): expand SSE configuration to include logging and search stream endpoints 2026-05-17 08:29:57 +08:00
jxxghp e168e31a8f fix: offload subtitle download after add task 2026-05-17 08:26:13 +08:00
jxxghp 3ee601574c fix: reduce low-risk pylint issues 2026-05-17 08:01:39 +08:00
jxxghp 0ee9fec1d2 feat(browser): migrate to CloakBrowser for browser emulation and streamline dependency management
- Replace Playwright-based browser emulation with CloakBrowser as default
- Update config to support CloakBrowser options and humanization presets
- Refactor browser helper to use CloakBrowser context and remove cf_clearance dependency
- Update Dockerfile, entrypoint, and update scripts to install CloakBrowser runtime
- Ensure CloakBrowser kernel is pre-installed during local setup and dependency updates
- Add tests for CloakBrowser integration and legacy compatibility
2026-05-16 20:51:38 +08:00
jxxghp 9069dccb2a fix: parse Audiences unread messages 2026-05-16 16:41:11 +08:00
jxxghp 3c055e2482 fix: avoid tmdb cached response mutation
Fixes #5777
2026-05-16 08:02:18 +08:00
jxxghp 28718094e4 Merge remote-tracking branch 'origin/v2' into v2 2026-05-15 22:43:48 +08:00
jxxghp 9b23265c3b feat(search): cache and expose last search parameters for replay and context retrieval
- Add methods to save and retrieve last search parameters in SearchChain
- Persist search params alongside results for replayable search context
- Add /last/context endpoint to fetch last search results and parameters
- Update tests to cover search param caching logic
- Allow images.tmdb.org in SECURITY_IMAGE_DOMAINS
2026-05-15 22:43:40 +08:00
jxxghp 9f61bce039 更新 version.py 2026-05-15 22:24:41 +08:00
jxxghp 1f49f9b454 fix: normalize downloader return paths
Fixes #5773
2026-05-15 18:15:42 +08:00
jxxghp 51229204c9 perf: optimize torrent filtering 2026-05-15 16:55:42 +08:00
jxxghp 2831eecbeb perf: optimize media recognition internals 2026-05-15 13:37:36 +08:00
jxxghp b2a18f9ae4 feat(message-processing-status): unified processing status indicator for Telegram, Slack, Discord, Feishu
- Add ChannelCapability.PROCESSING_STATUS and capability detection for supported channels
- Implement mark_message_processing_started/finished in Telegram, Slack, Discord, Feishu modules
  - Telegram: manage typing lifecycle with max duration and explicit stop
  - Slack: add/remove reaction as processing indicator
  - Discord: start/stop typing indicator with async task management
  - Feishu: add/remove reaction for processing status
- Refactor message chain to invoke processing status hooks for supported channels
- Ensure processing status is properly finished on sync and async message handling paths
- Add tests for processing status lifecycle and capability detection across channels
2026-05-15 12:45:41 +08:00
jxxghp 5a06e7b8bc fix(uv-pip-compat): bind venv python for more pip commands and add tests for compatibility wrapper 2026-05-15 09:58:30 +08:00
jxxghp f303d9e576 更新 version.py 2026-05-15 06:56:15 +08:00
jxxghp 41da9b62c2 fix: refresh custom placeholders without restart
Closes #5770
2026-05-14 23:04:14 +08:00
jxxghp 9128955bf9 fix: preserve scalar items in list flatten
Fixes #5705
2026-05-14 22:18:59 +08:00
jxxghp f50773711e feat: add support for syncing matching subtitle and audio files with main media during transfer 2026-05-14 21:12:02 +08:00
jxxghp 23784f614b feat: add user-friendly handling for unsupported image input errors in agent execution 2026-05-14 20:36:14 +08:00
jxxghp 7b27b7fd16 feat: add extensible agent audio capabilities 2026-05-14 19:37:13 +08:00
jxxghp 4322f8a3c1 fix: preserve reasoning content for compatible llms 2026-05-14 14:01:53 +08:00
jxxghp 0f3a4e4c15 refactor: rely on transfer chain invariants 2026-05-14 07:55:33 +08:00
jxxghp f4423e121e fix: aggregate metadata scrape events 2026-05-14 07:38:06 +08:00
jxxghp 7b1ece8b83 fix https://github.com/jxxghp/MoviePilot/issues/5663 2026-05-13 21:03:54 +08:00
jxxghp 6d5cda5d51 fix https://github.com/jxxghp/MoviePilot/issues/5663 2026-05-13 21:03:48 +08:00
jxxghp fcf6e14ac9 fix: filter invalid subtitle action links 2026-05-13 17:57:25 +08:00
jxxghp 0959c4ace4 feat: add full-season pack option for TV best-version subscriptions
- Introduce `best_version_full` field to subscribe and subscribehistory models and migration
- Update subscription logic to support only downloading full-season packs when enabled
- Extend CLI, API, and documentation to reflect new option
- Add tests for full-season best-version behavior
2026-05-13 16:53:24 +08:00
jxxghp f0bc1bd681 fix: prevent storage operations in preview mode and add tests for transfer preview logic 2026-05-13 13:39:57 +08:00
jxxghp f8d096f476 fix: 支持飞书语音消息识别 2026-05-13 12:45:32 +08:00
jxxghp b24127e66f fix: map feishu user identity for agent subscribe 2026-05-13 12:14:05 +08:00
jxxghp 35eb8c51a9 chore: bump version to v2.11.2 2026-05-13 11:47:46 +08:00
jxxghp 669ca713cf fix(feishu): add configurable margin to card sections and actions for improved layout with images 2026-05-13 11:43:37 +08:00
jxxghp f2fd28bf4d fix(feishu): place images at top of interactive cards and remove body padding for better visual layout 2026-05-13 11:31:38 +08:00
jxxghp 3852c0e43e feat(feishu): support embedding images in interactive cards and sending mixed image+file messages
- Enhance Feishu card builder to embed images using remote URLs or uploaded files
- Add logic to send image card first, then file attachment when both image and file are present
- Update card schema to 2.0 and use new button behaviors for callbacks and URLs
- Improve callback data extraction for both new and legacy card actions
- Extend tests to cover image embedding, mixed messages, and new card structure
2026-05-13 11:14:11 +08:00
jxxghp 6fb6996d81 fix: ensure stop_streaming waits for inflight initial flush before final edit; improve message edit/delete return types and logging
- Update stop_streaming logic to await inflight initial flush task, preventing duplicate message sends on stream stop
- Change message edit/delete methods to return Optional[bool] for clearer channel mismatch handling
- Refine Feishu logging to include message_id instead of full data object
- Suppress allowed_objects warnings in __init__.py
- Add test to verify stop_streaming waits for inflight flush before final edit
- Update .pylintrc to use 'E' for error enabling
2026-05-13 10:11:31 +08:00
jxxghp 4c16704ca2 feat(feishu): add info logging for successful message and reply responses 2026-05-13 08:53:39 +08:00
jxxghp f017eaedcc feat: add logging for Feishu streaming card updates and handle update failures more explicitly 2026-05-13 08:44:57 +08:00
jxxghp 19526146c5 docs: update docstrings for message metadata and reply fields; fix markdown capability check in format instructions; improve streaming card update logic in Feishu 2026-05-13 08:36:27 +08:00
jxxghp 7b4cb2097b refactor(feishu): promote download helper methods to public, update call sites and tests 2026-05-13 08:19:16 +08:00
jxxghp b6062a9ce2 fix(feishu): unconditionally inc streaming sequence to prevent locking; send fallback as normal msg 2026-05-13 08:08:59 +08:00
jxxghp ea8a90aa0a fix(feishu): handle more IM websocket events 2026-05-13 07:10:44 +08:00
jxxghp fa939dfbe6 fix(agent): reply Feishu agent streams with cards 2026-05-13 06:56:03 +08:00
jxxghp 77aa65bfdc fix(agent): route streaming finalization through channel modules 2026-05-13 00:50:53 +08:00
jxxghp d86d24fc4f feat(feishu): enhance message handling with file and voice support, add reaction management 2026-05-13 00:34:03 +08:00
jxxghp 0989439d25 feat(feishu): enhance message handling with file and voice support, add reaction management 2026-05-13 00:07:36 +08:00
jxxghp a46ce24691 feat(venv): add uv compatibility for pip commands and enhance virtual environment setup 2026-05-12 23:01:27 +08:00
jxxghp 57bb67e547 feat(feishu): enhance message target resolution and add user ID type handling 2026-05-12 22:39:10 +08:00
jxxghp 5e5c257b75 fix(tmdb): cache serializable response snapshots
Avoid caching raw HTTP response objects in TMDb request helpers so Redis no longer fails on embedded locks. Add an isolated regression test for sync and async request snapshots.

Refs #5763
2026-05-12 22:31:56 +08:00
jxxghp 624862dfc6 feat(notification): add Feishu notification channel support 2026-05-12 21:40:55 +08:00
jxxghp fc2c77fbf1 fix(agent): refresh LLM runtime config on each call
Read the latest LLM connection settings when building runtime clients so Web updates take effect immediately instead of reusing module-import defaults.

Closes #5757
2026-05-12 18:48:31 +08:00
jxxghp 2c45831714 feat(subscribe): add episode priority tracking for subscription updates 2026-05-12 17:22:50 +08:00
jxxghp 9068280f6d refactor(tests): simplify test setup by removing unused stubs and imports 2026-05-12 14:00:50 +08:00
jxxghp ea88f272a6 feat(system-settings): add unified tools for querying and updating system settings 2026-05-12 13:55:52 +08:00
jxxghp ac090af606 feat(plugin): enhance dependency management by protecting main program dependencies and refining runtime constraints 2026-05-12 12:38:17 +08:00
jxxghp 99fbeecfa1 chore: update app version to v2.11.1-1 2026-05-11 22:32:11 +08:00
jxxghp 41477601c7 feat: add test for ILinkClient connection and handle ilink_user_id error gracefully 2026-05-11 22:30:13 +08:00
jxxghp a6ab9b76c1 feat: refactor ZSpace media server request handling and improve authorization headers 2026-05-11 22:24:15 +08:00
jxxghp a62b6b6fd5 fix: correct plugin dependency package lookup 2026-05-11 21:24:14 +08:00
jxxghp 75a52ad751 更新 version.py 2026-05-11 18:37:00 +08:00
jxxghp a2fa8d6f28 feat: rename methods for clarity in ZSpace media server integration 2026-05-11 18:35:20 +08:00
jxxghp ed9116d81e feat: refactor ZSpace media server integration and enhance item management methods 2026-05-11 18:21:21 +08:00
jxxghp 6db1dd2067 feat: add ZSpace media server support with authentication and item management 2026-05-11 18:09:38 +08:00
jxxghp b7fc5b0203 feat: refine job handling by filtering active jobs and updating date context in prompts 2026-05-11 13:15:32 +08:00
jxxghp 1b2433f7c2 feat: implement runtime dependency checks and recovery for plugin installations 2026-05-11 08:54:34 +08:00
jxxghp 888ccfcfc2 feat: add detailed docstrings for methods in WechatClawBot and related modules 2026-05-11 08:25:25 +08:00
jxxghp 3c9228c2f8 feat: enhance iLink polling logic to support multiple payload formats and improve success determination 2026-05-11 08:02:17 +08:00
jxxghp 3776422634 fix: tighten wechatclawbot poll protocol handling 2026-05-11 07:15:04 +08:00
jxxghp 5021b2c86f feat: implement message deduplication and enhance error handling in WechatClawBot 2026-05-10 23:40:22 +08:00
jxxghp 412e10972f fix: optimize client instantiation in message sending logic 2026-05-10 23:00:47 +08:00
jxxghp d0b1b3d7f0 feat: add QR code URL normalization for compatibility with various formats 2026-05-10 22:10:53 +08:00
jxxghp f5fea25b41 fix: migrate wechat clawbot login cache on rename 2026-05-10 21:50:33 +08:00
jxxghp 68706d3d5b feat: add standalone wechat clawbot notifications 2026-05-10 21:47:35 +08:00
jxxghp b768ed8fed 更新 version.py 2026-05-10 15:27:54 +08:00
jxxghp c4d3d28491 fix: avoid blocking Ugreen startup on library preload
Delay Ugreen library loading until it is needed and cap poster wall pagination so a single Ugreen server cannot hang backend startup.\n\nFixes #5740
2026-05-10 12:19:36 +08:00
jxxghp 1862a7ab4b feat: expose download save paths in API
Return configured download directories as API-ready save_path values so external integrations can choose download destinations without guessing local or remote path syntax.

Fixes #5737
2026-05-10 12:02:22 +08:00