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 |
|
Estrella Pan
|
a8e75d1239
|
fix(webui): 下载器状态列加宽到 130px,英文 Downloading 不再被截断
|
2026-10-22 09:10:54 +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 |
|
Estrella Pan
|
8063a8aa46
|
fix(webui): 消息 API 改为模块加载时创建,修复登录成功后不跳转 (#1145)
|
2026-10-21 12:53:45 +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
|
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
|
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
|
6e6461febe
|
fix(webui): 剩余 carbon 图标改为 Lucide、设置页导航高亮与滚动位置对齐(参考 #1119)、HTTP 下复制令牌回退到兼容方式
|
2026-10-21 08:47:35 +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
|
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 |
|
Estrella Pan
|
76ec949bc1
|
perf(webui): 下载器页改为单个虚拟滚动表,分组作为可折叠的表头行
- 按保存路径分组的多个 ab-fold-panel + NDataTable 合并为一个 virtual-scroll + flex-height 的 NDataTable,
只渲染可见行;表格不再放在 NCollapseItem 里,SSE 推送的新数据能刷新行
- 分组以树形父行显示(名称与数量),复选框级联勾选整组,可折叠,默认展开
- 选中项改为 Set(shallowRef),成员判断 O(1);移除未使用的 toggleKey/toggleGroup
- 名称列用 CSS 省略号 + title,不再逐行测量宽度
20k 种子(prod 构建):就绪 15.1 s → 0.14 s,堆 3031 MB → 19 MB,KeepAlive 驱逐后重挂载不再崩溃
|
2026-10-20 17:01:46 +02:00 |
|
Estrella Pan
|
1de0d5de8e
|
fix(webui): 底部抽屉容器选择器改为后代匹配
.ab-bottom-sheet 不是 .n-drawer-container 的直接子元素,:has(> …) 从未命中:视口尺寸与遮罩模糊都没有生效
|
2026-10-20 14:32:04 +02:00 |
|
Estrella Pan
|
b6b3812657
|
fix(webui): 全屏底部抽屉的容器按视口尺寸铺满,并移除临时诊断
自定义 ::-webkit-scrollbar 使 WebKit 使用常规滚动条,固定容器的包含块扣掉 6px 滚动条宽度,100dvh 的全屏面板被顶出视口顶部
|
2026-10-20 14:25:56 +02:00 |
|
Estrella Pan
|
059164617b
|
test(e2e): 临时诊断移动端抽屉 -6px 偏移
|
2026-10-20 14:20:37 +02:00 |
|
Estrella Pan
|
d6c366de32
|
fix(webui): 底部抽屉打开时不再聚焦第一个输入框
NDrawer 默认把焦点给第一个可聚焦元素,编辑规则抽屉一打开就聚焦标题输入框(手机上会弹出键盘,键盘避让随之把面板上移)。改为关闭 auto-focus,入场后聚焦面板本身,与原 headlessui 行为一致。
|
2026-10-20 14:15:51 +02:00 |
|
Estrella Pan
|
38303f297c
|
fix(webui): 下载页进度与状态列恢复渲染,移动端规则编辑 e2e 等待抽屉入场
- downloader.vue 的 formatEta 里有局部变量 h,unimport 因此不再自动导入 vue 的 h(),构建产物中 h 未定义,进度与状态两列为空;局部变量改名为 hours
- naive-ui 抽屉从底部滑入,e2e 先等面板位置稳定再断言全屏尺寸
|
2026-10-20 14:03:11 +02:00 |
|
Estrella Pan
|
bfc7209491
|
fix(ci): setup-uv 固定到 v10.3.0,折叠面板补上 region 语义
- astral-sh/setup-uv 没有 v10 主版本标签,CI 无法解析 action
- ab-fold-panel 改用 NCollapse 后,标题按钮的父元素不再是整个面板,e2e 用 '..' 找不到面板内的字段。正文改为以标题命名的 region,按钮补上 aria-controls;e2e 改用 getByRole('region')
|
2026-10-20 13:50:27 +02:00 |
|
Estrella Pan
|
014358ff6a
|
fix: 修复 Codex 审查发现的两处回归
- Bangumi / BangumiUpdate 的 9 个可空字段恢复为必填(default=...),只传部分字段的更新与订阅请求重新返回 422,不再用占位值改写规则和保存路径
- ab-menu 补上 role=menu、打开时把焦点移到菜单、aria-activedescendant 指向高亮项,关闭后焦点回到触发器
|
2026-10-20 13:13:00 +02:00 |
|
Estrella Pan
|
124b156b7a
|
fix: 修复 4.0 工具链升级审查问题
- ab-plugin new 与示例插件的 requires-python 改为 >=3.14,与 SDK 0.6.0 一致
- 示例插件 ntfy-notifier / webhook-on-event 改用 httpx2
- openai / anthropic / google-genai 下限改为实际需要的大版本
- 插件 MCP 工具的 input_schema 无效时计入熔断
- 复制 RSS 链接在 HTTP 部署下回退到 execCommand(useClipboard legacy)
- CI 步骤名、PLAYWRIGHT_VERSION、README 徽章与 e2e 指南改为 Python 3.14 / Playwright 1.64.1
|
2026-10-20 12:12:58 +02:00 |
|
Estrella Pan
|
a7a3143683
|
Merge branch 'feat/4.0-toolchain-webui' into feat/4.0-toolchain
|
2026-10-20 11:49:15 +02:00 |
|
Estrella Pan
|
6e8f2f0f35
|
refactor(webui): 图标换成 @lucide/vue,headlessui 换成 naive-ui,并改用 Vue 3.5 写法
- 30 个文件的 @icon-park/vue-next 图标换成 @lucide/vue;侧栏与移动导航的 RSS 图标
改用 Lucide Rss,删除 vue-inline-svg 与 public/images/RSS.svg
- ab-modal 用 NModal、ab-bottom-sheet 用 NDrawer、ab-menu 与 ab-status-bar 系统菜单
用 NDropdown、通知中心用 NPopover、ab-fold-panel 用 NCollapse;公开 props/emits/slots
不变,dialog 语义、aria-expanded、menuitem 角色与 Esc 关闭由组件补齐;删除 @headlessui/vue
- naive-ui 主题覆盖移到 src/style/naive-theme.ts(abNaiveTheme),新增 Dropdown/Collapse/
Popover 的 ab-* token;遮罩颜色统一为 --color-overlay
- withDefaults 改为响应式 props 解构;模板引用改用 useTemplateRef;ab-bottom-sheet、
llm-auth-dialog、ab-list 的 v-model 改用 defineModel;visualViewport 监听用
onWatcherCleanup 撤销;复制提示改用 useClipboard({ copiedDuring })
|
2026-10-20 11:45:48 +02:00 |
|
Estrella Pan
|
73fbca985b
|
refactor(mcp): 升级 mcp 2.3,改用 MCPServer 与 Streamable HTTP(端点 /mcp)
- 内置工具与资源改为 AutoBangumiMCP(MCPServer 子类)上的 @mcp.tool() /
@mcp.resource(),参数 schema 由类型注解生成,工具名、描述与参数名不变;
结果仍是一段 JSON 文本,异常返回 is_error 结果
- 插件工具与资源在子类的 list / call / read 中追加与分发,熔断与超时逻辑
不变;mcp 2 不再校验参数,插件工具按 input_schema 用 jsonschema 校验,
不合法的参数不计入熔断
- 传输只保留 Streamable HTTP,以路由挂载在 /mcp(mount 会把 /mcp 重定向到
/mcp/),删除 /mcp/sse 与 /mcp/messages/;会话管理器在应用 lifespan 中运行;
关闭 DNS rebinding 防护,访问控制仍由 IP 白名单与令牌负责
- 更新 MCP 文档、e2e 用例与 4.0 更新日志的破坏性变更
|
2026-10-20 11:40:32 +02:00 |
|
Estrella Pan
|
5d8a02787a
|
chore(webui): ESLint 10 + antfu flat 配置取代 Prettier,husky 升级到 9
|
2026-10-20 11:12:07 +02:00 |
|
Estrella Pan
|
13dc621ff7
|
chore(deps): 前端运行时升级到 vue-router 5 / pinia 4 / vueuse 15 / vue-i18n 11 / axios 1.20
|
2026-10-20 11:06:50 +02:00 |
|
Estrella Pan
|
2f1fa317d1
|
chore(deps): 前端构建与测试工具链升级到 Vite 8 / Vitest 5 / TS 6 / Storybook 10
- vite 8、@vitejs/plugin-vue 6、vitest 5、happy-dom 21、@vue/test-utils 2.5、
typescript ~6.0.3、vue-tsc 3.3、unocss 66.11、unplugin-auto-import 21、
unplugin-vue-components 32、sass-embedded 1.105、playwright 1.64.1、storybook 10.6
- vite.config:去掉 defineModel 开关;Sass 改用 @use;esbuild.drop 换成
rolldown 的 dropConsole;__dirname 换成 import.meta.dirname;两处 alias
改为 resolve.tsconfigPaths
- 删除 plugin-vue-jsx:三个 SFC 的 JSX 改写为 h()
- 删除 preset-attributify:模板里的属性式工具类全部改回 class
(含 space-y-*、text-*、line、i-carbon-* 等,不止 5 处 flex="~")
- 删除 vite-plugin-pwa:改为静态 manifest.webmanifest + 自毁 sw.js(4.1 删除)
- tsconfig:moduleResolution Bundler、去掉 baseUrl 与 JSX 配置,
app 的 types 只留 vitest/globals
- Storybook 10:addon-links + addon-docs,stories 改从 @storybook/vue3-vite 导入类型
- @intlify/unplugin-vue-i18n 0.11 -> 11.2.7(Vite 8 下旧版产物被 vite-json 再次解析而失败);
新版只产出 AST 文案,故打开 __INTLIFY_JIT_COMPILATION__,hasKey 识别 AST 叶子
|
2026-10-20 11:00:31 +02:00 |
|
Estrella Pan
|
02e0c3ea63
|
chore(deps): CI 运行时升级到 Node 24 / pnpm 12,并移除未用依赖
- Node 24、pnpm 12.14.0、pnpm/action-setup@v6,@types/node ^24
- .npmrc 的 public-hoist-pattern 迁入 pnpm-workspace.yaml,新增 allowBuilds
- docs 同步迁移 pnpm 12
- 删除 @vueuse/components、radash、generate-pwa-assets 脚本、失效的 coverage 配置、app AutoImport 的 vitest 预设与 Components dirs
|
2026-10-20 10:41:07 +02:00 |
|
Estrella Pan
|
87e23eea2d
|
fix(plugins): 处理 Codex 对插件市场的审查意见
- 安装请求带上用户确认的版本,目录已换版本时后端拒绝
- 目录刷新换了条目时关闭确认栏,重新确认权限
- 是否有更新由后端按 PEP 440 判断(update_available)
- 插件改动后的同步失败不再算作操作失败
- KeepAlive 再次进入时重新加载失败,下次进入会再试
- 手机详情页的返回只在上一条历史是列表时后退
|
2026-10-09 15:39:17 +02:00 |
|
Estrella Pan
|
c67a63267f
|
fix(webui): 处理市场页与内置插件文案的审查意见
- 设置页与市场页通过 pluginSetVersion 在再次进入时互相同步;刷新逻辑合并为 refreshPluginState
- 安装成功后本地更新 installed_version,不再重新下载目录
- 选中的插件变化时关闭确认栏,避免装错插件
- 本机版本比目录新时不提示更新
- 内置插件文案只用于 source 为 builtin 的插件
- README:链接中的行内代码、段落中的“2024.”、分隔线、标题中的“C#”
|
2026-10-09 15:34:31 +02:00 |
|
Estrella Pan
|
7ace0581e0
|
fix(webui): 市场页再次进入时同步安装状态;手机底栏用短标签
|
2026-10-09 15:27:01 +02:00 |
|
Estrella Pan
|
1fc10b16eb
|
Merge branch 'fix/4.0-builtin-plugin-i18n' into feat/4.0-plugin-market-ui
# Conflicts:
# webui/src/i18n/en.json
# webui/src/i18n/zh-CN.json
# webui/src/utils/id-label.ts
|
2026-10-09 13:37:41 +02:00 |
|
Estrella Pan
|
42bccb964b
|
fix(webui): i18n 文案在构建后是消息函数,hasKey 一并识别
|
2026-10-09 13:35:19 +02:00 |
|
Estrella Pan
|
56ac06db2a
|
feat(webui): 插件市场页面
- 新增 /market 与 /market/:id:列表 + 详情双栏,手机上点行进入整屏详情,
主操作固定在底部;侧栏与手机导航加入口
- 按扩展点归类的分类标签、安装状态筛选与搜索;签名目录获取成功后缓存,
目录不可达时显示上次的目录并禁用安装/更新
- 安装/更新前的确认步骤:来源与审查、权限声明、前端、同进程警告;
更新显示版本与权限差异,权限变多须勾选确认
- README 用安全的 Markdown 子集渲染(先转义 HTML,链接只允许 http(s))
- 设置页的插件目录区换成「打开插件市场」入口
- 后端 CatalogEntry 补上 sdk 与 path 字段
|
2026-10-09 13:34:38 +02:00 |
|
Estrella Pan
|
40a525ecdc
|
fix(webui): idLabel 识别预编译的 i18n 消息
构建时 unplugin-vue-i18n 把 i18n/*.json 的文案编译成消息函数,
idLabel 只认字符串,扩展点、权限与重命名方式在应用里一直显示原始 id。
|
2026-10-09 13:33:48 +02:00 |
|
Estrella Pan
|
49a499d417
|
fix(webui): 内置插件的名称、描述与配置字段支持英文
内置插件的清单与 config_model 只有中文,英文界面里直接显示中文。前端在
builtin_plugins.<id> 下为 4 个内置插件配齐中英文案,按插件 id 查找,查不到
(第三方插件)时仍显示后端文字。插件的停用原因改为代码(not_enabled、
unsigned_blocked),由前端翻译;“未启用”不再重复显示为提示框。
|
2026-10-09 13:14:33 +02:00 |
|
Estrella Pan
|
5fc7f749d7
|
Merge remote-tracking branch 'origin/4.0-dev' into feat/4.0-plugin-market
|
2026-10-09 13:00:21 +02:00 |
|
Estrella Pan
|
ee3ee0a6ab
|
fix(webui): 4.0 界面审查第二轮修复
- 通知渠道列表测试:已保存且未改动的行按下标测试后端保存的配置(掩码密钥
不再导致失败,插件渠道的自带字段得以保留),未保存的行按当前配置测试;
后端下标改为对应完整渠道列表(含停用项)
- 插件配置表单:草稿深拷贝 options,编辑嵌套行后保存按钮可用
- 插件配置表单:数字字段清空后保持空白,Optional 字段清空为 null
- 标签输入:失焦(focusout)时添加未确认的输入;输入法组字时的回车不添加标签
- 下载器:切回已保存的类型时恢复保存的配置,不再清空凭据
- 插件挂载点加载失败时改为刷新页面,提示文案同步
- 移动端导航:同一插件只显示一个入口,导航项不收缩、可横向滚动
- 插件页面无匹配挂载点时标题回退为插件 id
|
2026-10-09 12:11:30 +02:00 |
|
Estrella Pan
|
5e15c5cf17
|
fix(webui): 4.0 界面审查修复
按 4.0 UI 审查确认的问题修复(设计规范、状态与流程、无障碍与手机端、文案):
- 插件卡片:加载失败可重试、未保存标记、开关与保存分开忙碌状态、停用或卸载
仍在使用的插件前确认、扩展点与权限显示为译名、tags 字段改用 ab-tags-input
- 插件表单:必填与范围校验、删除非空行前确认、清空数字恢复默认值、稳定的行 key
- 插件页面与挂载点:加载骨架、失败原因与重试;手机底栏可进入插件页面
- 下载器:按类型显示字段、切换类型重置选项、id 规则提示、类型名称
- 通知:测试结果按列表 / 对话框分开、插件渠道提示、rename_skipped 显示方法名
- 规则编辑与添加 RSS:高级区改用 ab-field / ab-select,补充可访问名称
|
2026-10-09 10:23:16 +02:00 |
|
Estrella Pan
|
eb1598c21e
|
feat(plugins): 插件市场索引与签名发布流水线
- plugins/registry/<id>.toml 指向作者仓库的固定 commit(repo、commit、path)
- scripts/plugin_registry.py:check 在 PR 上校验改动的条目、运行作者测试、
从 web-src/ 构建前端并写审查摘要;build 在合并后增量打包(commit 未变的
条目复用已发布的 zip)
- plugin-registry.yml:check / build 不读 secret,sign 只用 PLUGIN_SIGNING_KEY
签名,不运行作者代码;发布到 release plugins 并删除下架的资源
- 插件目录改用独立的插件公钥 ab_plugin_pubkey.pem,与在线更新密钥分开
- catalog 条目新增 authors、permissions、has_web、repo、commit、readme
- 6 个示例插件上架;上架文档(中 / 英 / 日)、PR 模板与 CODEOWNERS
|
2026-10-09 10:13:30 +02:00 |
|
Estrella Pan
|
56fa95f51f
|
refactor(4.0): 删除前端 experimental_openai 时代遗留的 OpenAIModel / OpenAIType 类型
P0 已删除后端的 experimental_openai 配置段,这两个类型没有任何引用。
|
2026-10-08 17:21:35 +02:00 |
|
Estrella Pan
|
c05c2b1727
|
fix(4.0): 种子批量操作按实例汇总结果、按实例区分选择,下载器页按任一已配置实例判断
- perInstance 对所有实例并发执行,任一实例异常或返回 status: false 都按失败处理并提示,不被其它实例的成功掩盖;无论成败都刷新列表
- 选择键改为 downloader_id:hash,同一 hash 存在于多个实例时只操作选中的那一个
- 下载器页「未配置」判断改为没有任一已配置实例;插件下载器无 host 字段时视为已配置
|
2026-10-08 17:06:53 +02:00 |
|
Estrella Pan
|
d8dabe4c4c
|
fix(4.0): 插件卡片刷新 allow_unsigned、保留其它卡片未保存的草稿,整数枚举下拉保留原类型
- 卡片操作后同步刷新 config store 的 plugins.allow_unsigned,全局保存不再用旧值回退该开关
- apply() 只重建服务端配置或 schema 变化的插件草稿,切换某个插件不再丢弃其它卡片的未保存编辑
- 枚举下拉以 {label, value} 传入候选值,整数枚举保存为数字而非字符串
|
2026-10-08 17:06:53 +02:00 |
|
Estrella Pan
|
ee5704eef0
|
feat(4.0): 设置页新增签名插件目录的浏览、安装、更新与卸载
- 插件卡片下方新增「插件目录」区:点击后才请求 GET /plugins/catalog(silent),失败时在区内显示后端原因并可刷新
- 条目按已装版本显示安装 / 更新 / 已安装;安装成功后刷新卡片、Provider 下拉与前端挂载点
- 卸载只对来源为 catalog 的插件开放,经危险确认框;与后端卸载前提为同一条件,LLM 插件不受影响
- 卡片标出已签名 / 未签名
- 修复前端缺少 catalog 来源类型与 source_catalog 文案
- 同步签名与分发文档(中 / 英 / 日)、设计文档第 0 节与 CHANGELOG
|
2026-10-08 15:38:52 +02:00 |
|
Estrella Pan
|
34d51dd711
|
fix(4.0-P6): 嵌套秘密字段掩码、未启用插件 schema 刷新、custom element 归属校验
|
2026-10-08 14:05:56 +02:00 |
|