jxxghp
c5d5698e04
feat(agent): complete moviepilot api contracts
2026-09-11 07:21:05 +08:00
jxxghp
00150bb87f
refactor(agent): default delegation to general subagent
2026-09-11 06:09:04 +08:00
jxxghp
72aabe12f9
refactor(agent): keep WebAgent stream within complexity budget
2026-09-11 05:52:09 +08:00
jxxghp
abd3cea92b
feat(agent): queue steering input during active runs
2026-09-11 05:17:37 +08:00
jxxghp
66d288ffc2
feat(agent): isolate terminal task ownership
2026-09-11 03:12:16 +08:00
jxxghp
d32d17568a
fix(runtime): apply configuration changes without restart
2026-09-11 00:12:05 +08:00
jxxghp
f383a8a5a3
feat(agent): 接入媒体自动分类策略 API
2026-09-10 22:36:50 +08:00
jxxghp
171cc9b973
fix(schemas): 规范 import 格式并简化 MetaInfo 属性定义
2026-09-10 20:33:47 +08:00
jxxghp
e857e2cf04
fix(schemas): 保持内部导入为私有,避免 MetaBase.to_dict 导出无 setter 属性
2026-09-10 20:23:31 +08:00
jxxghp
60a95090b6
fix(workflow): 工作流添加下载支持 MetaInfo.season_list ( #6637 )
2026-09-10 20:13:04 +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
acfa5eee72
fix(history): suppress failure feedback on successful records
2026-09-10 11:51:08 +08:00
jxxghp
20d1aa2b49
feat(agent): align terminal shell and input control semantics
2026-09-10 11:00:24 +08:00
jxxghp
4972a3cdea
fix(ci): close post-merge mypy regressions
2026-09-10 10:19:16 +08:00
jxxghp
554e7388b3
fix(music): keep shared search signatures compatible
2026-09-10 10:16:09 +08:00
jxxghp
4deb5cc408
fix(ci): refresh post-merge quality baselines
2026-09-10 09:58:08 +08:00
jxxghp
8cf7d73ad2
Merge pull request #6634 from dogodefi/codex/music-artist-collection-organize
2026-09-10 09:47:00 +08:00
jxxghp
0a43a307c4
fix(ci): restore architecture gate parity
2026-09-10 09:45:58 +08:00
jxxghp
fcc83e6bbe
fix(servarr): restore sync subscription lookup ( #6635 )
2026-09-10 09:29:17 +08:00
jxxghp
02686ed674
feat(search): merge music artists into person search
2026-09-10 09:02:17 +08:00
yanjunpu
c6c7a1d621
feat: support artist collection downloads
2026-09-10 04:18:06 +08:00
jxxghp
21e154d6d2
feat(agent): deliver browser screenshots as model-visible images
2026-09-10 02:17:01 +08:00
jxxghp
02d528310b
fix(db): release worker capacity before publishing results
2026-09-10 00:29:09 +08:00
jxxghp
c92483d2a8
feat(agent): stream terminal output with resumable cursors
2026-09-10 00:29:09 +08:00
jxxghp
53f7012b6b
feat(music): add AMLL TTML lyrics source
2026-09-09 23:53:30 +08:00
jxxghp
c3db7531f8
fix(agent): report command outcomes and clean up cancelled runs
2026-09-09 23:06:28 +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
7548ad0c53
feat(transfer): 手动整理支持 skip_success 跳过已成功记录
...
- 新增 skip_success 参数,规划前过滤已有成功整理历史的文件项
- 提取 _has_successful_manual_transfer_history 统一成功历史检测
- 重构 _get_successful_manual_transfer_histories 合并目录/文件查询路径
- 提取 _deduplicate_fileitems 去重逻辑为独立函数
- _TransferSubmissionCollector 增加跳过计数与回执展示
- 预览与执行共用候选范围,失败项保留重试规则
- 补充覆盖单选/多选/历史入口及混合目录的完整测试
2026-09-09 22:18:21 +08:00
ranzhigg
69d4a15571
fix(plugin): preserve binary files in fallback downloads
...
Write file-list plugin payloads as raw bytes in both sync and async paths so wheel archives remain valid after Release fallback. Add a regression test covering binary payload preservation.
Co-authored-by: Codex <codex@openai.com >
2026-09-09 21:17:06 +08:00
jxxghp
deff3795b4
fix(agent): enforce read-only subagent tool actions
2026-09-09 21:03:48 +08:00
jxxghp
54a7367462
fix(transfer): report durable submission outcomes per file
2026-09-09 20:54:20 +08:00
jxxghp
5fa5b414aa
feat(agent): harden tool outcomes, recovery and discovery
2026-09-09 19:55:21 +08:00
jxxghp
c0ed78e168
feat(agent): strengthen planning, tool discovery and recovery
2026-09-09 19:37:11 +08:00
jxxghp
022dd006a5
fix(transfer): allow manual reorganization after stale task failures
...
Refs #6625
2026-09-09 17:53:24 +08:00
jxxghp
22e3b197c5
Merge pull request #6627 from InfinityPacer/fix/rss-complexity-gate
...
重构:统一 HTTP URL 校验并修复 RSS 复杂度门禁
2026-09-09 17:31:26 +08:00
InfinityPacer
b6fe6998eb
refactor(url): centralize HTTP URL validation in UrlUtils
2026-09-09 17:30:03 +08:00
yanjunpu
340bafbdaa
test: align music library status with media existence contract
2026-09-09 17:01:11 +08:00
yanjunpu
395eb3616e
fix: validate music library status sources
2026-09-09 17:01:11 +08:00
yanjunpu
ee1a37a2ac
feat: add music library status endpoint
2026-09-09 17:01:11 +08:00
InfinityPacer
a13d13aeba
fix: 原子合并订阅搜索任务并跳过无效 RSS 地址 ( #6626 )
...
* fix(subscription): coalesce active search tasks with atomic upsert
* fix(rss): skip invalid feed URLs before network access
2026-09-09 17:00:50 +08:00
jxxghp
5a214afc19
fix(subscribe): keep scheduled searches progressing across site retries
2026-09-09 16:45:42 +08:00
jxxghp
658cd4a9be
fix(music): preserve track identity and normalize resource metadata
2026-09-09 15:52:16 +08:00
jxxghp
ca01cceed1
fix(server): use HTTP/1.1 for central service requests
2026-09-09 14:40:56 +08:00
jxxghp
4da22fc471
fix(tmdb): bound rate-limit retries and clear stale quota
2026-09-09 14:18:24 +08:00
jxxghp
294fe3b36c
fix(agent): preserve multiline Telegram tool quotes
2026-09-09 13:49:30 +08:00
jxxghp
9e1c25124b
fix(transfer): restore regression and architecture gates
2026-09-09 13:40:35 +08:00
jxxghp
66fcaf561e
Merge remote-tracking branch 'origin/v3' into v3
2026-09-09 13:17:47 +08:00
jxxghp
ce690b1140
feat(transfer): add failure stage, recovery action, retry count, and cleanup status to transfer history
2026-09-09 13:17:36 +08:00