release: offering 可见性/间距修复 + 扩展市场安装接入(develop 快照) - #493
Merged
Conversation
- GET /api/ext/cgc-2046/version 返回 ext.yml manifest 版本(青狮 /version 同款) - hub 头部 pill 旁版本徽标(v0.1.0),发布后市场用户可见当前版本 - 市场有新版时头部显示「升级 vX.Y.Z」(对齐青狮:仅市场安装层提示, compareVersions 判定,install job 轮询完成后刷新页面) - 副标题移除「端点 ... · Token 已配置」拼接:端点/token 状态属敏感运维 细节,不在 hub 透出(连接状态由 pill 表达) - 测试:harness home_hub 新增 3 断言(徽标渲染/端点不泄漏/无市场静默), handler 新增 /version 双用例(含与 ext.yml 一致性防漂移), 静态锚防状态信息复活
…pgrade feat(ext): home 面板版本徽标 + 市场升级通道
- 会话区加 Tab:全部 / 2046 助手 / 管理助手 / 教研助手,按 agent_profile 过滤,点击行进会话(Router.navigate 通道不变);行内 meta 显示助手名+时间 - 移除「最近活动」区:事件列表、loadHistory 历史回放、tool_used 订阅随删; MCP 连接异常 banner 独立保留(移 guide-slot 下方,仍是连接错误引导位) - GET /activity 路由同步删除(唯一消费方是活动区);tool_used 事件推送保留 (admin/tutor 侧栏刷新闭环仍消费) - tab 用 container 级事件委托:骨架按钮引用不受子容器异步重写影响 - 测试:home_hub 场景 stub 加三助手会话,断言 23→27(tab 渲染/三助手入列/ 非 CGC 过滤/tab 切换过滤/活动区移除);handler 路由 26→25; 静态锚防活动区与 /activity 复活
…pgrade feat(ext): 最近会话改三助手 Tab 过滤,移除最近活动区
宿主传入的 arguments 有时是未 parse 的 JSON 字符串,call.dig(:arguments,...) 第二跳对 String 抛 TypeError,server 日志刷 Hook error 噪音并丢失埋点事件。 新增 Cgc2046HookUse.arguments() 统一收敛(String→JSON.parse→Hash), call 加 is_a?(Hash) 守卫,require "json";三处调用点(tool_used/draft_saved/ 章节抓取)全部走规范化访问器。新增 String-args 回归测试。
slug 一经发布即锁定(#45242d0c),draft 期是唯一可改窗口;但结构门禁 此前不查 slug——空 slug 的课可一路走过评分/review/发布,发布后公开短链 /courses/[slug] 永久缺失,只剩 SQL 直改一条路(2026-09-09 物理课实例)。 PrepGate 新增 check_slug:空/空串 → 违规退回 authoring;非 [a-z0-9-] 单段格式 → 违规。纯函数四态用例覆盖,既有 fixture 补合法 slug。
fix: hook String-args 崩溃修复 + 发布门禁拦截空 slug
Ash keyword add_error 不传 :value 时 InvalidAttribute.value 恒为 nil, 生产排障无法区分「confirm 重放丢参数」与「锁定规则正确拦截」 (2026-09-09 物理课实例:参数链路健康,误判成疑似 bug 排查一轮)。 course/event 两处锁定校验补 value: get_attribute(:slug); open 后改 slug 用例断言消息含 Value: "new-slug" 防回归。
feat(ext): 会话列表上限 6→20
…e-lib fix(offerings): slug 锁定错误带被拒新值(lib 部分,补 #486 漏提)
- OpenclackyExtensionCard 重写:一键安装包内置可跳过 + 自装 OpenClacky 走 扩展市场三步(打开市场 → 搜索 CGC-2046 → 安装),复用既有死键 openMarket/searchExtension/installExtension - 文案防漂移:面板名「CGC-2046」→「程序媛汇 2046」(与扩展实际标题一致); 删除失效键 installCgcServer/bundledExtension/extensionSearchHint - 原子页测试契约反转:原「引导文案不指向公共市场」改为市场路径断言 (发布决议见 docs/plans/cgc-2046-openclacky-extension-refactor)
…nstall feat(web): 接入引导升级为扩展市场安装路径
- 扩展 3 个 agent prompt 确认流改为:复述 summary 后调用宿主内置 ask_user 弹可点击卡片(选项 确认执行/取消;多 pending 每题一个 question),点击结果 映射 confirm_operation/cancel_operation;ask_user 出现 auto_reply(无人 值守)一律 cancel_operation,堵 auto_approve 10s 自动确认风险 - admin-aside 面板生命周期注入指令同步为 ask_user 卡片确认 - 后端 needs_confirmation hint 与 workspace_admin/platform_admin playbook 确认流纪律同步(需部署生效) - CONTEXT.md:术语 request_user_feedback→ask_user(gem 1.5.11 改名,旧名为 退役别名),记录 auto_reply 防线 验证:mix compile;mcp 测试 347/347;view.js 语法检查
- README.md 面向用户:功能一览/系统要求/安装/连接(面板一键连接为主, 手动 token 为 fallback)/断开卸载/隐私安全/FAQ;安装口径改为官方方式 装宿主(openclacky.com) + 扩展市场搜索 CGC-2046 安装——品牌一键安装包 捆绑扩展的路径不存在,对齐 60b21e3 接入引导升级 - DEVELOPMENT.md 承接开发者内容(架构/目录结构/打包/联调配置/安全约定/ known limitations/测试/验收步骤),沿用 test/bin 既有模式:git 跟踪但 经 .gitignore 排除出 ext pack 分发包 - CHANGELOG.md 全历史归并:v0.1.0(2026-09-06)按功能域汇总首发内容, 其后提交归 Unreleased(安全加固/管理侧栏重构/市场升级通道等) 验证:bin/pack manifest OK(29 files);zip 含 README/CHANGELOG,不含 DEVELOPMENT/test/bin;openclacky-ext 目录 grep 无一键安装残留
ActorReadsOffering 成员可读状态由「非 draft」收窄为 open/closed: cancelled 与 draft 同不对成员展示(列表/详情/GraphQL 读面一致 NotFound)。Owner/Admin 管理面与匿名公开面不变;MCP 管理工具走 authorize?: false 不受影响。
fix(offerings): cancelled 活动/课程不对工作台成员展示
…nstall feat(ext): 文档受众拆分(README/CHANGELOG)与确认流 ask_user 卡片化
.ws-page-heading 无 margin-bottom、offering 三页正文容器也无 margin-top, 页头与内容零间距(E2E 实测 gap=0)。对齐设置子页 30px 基准用 mt-8(32px): 列表四状态分支、详情信息栅格、新建表单容器各加 mt-8。 E2E 数值断言(agent-browser):events 列表 / 详情 / 新建 / courses 列表 gap 0→32px;frontend 914 tests 绿。
…g-heading-spacing fix(web): offering 列表/详情/新建页页头与正文间距补齐
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
本批内容(develop 快照,23 commits)
验证
部署
merge 落 main 触发 Deploy;本批无 mix.lock 变更,无 deps 镜像重建风险。