jxxghp
2149eb2a60
fix(download): provide fallback category for music torrents
...
Use the music media type as the downloader category only when music has no library classification. Preserve configured categories and qBittorrent automatic-management settings, with SDK-boundary regression coverage.
Refs #7028
2026-10-16 15:13:03 +08:00
jxxghp
8c59a89d57
fix(transfer): debounce monitored file success notifications ( #7026 )
2026-10-16 13:24:31 +08:00
jxxghp
7e24ce62c3
fix(plugin): restrict update badges to bound repositories
2026-10-16 12:29:20 +08:00
jxxghp
4955b7b9ea
fix: harden backend isolation and execution safety
2026-10-16 09:11:28 +08:00
InfinityPacer
9181ad2b65
feat(community): serve community medals from the Wiki registry behind remote switches
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 22:28:58 +08:00
jxxghp
ea60ed0fd6
feat(community): recognize GitHub contributions and honor levels
2026-10-15 12:11:36 +08:00
jxxghp
613eb5313b
feat(media): return parsed meta info when recognition fails
...
The recognize endpoint returned an empty context when no media matched,
so the recognition shortcut could not show the applied custom words or
the processed title, which made failures hard to diagnose. Always
return the parsed meta_info (including apply_words) and leave media_info
empty when the lookup fails.
Update the REST API docs and the generated agent skill note accordingly.
Refs #6997
2026-10-15 09:07:00 +08:00
jxxghp
48cffca3a1
feat(transfer): aggregate successful notifications by batch ( #6981 )
2026-10-13 17:21:17 +08:00
jxxghp
98bd038623
fix(music): reconcile album completion and prevent duplicate downloads
...
Recover complete release coverage from successful local transfers and audio tags/CUE before subscription searches. Keep release-group and album boundaries, and reject completed torrent hashes before downloader submission.
2026-10-13 17:05:57 +08:00
JontyLee
a94dac60a9
fix(music): fall back to tags when cue index is broken for split albums ( #6978 )
2026-10-13 15:32:19 +08:00
jxxghp
edc719596d
feat(update): prepare latest updates for a single restart
2026-10-13 12:50:01 +08:00
jxxghp
40711d2e32
fix(update): preserve pending update state across checks
...
Re-check the target state after a check request returns so a download or
install that started meanwhile cannot be overwritten.
When an older check already turned a staged resource package into
available, validate the complete staged files and their digests against the
same package version and restore ready, full progress and the install
entry instead of forcing a repeated download.
2026-10-13 09:19:37 +08:00
jxxghp
bd1e6eb899
fix(agent): separate public API queries from bound user operations
2026-10-12 07:30:35 +08:00
jxxghp
7a853577d8
fix(subscribe): preserve original execution log content
2026-10-12 06:58:01 +08:00
jxxghp
391f55df40
feat(subscribe): add isolated execution logs with authorized streaming ( #6963 )
2026-10-11 22:18:37 +08:00
jxxghp
63055f84d1
fix(download): recover omitted site credentials for torrent fetch
2026-10-11 07:36:54 +08:00
jxxghp
cb6bc02228
fix(agent): inherit deployment environment in Python kernels
2026-10-10 23:33:26 +08:00
jxxghp
cdb8d9df71
fix(api): sync v3 and complete agent media type compatibility
2026-10-10 12:22:57 +08:00
jxxghp
bb29451222
fix: isolate unhandled durable transfer failures
2026-10-10 12:17:07 +08:00
jxxghp
54f2daba06
fix(subscribe): stop automatic searches and downloads when paused
2026-10-09 12:00:18 +08:00
jxxghp
70811b551e
feat(music): optionally simplify written lyrics
2026-10-08 18:40:16 +08:00
jxxghp
f0b34cf9f5
fix(search): restore concurrent progressive manual paging
2026-10-08 11:57:10 +08:00
jxxghp
32d37fa8b4
feat(music): preserve per-task CUE recognition policy
2026-10-08 08:51:01 +08:00
ChantXu64
e5e2558585
feat(search): 订阅补全逐页搜索、断点续搜与资源页手动分页 ( #6907 )
2026-10-07 14:40:55 +08:00
jxxghp
e51fd44964
fix(agent): resolve alternative QQ and Feishu user bindings
...
Keep strict binding lookup as the default and explicitly match alternative channel identifiers for the Agent API gateway. Reject ambiguous active-user matches and cover single-field bindings with database-backed tests.
Refs #6905
2026-10-07 09:16:33 +08:00
Freeman
4c994c993f
docs(download): document directory aliases for save_path
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-10-06 15:30:29 +08:00
jxxghp
791bcc00c0
fix(subscribe): persist cleared optional settings
...
Preserve explicit empty values for recognition words, keywords, paths, episode groups, downloaders, and audio thresholds. Add endpoint and persisted transaction regression coverage and document the update contract.
Refs #6894
2026-10-05 17:54:29 +08:00
jxxghp
fb652c74f4
fix(music): 支持关闭 CUE 识别整理分轨音频
2026-10-05 17:15:14 +08:00
jxxghp
ad4c92da9e
Merge branch 'v3' into fix/media-scrape-manage-permission
2026-10-05 16:38:08 +08:00
LIN student
873c4c7087
fix(media): 刮削接口要求管理权限,与手动整理和文件管理保持一致
...
POST /api/v1/media/scrape/{storage} 只依赖 verify_token,任何登录用户都可
调用。该接口以 overwrite=True 调用刮削链,会覆盖目标目录已有的海报、背景图
和 NFO,音频文件还会改写标签;存储与路径完全由请求提供。
同类写操作 /transfer/manual、/transfer/manual/target-path、/storage/* 以及
整理记录的写操作都要求 manage 权限;前端只在文件管理页(需 manage 权限)
调用该接口,Agent 策略也已把 media.scrape 定为管理员操作。
现改为依赖 get_current_active_manage_user。_scrape_impl 内部没有使用令牌
载荷,去掉其中未使用的 Depends 参数。API_TOKEN/apikey 调用解析为 SUPERUSER
对应的超级管理员,行为不变。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-05 15:42:29 +08:00
LIN student
75d8b2e441
fix(system): 公开设置不再返回存储的连接配置
...
/system/setting/public/{key} 只要求登录用户,白名单中的 Storages 原样返回
整个存储列表,每项的 config 保存着各存储的连接配置和凭据(SMB 用户名密码、
alist 账号、115 token 等)。设置合同已将 Storages 标记为 sensitive,
/system/settings 默认会脱敏,只有这个公开接口直接返回原值。
前端 v3 已改用 /storage/options 读取存储名称和类型,公开接口的 Storages
目前只剩 Agent 的 config.public.get 和旧版前端页面会用到,它们只需要
name、type。因此保留该 key,改为与 /storage/options 相同的投影:只返回
name(缺省时取 type)和 type,跳过没有 type 的项。所有调用者返回相同
结果,超级管理员仍可通过 /system/setting/Storages 读取完整配置。
白名单内其他配置(目录、站点范围、集数定位规则、默认订阅规则、Follow
订阅者)不含连接凭据,保持原值返回。同步更新 docs/mcp-api.md 的接口说明。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-05 15:42:28 +08:00
jxxghp
d8031e29a8
fix(agent): guide captcha OCR failures to browser vision
2026-10-04 09:19:29 +08:00
jxxghp
4d74d4c2e9
fix(agent): route API calls to the local backend ( #6875 )
2026-10-04 09:05:33 +08:00
jxxghp
754da97d97
fix(music): apply simplified metadata to manual transfers
...
Normalize album details and final music template fields while preserving local edition evidence, multi-artist credits and source objects. Refs #6870 .
2026-10-04 08:47:15 +08:00
jxxghp
5f596484b4
fix(classification): prepare policy-specific facts and refine defaults
2026-10-02 14:14:09 +08:00
jxxghp
d206430dee
fix(agent): make project runtime the default Python command
2026-10-01 17:31:29 +08:00
jxxghp
56b599f5d4
fix(agent): honor project runtime Python entry
2026-10-01 16:55:53 +08:00
jxxghp
60cf52b246
fix(agent): bind CLI commands to project virtualenv
2026-10-01 12:33:10 +08:00
jxxghp
3a1abca44d
merge: resolve v3 conflicts for vyo rename
2026-09-30 20:55:43 +08:00
jxxghp
f803e6cc5c
feat(agent): add persistent Python read-only orchestration
2026-09-30 20:16:53 +08:00
thsrite
4395ddecf2
feat(mediaserver): 内置媒体服务 MediaVault 更名为 Vyo
...
主项目更名为 Muvyo,内置媒体服务更名为 Vyo。模块目录、文件、类名、模块 ID、枚举、
名称描述、日志与文档统一改为 Vyo;配置类型值 mediavault 保持不变,
已保存的媒体服务器配置无需迁移。
2026-09-30 19:46:09 +08:00
jxxghp
dc0ad842fb
fix(agent): make API input errors actionable
2026-09-30 19:16:35 +08:00
InfinityPacer
8f9754b5f8
feat(api): serve API docs behind a runtime toggle, closed by default
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-30 18:03:37 +08:00
jxxghp
b6f3d37bd1
fix(agent): preserve bound subscription owner for channel users
2026-09-30 17:49:45 +08:00
jxxghp
864ac1892e
feat(agent): align background learning with Hermes
2026-09-30 17:45:39 +08:00
jxxghp
47d51c3630
feat(agent): align history recall with Hermes SQLite FTS5
2026-09-30 16:28:39 +08:00
jxxghp
8fbf1cbe54
feat(music): honor explicitly selected release editions
2026-09-30 14:46:48 +08:00
jxxghp
104d8028e8
feat(music): expose recognition evidence and release groups in transfer previews
2026-09-30 14:11:07 +08:00
jxxghp
2ebb3c7ad1
fix(music): read and write native ASF metadata safely
2026-09-30 13:27:22 +08:00
jxxghp
0833169781
fix(smb): restore multi-share capacity and diagnose unmapped paths
2026-09-30 13:12:25 +08:00