Commit Graph

2074 Commits

Author SHA1 Message Date
jxxghp
512bd102ea fix(smb): clear stale state before reconnecting storage 2026-09-29 23:35:36 +08:00
InfinityPacer
6fc2c535f7 fix(cache): close shared redis pool once and keep redis caches across restarts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 20:56:12 +08:00
InfinityPacer
810ee2896f perf(startup): compose redis cache and agent memory only when used
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 20:07:34 +08:00
jxxghp
d1899c465b fix(plex): sync music items with optional metadata (#6814) 2026-09-29 07:04:06 +08:00
jxxghp
e98e92e208 feat(telegram): route channel notifications to configured topic 2026-09-29 07:02:24 +08:00
Aqr-K
f4a68f360d fix(indexer): 站点搜索兜底失败信息附带状态码与页面标题 (#6819) 2026-09-29 06:57:10 +08:00
jxxghp
e2f925af71 fix: avoid Plex sync detail reloads and preserve cache on read failure 2026-09-28 06:57:38 +08:00
InfinityPacer
313f894052 perf(memory): import storage and passkey SDKs on demand
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 03:46:22 +08:00
InfinityPacer
dc52317b51 fix(cache): keep binary blob caches out of Redis
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 02:24:40 +08:00
jxxghp
4264aef480 fix(emby): use series identity in TV webhooks 2026-09-26 15:15:33 +08:00
jxxghp
811f524b7f fix(vocechat): route channel replies using configured ID 2026-09-26 09:21:59 +08:00
jxxghp
61179abada fix(plex): retry paged media library reads 2026-09-25 12:04:10 +08:00
jxxghp
58bb4961af fix: bound downloader connection retries for v3.0.8 2026-09-23 18:13:39 +08:00
jxxghp
05a53657a6 fix(indexer): parse PterClub seeding stats 2026-09-23 16:15:19 +08:00
jxxghp
1422f41c6c fix(indexer): paginate M-Team seeding statistics 2026-09-23 15:45:52 +08:00
jxxghp
150f6b2675 Reapply "fix: omit invalid episode TMDB IDs from NFO"
This reverts commit 8710c2e242.
2026-09-23 07:33:24 +08:00
jxxghp
8710c2e242 Revert "fix: omit invalid episode TMDB IDs from NFO"
This reverts commit c6ccb5efdb.
2026-09-23 07:31:02 +08:00
jxxghp
c6ccb5efdb fix: omit invalid episode TMDB IDs from NFO 2026-09-23 07:27:36 +08:00
jxxghp
aeaf473ebd fix(indexer): support UUID user ids and fix hhanclub bonus (#6753, #6754)
- NexusPHP v1.10+ 站点以 userdetails.php?uuid= 标识用户,解析 UUID 用户标识,
  做种列表接口改用 useruuid 参数请求
- 憨憨等站点的魔力值嵌在 mybonus 链接内部,优先解析链接文本与链接后文本,
  兜底容器限制为临近且文本紧凑,避免误取公告等大段文本中的无关数字
2026-09-22 13:35:43 +08:00
Opportunity
3114161166 fix(indexer): parse common PTTime user level (#6757) 2026-09-22 11:24:05 +08:00
moviepilot-codex[bot]
36e2e42fda fix(indexer): preserve parser type ratchet 2026-09-21 19:11:32 +08:00
moviepilot-codex[bot]
1ab94877d7 fix(indexer): parse PTTTime user data correctly 2026-09-21 18:55:59 +08:00
jxxghp
2e578a69ee fix(notification): prevent untyped message broadcasts 2026-09-20 11:32:40 +08:00
jxxghp
fc0101a64e fix(imdb): handle null seasons response 2026-09-19 17:38:36 +08:00
HDDolby
4a22760bb4 Skip requests when userid invalid (#6723) 2026-09-18 10:35:58 +08:00
jxxghp
4e9a64c0f0 refactor(application): 按模块子目录统一文件命名 2026-09-15 23:57:06 +08:00
jxxghp
61b0ae951f refactor(application): 拆分消息渠道权限 2026-09-15 23:57:06 +08:00
jxxghp
4a777f1410 fix: 补齐 Bangumi 客户端类型标注 2026-09-15 07:53:44 +08:00
jxxghp
ee6393974a feat: 内置 Bangumi 数据与图片代理 2026-09-15 07:42:18 +08:00
jxxghp
53e0c6c5c0 fix(transmission): normalize parsed torrent year type 2026-09-14 21:11:05 +08:00
jxxghp
6d82f44fc8 fix(music): split core recognition and organization optimizations (#6686) 2026-09-14 13:04:58 +08:00
jxxghp
9724305a03 fix(imdb): handle null episode fields 2026-09-14 12:42:54 +08:00
jxxghp
c868faf0cf fix(synologychat): skip unsupported command menu registration 2026-09-13 14:22:59 +08:00
jxxghp
8072b7d78f Refactor application architecture and compatibility boundaries 2026-09-13 12:53:00 +08:00
jxxghp
990e3ac3ae fix(module): enhance documentation for transfer plan checkpoint method parameters 2026-09-13 12:38:20 +08:00
jxxghp
765b185d42 fix(module): add preview parameter to transfer plan checkpoint method 2026-09-13 12:33:50 +08:00
jxxghp
5f050f35b6 fix(jellyfin): fallback when collection type is missing 2026-09-13 11:11:40 +08:00
jxxghp
4d4327e25a fix(site): report unauthenticated userdata refresh failures 2026-09-12 21:19:58 +08:00
jxxghp
49cc9bc63c fix(transfer): guide manual review recovery in logs 2026-09-12 12:03:14 +08:00
jxxghp
404a737047 feat(ugreen): 支持 9443 媒体库服务账号 2026-09-12 08:39:17 +08:00
jxxghp
ae1187bd3f feat(module): add dynamic module switches and catalogs 2026-09-11 10:31:53 +08:00
jxxghp
d32d17568a fix(runtime): apply configuration changes without restart 2026-09-11 00:12:05 +08:00
thsrite
2b4ba9c927 fix(mediaserver): 翻页按总数收敛,剧集定位命中即返回
按代码审查意见再修两处,都与上一轮引入的关键字翻页有关:

- 末页恰好装满时仍会多请求一页。响应里已带可靠总数,改为累计条数达到总数即
  结束,只有没有总数时才按页是否满额判断;那次多余请求一旦失败,会把完整结果
  误报成服务不可达
- 按标题定位剧集先把所有页读完再检查匹配,第一页已命中的目标会因后续页请求
  失败而返回不可达,比改动前更差;改为逐行检查、命中即返回,只有在命中前中断
  才报告不可达

补 2 条回归,均已确认在修正前失败。
2026-09-10 17:59:08 +08:00
thsrite
963a80788e fix(mediaserver): 翻页中途失败不再被当成查询结束
新增的关键字翻页逻辑只在第一页失败时返回 None,后续页面请求失败会让生成器
正常结束:get_movies 返回残缺列表、按标题定位剧集返回空串,等于把「连不上」
误报成「确定不在库中」,可能触发重复下载。

改为中途失败抛出私有异常并由调用方转成 None,恢复「连接失败返回 None、
未找到返回空结果」的区分;补 2 条回归,均已确认在修正前失败。
2026-09-10 17:35:27 +08:00
thsrite
429b0020be fix(mediaserver): 修正 MediaVault 图片凭据、查询截断、剧集类型与刷新短路
代码审查在 v2 移植版上发现四处缺陷,同样存在于本分支已合入的模块:

- 图片地址把管理面板的长效 API Key 拼进查询参数。该地址会随接口响应交给浏览器
  直接加载,等于把管理凭据下发到客户端,可被重放到 MediaVault 的全部管理接口。
  MediaVault 的媒体库图片为免鉴权资源,去掉该参数即可
- get_movies 与按标题定位剧集只读关键字查询的第一页,命中数超过单页上限时排在
  后面的目标会被误判为未入库;改为翻页直到取完
- 最新入库把 Series 条目标成电影,只有 Episode 被识别为电视剧;改为两者都映射为
  电视剧,「季:集 - 分集名」副标题仍只给分集
- refresh_library_by_items 把生成器交给 all(),首个媒体库排队失败就会短路,同批
  命中的其余媒体库收不到扫描任务;改为先全部发出请求再汇总

补 6 条回归测试;同时收紧测试替身:假 Api 改为复用真实的 image_url 实现,避免
自行拼装掩盖「图片地址不得携带凭据」这一约束。
2026-09-10 17:28:58 +08:00
jxxghp
554e7388b3 fix(music): keep shared search signatures compatible 2026-09-10 10:16:09 +08:00
jxxghp
02686ed674 feat(search): merge music artists into person search 2026-09-10 09:02:17 +08:00
jxxghp
53f7012b6b feat(music): add AMLL TTML lyrics source 2026-09-09 23:53:30 +08:00
jxxghp
17eaf47c34 refactor(music)!: remove Musixmatch and expose lyrics plugin types
BREAKING CHANGE: remove the Musixmatch module and settings without migration. Lyrics providers can use the public music candidate SDK and existing plugin module hook.
2026-09-09 23:04:20 +08:00
jxxghp
4da22fc471 fix(tmdb): bound rate-limit retries and clear stale quota 2026-09-09 14:18:24 +08:00