Commit Graph

1753 Commits

Author SHA1 Message Date
jxxghp
4d8c910f0d fix: enable incomplete file suffix for downloaders 2026-05-25 05:58:05 +08:00
jxxghp
7af2aa4266 更新 feishu.py 2026-05-24 22:09:29 +08:00
jxxghp
79539760da fix: bound long-lived cache state 2026-05-24 18:03:42 +08:00
jxxghp
6430b864b4 fix: import filter module dependencies 2026-05-24 08:02:40 +08:00
jxxghp
ec588037a0 fix: restrict message commands to channel admins 2026-05-24 08:00:54 +08:00
jxxghp
d6472088cb fix: correct typo in import for clear_rust_parse_options_cache 2026-05-23 20:42:52 +08:00
jxxghp
0c133b7ccd feat: add global RUST_ACCEL toggle to enable/disable rust acceleration at runtime
- Introduce RUST_ACCEL config to control all rust fast paths
- Fallback to Python implementations when disabled, preserving filter semantics
- Expose rust acceleration status in system info API
- Update CLI docs to reflect new toggle
- Add tests for runtime switch and fallback behavior
2026-05-23 20:35:58 +08:00
jxxghp
0bf228d29d perf: optimize rust acceleration paths
Rust vs Python benchmark results:

- RSS: Rust 0.299 ms/loop vs Python 7.913 ms/loop, 26.47x faster

- Filter: Rust 12.740 ms/loop vs Python 57.187 ms/loop, 4.49x faster

- MetaInfo: Rust 64.680 ms/loop vs Python 316.158 ms/loop, 4.89x faster

- Indexer agsvpt: Rust 145.76 ms vs Python 3686.50 ms, 25.29x faster

- Indexer pttime: Rust 166.51 ms vs Python 4019.87 ms, 24.14x faster

- Indexer chdbits: Rust 161.17 ms vs Python 3604.28 ms, 22.36x faster

- Indexer iptorrents: Rust 77.82 ms vs Python 17615.52 ms, 226.36x faster

Validation:

- cargo fmt/check/test for rust/moviepilot_rust

- pytest Rust-related coverage: tests/test_rust_accel.py tests/test_torrent_filter.py tests/test_metainfo.py tests/test_indexer_spider_search_url.py tests/test_workflow_fetch_rss.py

- tests/run.py legacy suite

- pylint app/ --errors-only
2026-05-23 19:41:18 +08:00
jxxghp
d1e2881347 feat: accelerate site indexer parsing with rust 2026-05-23 15:59:20 +08:00
jxxghp
00fc8b2f53 chore: update text processing dependencies 2026-05-23 12:18:59 +08:00
jxxghp
7cbfeb2377 refactor: slim rust acceleration surface 2026-05-23 09:17:32 +08:00
jxxghp
efdb4d1b28 fix: delay transient typing indicators 2026-05-23 00:41:12 +08:00
jxxghp
a74f04a149 fix: simplify message typing lifecycle 2026-05-23 00:11:56 +08:00
jxxghp
f7b78721c3 fix: 统一消息 typing 生命周期 2026-05-22 22:59:20 +08:00
jxxghp
4de4044a3e feat: accelerate RSS parsing with Rust 2026-05-22 21:31:18 +08:00
jxxghp
052e1ca8e4 fix: handle images in Feishu streaming replies 2026-05-22 20:43:54 +08:00
jxxghp
bd4d493f34 feat: add Rust acceleration for core parsing 2026-05-22 19:58:04 +08:00
jxxghp
2b5528c0ac fix: keep agent typing status while queued 2026-05-22 16:46:25 +08:00
jxxghp
fec109712b fix: prevent duplicate Audiences unread messages 2026-05-22 07:23:41 +08:00
jxxghp
b6b5529d19 fix: 优化TMDB搜索匹配优先级,title/original_title优先于别名匹配
将搜索结果匹配策略从"逐个结果完整匹配链"改为"两轮优先级匹配":
第一轮遍历所有结果只匹配title/original_title,第二轮再匹配别名译名。
避免排序靠前的无关影片因别名恰好匹配而抢先于正确结果。

Fixes #5719

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 17:47:59 +08:00
jxxghp
fd4d162287 fix: respect OpenList directory path contract 2026-05-20 22:28:38 +08:00
jxxghp
617692616c fix: build complete transfer result at source 2026-05-20 22:09:57 +08:00
jxxghp
014dc2884c fix: simplify audiences unread pagination 2026-05-20 21:43:20 +08:00
jxxghp
284c272001 fix: improve audiences message pagination 2026-05-20 21:30:14 +08:00
jxxghp
7cc037c683 fix: suppress garbled gzip bytes in tmdb error log
When Content-Encoding is present (e.g. gzip), skip logging the raw
response text to avoid unreadable binary output in logs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 18:08:10 +08:00
jxxghp
068d0af4ca fix: remove tmdb manual gzip fallback 2026-05-20 17:09:31 +08:00
jxxghp
8f117d79f2 Revert "fix: handle tmdb gzip json responses"
This reverts commit 47c4e84fdd.
2026-05-20 17:03:47 +08:00
jxxghp
47c4e84fdd fix: handle tmdb gzip json responses 2026-05-20 16:54:01 +08:00
jxxghp
e00aa42f94 fix: prevent duplicate transfer uploads 2026-05-20 16:39:07 +08:00
jxxghp
72ead2970c fix: tolerate delayed OpenList metadata 2026-05-20 15:53:56 +08:00
jxxghp
3ec0964a01 fix: handle OpenList delayed transfer metadata 2026-05-20 13:08:45 +08:00
jxxghp
a5745af484 fix: restore tmdb trending recommendations 2026-05-20 10:55:01 +08:00
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
InfinityPacer
9e0846961f feat(filemanager): add TransferRenameBuild chain event and fix TemplateContextBuilder concurrency (#5792) 2026-05-20 09:41:42 +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
7866aee1de fix: stop torrent search paging after short pages 2026-05-19 17:54:39 +08:00
XiaoChao Fang
cdddd8e080 fix: preserve tv bluray disc folders (#5788) 2026-05-19 16:42:23 +08:00
jxxghp
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
jxxghp
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
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
ca0127cc87 fix: adapt site imdb search urls 2026-05-17 11:43:50 +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
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