Commit Graph

2246 Commits

Author SHA1 Message Date
Estrella Pan
e037641427 fix(webui): 下载器量到宽度后再渲染表格,e2e 适配向导过渡与 ab-alert
- 下载器:首帧不再先显示全部列再收起(1024–1119px)
- e2e:向导步骤 out-in 过渡,等通知步骤出现后再点第二个跳过
- e2e:偏移提示改用 ab-alert(role=alert),选择器随之调整
2026-10-22 20:09:01 +02:00
Estrella Pan
087dbedaa1 fix(webui): 补修复验报告的低严重度问题,e2e 密码框精确匹配
- 插件市场:键值表标签列宽、分类 Tab 底线通栏、手机列表动画只在从详情返回时播放、
  插件不存在时手机页面标题
- 下载器:操作栏出现/消失时高度平滑过渡;640–767px 去掉下载速度列;
  桌面按可用宽度依次去掉做种/下载、ETA、上传速度,不再横向滚动
- 日志:手机级别筛选改为两列网格
- 空状态步骤序号与标题左对齐(role="list")
- 向导确认页、设置页标签列表、种子列表选中描边、手机搜索筛选区随结果滚动
- e2e:设置向导的密码框多了显示/隐藏按钮,getByLabel('Password') 改为精确匹配
2026-10-22 19:48:51 +02:00
Estrella Pan
0d97ae0098 fix(webui): 全界面 UI 审查修复:按钮与文字对齐、动画、布局错乱
用 Playwright 在桌面/平板/手机、浅色/深色、中英文下截取全部页面与弹窗,
由干净上下文的审查者逐张检查,共修复 122 个问题(高严重度 12 个)。

- 布局:手机搜索结果行、矮屏登录页与向导、下载器表格响应式、日历长标题撑破网格、
  深色模式下 Passkey 列表与种子复选框不可见、设置页新下载器行对齐
