Commit Graph

1288 Commits

Author SHA1 Message Date
jxxghp
90d469c510 docs(site): add site API integration requirements 2026-11-04 13:31:54 +08:00
jxxghp
f9c010fc91 fix(plugin): preserve startup recovery transaction ownership (#7297) 2026-11-04 12:30:12 +08:00
jxxghp
565631f157 fix(mediaserver): paginate Emby family library synchronization (#7295)
* fix(mediaserver): paginate Emby family library synchronization

* fix(mediaserver): keep request client import type-only
2026-11-04 07:14:46 +08:00
freeman
68cfc377ee feat(history): register externally completed transfers (#7293) 2026-11-04 06:24:38 +08:00
MoviePilot Contributor
e550ec6dd8 fix(log): 文件日志保留异常堆栈 (#7286)
未捕获异常经 localized_unhandled_exception_handler 写入文件日志时只保留正文,异常三元组未进入文件写入链路,导致 moviepilot.log 丢失异常类型与堆栈。现将 exc_info 在调用方线程规范化为三元组并随 LogEntry 携带到文件格式化器。
2026-11-04 02:23:07 +08:00
@huluohu
9eaaf5f715 fix(subscribe): 整理入库后及时同步订阅事实以修复日历入库状态 (#7270) 2026-11-02 06:58:55 +08:00
jxxghp
83243d2418 fix: 限制插件生命周期准入并保留慢钩子所有权 (#7268) 2026-11-01 22:22:04 +08:00
SmallSpider
7f227857d8 fix: 修复 WebAgent 会话与选择状态 (#7266)
* fix(agent): preserve WebAgent session state

* test: separate subscription pressure coordination and owner waits

---------

Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-11-01 17:49:20 +08:00
SmallSpider
05050376ea fix(search): load diagnostics lazily and cover user context forwarding 2026-11-01 10:07:09 +08:00
SmallSpider
9ce3d7a292 feat(search): add scoped page diagnostics 2026-11-01 09:51:24 +08:00
jxxghp
e3e5184d42 fix(anilist): persist Chinese titles and use official API 2026-11-01 08:16:03 +08:00
jxxghp
ae6270e655 Merge pull request #7257 from qingyukb/codex/security-web-agent-file-owner 2026-10-31 22:08:06 +08:00
jxxghp
10e9ade7de fix(site): preserve text category IDs and replay resource configs 2026-10-31 17:25:29 +08:00
qingyukb
aea8cf11c4 fix: 按用户隔离 Web 智能助手临时附件 2026-10-31 17:04:21 +08:00
jxxghp
f5bd3458a6 fix(subscribe): restore strict media identity checks 2026-10-30 22:36:51 +08:00
jxxghp
d8fbabaa6a fix(apppush): preserve full notification text for web details 2026-10-30 16:52:58 +08:00
jxxghp
6ca7b294a0 fix(download): 共享站点流控并保留频控错误原因 (#7246)
* fix(download): share site limits and preserve frequency errors

* test(startup): record shared site throttle module
2026-10-30 14:53:32 +08:00
jxxghp
586a4f595e fix(transfer): settle tasks with missing metadata safely (#7245) 2026-10-30 14:34:07 +08:00
jxxghp
a9c992d9b9 fix(apppush): preserve posters in relay notifications (#7244) 2026-10-30 13:38:30 +08:00
jxxghp
9aab7c0f4c fix(agent): pin scheduled tasks to real execution accounts (#7241) 2026-10-29 22:39:08 +08:00
jxxghp
16cd9f75ed fix(apppush): deliver business notifications to all active users (#7235) 2026-10-29 21:43:18 +08:00
jxxghp
4f91c6be75 test(apppush): verify persisted channels survive restart 2026-10-29 19:15:38 +08:00
Cat
87561a90d1 fix(agent): route agent command receipts to the signed channel user (#7228)
- Agent 代渠道用户调用内部 API 时,把会话渠道与渠道用户写入宿主签发令牌的签名
  声明(agent_channel、agent_channel_user),不再新增可伪造的请求头。
- /commands/run 对 Telegram 等通知渠道只使用与请求渠道一致的签名渠道用户执行命令
  和投递回执;缺少该声明时明确拒绝,不再把 MoviePilot 用户表主键当作渠道 chat id。
  Web、WebAgent 与无渠道调用仍按 MoviePilot 用户 ID 处理。
- 只读公共资料借用宿主身份,不携带渠道发起人声明。
- 同步依赖基线与架构总览中的内部导入边数量。

Refs #7225

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-10-28 19:05:52 +08:00
Cat
252b702875 fix(site): keep redirect failures from aborting site requests (#7227) 2026-10-28 18:43:19 +08:00
jxxghp
d9afaba8dd feat(plugin): expose documentation before installation (#7222) 2026-10-27 21:37:00 +08:00
JontyLee
6e405a67b3 fix(cache): Redis 故障日志遮盖缓存键中携带的请求凭据 (#7220) 2026-10-27 20:54:42 +08:00
jxxghp
e9563b0346 perf(api): 合并卡片状态查询并减轻推荐轮询 (#7207) 2026-10-27 06:05:49 +08:00
Aqr-K
f84894faee fix(events): release handler ownership before notifying completion (#7206) 2026-10-27 05:43:57 +08:00
Aqr-K
8b2275592e fix(database): enforce SQLite secret-table access during execution (#7205) 2026-10-27 05:43:37 +08:00
Aqr-K
ae4833e261 fix(publish): pin plugin reads and writes to one commit (#7204) 2026-10-27 05:43:16 +08:00
Aqr-K
b94b1c1496 fix(media): invalidate album cache when CUE content changes (#7203) 2026-10-27 05:42:40 +08:00
Aqr-K
71c2e9e3df fix(storage): retain history until target cleanup is confirmed (#7202) 2026-10-27 05:42:07 +08:00
jxxghp
42edfd1da8 fix(api): bound collection views and query calendar dates (#7200) 2026-10-27 00:40:09 +08:00
jxxghp
1bf496d0f3 fix(api): enforce token authentication for subscription list
Refs #7198
2026-10-26 23:19:31 +08:00
Derrors
72d940b835 fix(storage): detect nested 115 changes with stale directory times
115 子项变化不保证推进祖先目录时间。禁用该存储的目录时间剪枝,沿用现有快照遍历、深度、分页及限流。补充 API 边界与真实轮询器回归,验证空基线、旧时间移入和重复派发。
2026-10-26 21:59:07 +08:00
JontyLee
0ba73f5b87 fix(database-operation): 拦截未显式授权的凭据配置表读取
systemconfig 按 SystemConfigKey 聚合实例级 API Key、Cookie 与口令,托管
config.system.get 默认脱敏,但数据库技能脚本与 MCP database_operation 接受
任意 SQL,一条 SELECT 就能整包取回明文。

现在由脚本本身按表拦截:引用 systemconfig 的语句(含引号标识符、模式限定名、
CTE 与子查询)在读写两种模式下都默认拒绝,只有显式 --show-secrets /
show_secrets=true 才放行,失败信息直接给出可执行的下一步,因此 MCP 工具、
技能调用与命令行入口共享同一道边界。宿主策略把开启该开关的查询判定为
SENSITIVE_READ:要求系统管理员确认,结果标记为 SECRET,回执摘要不再保留内容。

门禁范围收敛为单表:userconfig 只承载界面偏好,plugindata 是文档化的诊断路径,
其余表的凭据残留风险改由 SKILL.md 的窄投影要求约束,避免以不可绕过的方式破坏
既有可运维性。MCP 文档、技能说明与相关契约测试同步更新。
2026-10-26 20:20:16 +08:00
jxxghp
a11bc444f4 fix(ci): audit patched free-threaded brotli 2026-10-26 17:12:22 +08:00
JontyLee
f2918b9285 fix(scheduler): 让声明为不限时的协程任务预算真正生效
JobSpec.timeout_seconds 此前无法表达“显式不限时”:所有未声明预算的协程任务
一律补齐 SCHEDULER_JOB_TIMEOUT,订阅搜索队列因此被 3600 秒总时长判死,而它的
托管协程消费者无法靠取消收尾,只会把正常长轮次记成失败。现在收敛为三态语义
(正数为上限、0 为显式不限时、缺省继承默认),并修正 asyncio 超时异常 str()
为空导致的日志、系统通知与 SystemError 事件文本缺失。
2026-10-26 10:34:42 +08:00
jxxghp
8f21e12d75 fix(search): release unused site request reservations 2026-10-26 09:23:29 +08:00
jxxghp
d696ffc994 Merge remote-tracking branch 'origin/v3' into codex/issue-7187 2026-10-26 09:14:32 +08:00
jxxghp
53f455cac8 fix(resources): normalize GitHub proxy and retry downloads
Reuse the checked resource manifest within each download and retain phase-specific retry errors. Preserve application update error contracts.

Refs #7185
2026-10-26 09:04:54 +08:00
jxxghp
251513f580 fix(search): honor the actual site rate limit when deferring
Refs #7187
2026-10-26 09:02:20 +08:00
jxxghp
046d4758e6 fix(search): persist processed candidates across queue resumes
Refs #7183
2026-10-26 08:50:04 +08:00
jxxghp
86a1ca5e98 docs: align widget dependency count in architecture overview 2026-10-25 15:07:10 +08:00
jxxghp
d66b58c475 feat(widget): enrich system and combined media summaries 2026-10-25 14:53:54 +08:00
jxxghp
d5ecf2927c feat(widget): 显示下载上传速度和剩余磁盘空间 (#7177) 2026-10-25 11:28:36 +08:00
jxxghp
86ededa739 feat(widget): 增加当前主登录的只读账号上下文 (#7176) 2026-10-25 06:28:57 +08:00
jxxghp
721c03734a feat(widget): 提供受限凭据和只读快照接口 (#7175)
* feat(widget): add restricted read-only snapshot foundation

* test(widget): 补齐运行时与文档迁移契约
2026-10-25 06:02:47 +08:00
DDSRem
21af7a0170 fix(metainfo): exclude resolution tags from anime detection (#7173)
* chore: bump moviepilot-rust to 0.3.12

* fix(metainfo): exclude resolution tags from anime detection

保留年份并排除分辨率标签触发的伪季集,补充 Python 与 Rust 的标题和路径回归。补齐 0.3.12 wheel 锁,并定向修复 Brotli 与 setuptools 的依赖审计阻断。

---------

Co-authored-by: jxxghp <51039935+jxxghp@users.noreply.github.com>
Co-authored-by: jxxghp <jxxghp@gmail.com>
2026-10-24 21:01:23 +08:00
jxxghp
81260dc452 fix(notification): persist independent media posters 2026-10-24 19:11:27 +08:00