- 对齐:向导、登录页、添加 RSS 改用 ab-input / ab-button,控件高度与圆角统一
- 动画:向导步骤、插件页离场、归档区折叠、插件选项展开等过渡不再跳动或闪烁
- 日历:触屏上看不见的取消置顶按钮不再可点
- 私有弹窗改用 ab-modal;更新说明改用 renderMarkdown(链接只接受 http(s))
- 空状态步骤样式合并到 global.scss
2026-10-22 19:34:57 +02:00
Xingyu (Estrella) Pan
e466c669a3 Merge pull request #1149 from EstrellaXD/docs/4.0-screenshots
docs: 4.0 截图重拍(中英分开)并修复重命名在 qB 文件列表失败时整轮中断
2026-10-22 09:17:07 +02:00
Estrella Pan
4bcc6443fd docs: 用 4.0 界面重拍文档截图,中英文分开,新增插件与下载器截图
- 25 张截图按 4.0 界面重拍(1280x800):中文站用 zh-CN 界面,en/ja 站用 docs/public/image/en/ 下的英文界面
- 首页预览图按站点语言切换
- 新增下载器页、插件市场、插件配置、插件设置 4 张截图
- 修正文档:插件目录在插件市场页;API 令牌在用户与访问控制中管理(security.login_tokens/mcp_tokens 为启动时导入的旧项);默认搜索源含 anibt
2026-10-22 09:10:54 +02:00
Estrella Pan
a8e75d1239 fix(webui): 下载器状态列加宽到 130px,英文 Downloading 不再被截断 2026-10-22 09:10:54 +02:00
Estrella Pan
c11be99aa8 fix(downloader): qB 文件列表请求失败时返回空列表,不再让整轮重命名失败
任务在 torrents/info 与 torrents/files 两次请求之间被删除时,qB 返回 404 纯文本,
resp.json() 抛错导致所有任务都不重命名;返回错误对象时(如 fake-qb 的 501)又被当成
文件列表遍历。现在非 2xx 记一条警告并返回 [],重命名器按“无媒体文件”跳过该任务。
2026-10-22 09:10:54 +02:00
Estrella Pan
27af6a8b71 chore(release): 准备 4.0.0-beta.7 4.0.0-beta.7 2026-10-22 06:20:37 +02:00
Xingyu (Estrella) Pan
bf26306535 Merge pull request #1148 from EstrellaXD/fix/mobile-ui-polish
fix(webui): 手机端界面溢出与重叠修复(22 项)
2026-10-22 06:20:15 +02:00
Estrella Pan
7b5258629f fix(webui): 跨断点时关闭通知面板;下载器手机规则改为 width < 640px,与 JS 断点一致 2026-10-22 06:14:04 +02:00
Estrella Pan
f0bbba8032 fix(webui): 手机端评审修正——插件市场分类下划线与焦点框不再被裁、通知抽屉去嵌套滚动并补无障碍名称、WebKit 隐藏 summary 原生箭头、仅 Windows 路径按反斜杠分组 2026-10-22 06:10:42 +02:00
Estrella Pan
ce756d87cc fix(webui): 手机端界面溢出与重叠——顶栏、通知面板、底部导航、规则编辑、RSS、日历、下载器、插件市场与设置页 2026-10-22 06:01:55 +02:00
Xingyu (Estrella) Pan
3d2a0eae6c Merge pull request #1147 from EstrellaXD/plugins/list-apprise
feat(plugins): 上架 Apprise 通知插件
2026-10-21 21:45:55 +02:00
Estrella Pan
28a718566c feat(plugins): 补上 apprise-notifier 的 sha256 2026-10-21 21:39:50 +02:00
Estrella Pan
a8958ace9d feat(plugins): 插件市场上架 apprise-notifier 2026-10-21 21:38:57 +02:00
Estrella Pan
30b69dd00d feat(plugins): apprise-notifier 作者加入 LTSlw (#942) 2026-10-21 21:38:57 +02:00
Estrella Pan
cfff05d38d chore(release): beta.6 更新日志加入 #1145 4.0.0-beta.6 2026-10-21 13:17:34 +02:00
Xingyu (Estrella) Pan
512e63b05c Merge pull request #1146 from EstrellaXD/fix/1145-login-message
fix(webui): 登录成功后不跳转、需要刷新 (#1145)
2026-10-21 12:59:47 +02:00
Estrella Pan
8063a8aa46 fix(webui): 消息 API 改为模块加载时创建,修复登录成功后不跳转 (#1145) 2026-10-21 12:53:45 +02:00
Estrella Pan
fd24d1b830 chore(release): 准备 4.0.0-beta.6 2026-10-21 12:50:09 +02:00
Xingyu (Estrella) Pan
db6ba39d3f Merge pull request #1144 from EstrellaXD/plugins/list-four
feat(plugins): 上架 run-command、strm-writer、Synology Chat、Slack 插件
2026-10-21 11:42:39 +02:00
Estrella Pan
478d48556a feat(plugins): 补上四个登记条目的 sha256 2026-10-21 11:37:20 +02:00
Estrella Pan
fa88482372 feat(plugins): 插件市场上架 run-command、strm-writer、synology-chat-notifier、slack-notifier 2026-10-21 11:35:58 +02:00
Xingyu (Estrella) Pan
bd3ed917c3 Merge pull request #1143 from EstrellaXD/feat/notifier-plugins
feat(plugins): 7 个官方示例插件(WPUSH、OneBot、Apprise、运行外部命令、STRM、Synology Chat、Slack)与 Bark 参数
2026-10-21 11:35:46 +02:00
Estrella Pan
f2d93993f4 fix(plugins): apprise 的 urls 改为单个字符串秘密字段,回退 secret_field 的 default_factory
宿主只按位置还原列表型秘密的掩码,删除首个 URL 会保留错误的值;
插件注册表 CI 用基线分支的 ab_sdk 校验,插件不能依赖同一 PR 中的 SDK 改动。
2026-10-21 11:28:07 +02:00
Estrella Pan
667f769a2d fix(plugins): 处理 Codex 审查的六个问题
- apprise:urls 含令牌,改为 secret_field;secret_field 支持 default_factory,可声明列表 / 字典秘密字段
- run-command:stderr 改为自建管道边读边丢,只保留最后 2000 字节;完成仍只看 proc.wait(),结束后给读取 0.5 秒再关闭管道
- run-command:{files} 按原始路径列表展开,含换行的路径不再拆成两个参数
- 通知:插件渠道 extra 里的已声明字段与内置渠道一样展开 $VAR
- slack:只在 HTTP 400 invalid_blocks 时退回纯文字重试,其它失败不重发
- onebot:先发文字,再单独发海报;结果只看文字,去掉重试
- strm-writer:media_root 为 "/" 时正确映射完整路径
2026-10-21 11:26:23 +02:00
Estrella Pan
81bbf9c71d fix(plugins): 审查修复——示例插件与通知渠道的若干问题
- run-command:等待进程退出而不是等 stderr 关闭(后台子进程不再导致误判超时),
  stderr 写临时文件取末尾;只替换整项为 {字段} 的参数,{files} 展开为每个文件
  一个参数,夹带的占位符原样保留;不把宿主自己的 AB_* 环境变量传给命令;README
  说明脚本从 AB_* 环境变量读取事件数据
- strm-writer:路径规范化后为媒体根目录本身(. / ..)时跳过,不再写出 STRM 目录之外的文件
- slack-notifier / onebot-notifier:带海报发送失败时去掉图片只发文字重试一次
- wpush-notifier / onebot-notifier:非 2xx 时报告 HTTP 状态,响应不是 JSON 时不再报解析异常
- 插件通知渠道的 extra 包含已填写的已声明字段(group、icon 等),不只是 model_extra
- 新增通知渠道时切换类型会清掉上一类型的字段,避免 Bark 带上残留的 Webhook URL
2026-10-21 11:05:59 +02:00
Estrella Pan
4b739bcfc3 Merge remote-tracking branch 'origin/4.0-dev' into feat/notifier-plugins 2026-10-21 10:46:28 +02:00
Estrella Pan
f3d42b8f91 chore(release): 准备 4.0.0-beta.5 4.0.0-beta.5 2026-10-21 10:36:07 +02:00
Xingyu (Estrella) Pan
19d1fe5795 Merge pull request #1142 from EstrellaXD/fix/4.0-beta5
fix: 4.0.0-beta.5 问题修复(#1138 #1082 #1072 #1113 等)
2026-10-21 10:36:04 +02:00
Estrella Pan
b592d6cb0d fix(backend): 连载番剧只超出集数时照常标记并只通知一次,此类标记不随复扫清除 (#1072)
- offset_scanner: 去掉“建议偏移全为 0 且未完结不标记”的跳过;已标记番剧复扫无不匹配时,只清除建议偏移非 0 的标记,只超出集数的标记由用户忽略或应用(与 3.3 一致)
- 测试:连载番剧首扫标记并通知、复扫不再通知、TMDB 跟上后只超出集数的标记保留而季度不匹配的标记清除;复扫测试的旧标记改为真实不匹配
2026-10-21 10:29:25 +02:00
Estrella Pan
1dda39f2d5 fix: 审查修复——启动时一次性去掉旧搜索订阅关键词里的集号 (#1138)、回退到 none 的轮次不为路径未变的文件建记录、路径未变的完成记录在任务从下载器删除后清理 (#1082)
- migrations:Migration 新增 data_step,在同一 SAVEPOINT 内执行一次性数据修复;v28 按番剧 season_raw 改写搜索源 URL 的关键词参数,并同步番剧 rss_link
- revision_saga:选定策略未登记时,路径未变的文件不建操作记录也不通知,策略恢复后的那一轮再记录并通知
- rename_operation:prune_done 按本实例当前任务清理路径未变的过期 done 记录,任务列表为空时不清理
2026-10-21 09:53:47 +02:00
Estrella Pan
81cbc549b0 fix: 审查修复——连载番剧只超出集数不再每周误报、仍不匹配时更新原因、未完结剧集 TMDB 缓存 24 小时过期、无法滚动时不判触底、路径未变的完成通知按本轮实际策略发送、season_raw 只存季的写法、已归档番剧不列入待检查、复制令牌按真实结果提示
- offset_scanner: 建议偏移全为 0 且剧集未完结时不标记不通知;已标记仍不匹配时更新原因与建议偏移(不再通知)
- tmdb_parser: 除 Ended/Canceled 外的状态都按 24 小时过期
- renamer: 路径未变时的通知改由本轮解析出的策略是否为选定策略决定,不再读 NO_RENAME 设置
- tokenizer: season_raw 只记 S03 / Season 2;搜索端保留正则处理旧数据并补上 EPs 写法 (#1138)
- bangumi: get_needs_review 排除已归档番剧
- webui: isAtBottom 移入 scroll-spy 并要求容器可滚动;搜索确认弹窗复制启用 legacy;新增 copyText,令牌复制失败时报错
- 删除只断言 SQL 语句形态的测试
2026-10-21 09:16:01 +02:00
Estrella Pan
415154be3d Merge branch 'feat/more-plugins' into feat/notifier-plugins
# Conflicts:
#	backend/src/test/test_plugin_examples.py
#	docs/dev/plugins/examples.md
2026-10-21 09:13:47 +02:00
Estrella Pan
f1dd439fbe feat(notification): Bark 支持铃声、分组、中断级别、图标与点击地址;插件权限新增「运行外部命令」
- Bark 渠道新增可选字段 sound、group、level、icon,并复用 url 作为点击打开的地址;
  只发送已设置的项,旧配置的请求体不变;配置了 icon 时优先于海报地址(#792)
- 测试接口 /notification/test-config 透传新字段;通知设置表单加上对应输入框
  与 level 下拉框,并更新三语言的通知配置文档
- 插件权限标签新增 subprocess(运行外部命令),仅用于展示
2026-10-21 09:09:43 +02:00
Estrella Pan
8312f47769 feat(plugins): 新增 run-command、strm-writer、synology-chat-notifier、slack-notifier 示例插件
- run-command:torrent.organized / file.renamed 后运行外部命令,参数列表直接 exec,
  事件字段以 AB_* 环境变量与 {占位符} 传入,超时终止(#897、#668)
- strm-writer:按媒体目录结构写 .strm,内容为地址前缀加相对路径(#428)
- synology-chat-notifier:Synology Chat 传入 Webhook,payload= 表单 JSON(#887)
- slack-notifier:Slack Incoming Webhook,带海报时附图片块(#277)
2026-10-21 09:08:56 +02:00
OctoBored
111cdacf13 docs: point star history chart to a working data source
The star history chart in the README has been broken for a while due to GitHub's stargazer API restrictions, so visitors no longer see an up-to-date chart. Update the chart image and link to a working mirror at star-history.dera.page so the graph renders correctly again. The chart was originally added in e9367e3.
2026-10-21 08:54:46 +02:00
Estrella Pan
403cf94572 feat(plugins): 新增 WPUSH、OneBot、Apprise 官方通知插件示例
- wpush-notifier:POST JSON 到 WPUSH 接口,code == 0 才算成功
- onebot-notifier:OneBot v11 私聊 / 群消息,可附带 poster_url 海报
- apprise-notifier:调用 Apprise API 服务器,支持 URL 列表与配置键
- 宿主加载测试与示例文档登记三个新渠道
2026-10-21 08:53:28 +02:00
Estrella Pan
6e6461febe fix(webui): 剩余 carbon 图标改为 Lucide、设置页导航高亮与滚动位置对齐(参考 #1119)、HTTP 下复制令牌回退到兼容方式 2026-10-21 08:47:35 +02:00
Estrella Pan
23a0c2e968 fix(backend): 搜索订阅关键词去掉集号 (#1138)、不重命名时完成通知只发一次 (#1082)、偏移误报在复扫无偏移时自动清除并让连载番剧的 TMDB 缓存 24 小时过期 (#1072)、按番剧批量删除种子 (#1113)、/posters 改用严格的目录包含判断 2026-10-21 08:47:35 +02:00
Estrella Pan
cb9de84343 chore(release): 准备 4.0.0-beta.4 4.0.0-beta.4 2026-10-20 18:28:15 +02:00
Xingyu (Estrella) Pan
73fe20562e Merge pull request #1141 from EstrellaXD/feat/4.0-perf
perf: 4.0 性能优化(日志回归、下载页虚拟滚动、SSE 增量、RSS 刷新、懒加载)
2026-10-20 18:28:02 +02:00
Estrella Pan
3a491348bf fix: 审查修复——订阅改 URL 后已匹配种子仍追加 rss_link、SSE 帧后到达的旧 HTTP 种子列表丢弃、空日志推 log_clear 2026-10-20 18:20:41 +02:00
Estrella Pan
de43f80bb0 fix(webui): 审查修复——懒加载弹窗块失败时刷新一次、语言包加载失败仍挂载、语言切换按最后一次生效、Storybook 保留完整版 vue 2026-10-20 18:13:01 +02:00
Estrella Pan
34b6217041 fix(backend): 审查修复——孤儿种子每轮重新分析、TMDB 请求失败不缓存、SPA 路由 no-cache、清空日志后推全量、去重查询失败只标记单个订阅 2026-10-20 18:13:01 +02:00
Estrella Pan
fa78624bab Merge branch 'feat/4.0-perf-webui' into feat/4.0-perf 2026-10-20 17:49:38 +02:00
Estrella Pan
fbc08949e4 perf(startup): MCP 与 webauthn 延迟导入,首个 /mcp 请求才构建子应用
- main 只导入 module.mcp.security;访问控制套在 /mcp 路由外层,被拒请求不加载 mcp 库
- _LazyMcpApp 在首个放行请求时构建子应用(加锁,并发只构建一次),会话管理器跑在 lifespan 持有的任务组里,关停时随之取消
- module.mcp 改为 PEP 562 __getattr__ 延迟导入 mcp / create_mcp_app
- passkey 在构造 WebAuthnService 时才导入 webauthn

启动 import main 0.49 s -> 0.30 s,冷启动到首个响应 0.56 s -> 0.39 s,RSS 148 MB -> 115 MB
2026-10-20 17:48:53 +02:00
Estrella Pan
3fcf487030 perf(sse): 下载器列表共享 5s 缓存且只推变化,日志改为首帧全量 + log_append 增量
- 所有 SSE 连接共用一份种子列表缓存(锁内单次查询,5s TTL);每个连接仅在
  负载与上次推送不同时才发 downloader 帧
- log 帧只在连接建立、日志轮转(inode 变化)、截断或 mtime 回退时发送整段
  尾部;其余发送新增的完整行 log_append,没有新增不发
- _read_file_tail/_read_log_tail 额外返回读到的末尾偏移,作为增量起点
2026-10-20 17:31:14 +02:00
Estrella Pan
09f43ef78e perf(webui): 只打包 Vue 运行时、按需加载 zh-CN 语言包与布局弹窗,待审核光晕改为 opacity 动画 2026-10-20 17:30:20 +02:00
Estrella Pan
19e2e88171 perf(webui): SSE 客户端支持 log_append 增量日志,标签页隐藏 30 秒后关闭事件流 2026-10-20 17:18:03 +02:00