← All release notes
✨ Features (16)
dc54982d (web/admin)独立 admin 登录页 + 个人中心 + 侧边栏用户区 + 3 bug 修复 (#550) — wangyang-youloft
3751c208 (harness)聊天模型 A/B 实验旋钮(chat_model)+ 运营全站对比看板(Ref #541) — Jiangcaoz-youloft
66f74d87 (i18n)个人中心及 /settings 子级页面硬编码文案 key 化(i18n 批次 6) — wanghao
79257b6f (admin)角色管理页面汉化及 MCP 工具目录同步修复 (#535) — wangyang-youloft
6db2c471 (admin)后台权限组 RBAC——角色/权限码/成员关联与路由权限绑定(Ref #534) — wanghao
98494015 (companion)session_message 账号级事件——离开聊天页后角色回复完成实时感知(Ref #528) — Jiangcaoz-youloft
55fb23ec (admin)角色管理页面新增 keyword 后端搜索功能 (#522) — wangyang-youloft
3e1e5619 (member-benefits)会员权益整合配置(积分与订阅单入口,issue #519) — wanghao
2c75b703 (credit)订阅到期后清零未用完的订阅积分——逆转「积分永不过期」决策 — wanghao
ff8175a4 (credit)每日赠送积分——上线自动领取、24h 滚动过期清零、扣减优先、后台可配数量与时长 — wanghao
a25d617b (companion)聊天执行可靠性加固 B/C 阶段——Cloud Tasks 派发、202 严格联合、会话摘要与推送、SSE 合批与 TTL(Issue #476) — Jiangcaoz-youloft
a06506ec (web)通知中心新增站内详情页——点击通知查看完整公告内容 — wanghao
da2105f2 (companion)#476 已读水位与 reset 竞态加固——PUT read-state 显式 mark-read + abort 批前置条件 + 事务化归零清队列 — Jiangcaoz-youloft
c9247c8b (companion)#471 关系升级即时推送——好感度计算迁入 complete 事务,done 携带 bond_upgrade + SSE 事件 created_at 契约化 — Jiangcaoz-youloft
0d63276c (compliance)年龄认证新增 birth_month/birth_day 字段采集,前端年月日三下拉 — wanghao
9cea33da (auth)/auth/me 返回值增加 age_verified 布尔字段——判断用户是否已完成年龄认证 — wanghao
🐛 Bug Fixes (26)
7fe795f7 (tests)pr-companion SSE 源码哨兵随 #325 拆分迁到 hook 组合源 — wanghao
dfc7f45e (web/companion)SSE error 终态补齐用户反馈——Retry 入口/积分错误码映射/失败漏斗埋点(Ref #548) — Jiangcaoz-youloft
f298ca23 (companion)聊天链路 P0 正确性修复——complete 事务读先于写/空回复不扣费/reset 写 SSE 终态/输出审核前置/软删页游标兜底(Ref #540) — Jiangcaoz-youloft
1d3b9ce4 (web)Admin Story Editor 汉化对齐 Firestore 字段名 + RBAC requirePermissionAsync 升级 (#544) — wangyang-youloft
44e0ac4d (admin)补上 admin-characters 缺失的 requireAdminAsync import — wanghao
109fec3c (web)修复角色详情屏蔽/举报确认弹窗被下拉菜单卸载导致点击不发请求,并补齐搜索/推荐/最近查看的屏蔽过滤闭环(Ref #537) — wanghao
1097f19f (companion)聊天列表分页完全修复——orderBy 稳定排序 + 游标扫描循环,消除 100 条任意子集截断(Ref #533) — Jiangcaoz-youloft
d4ca607b (api)SSE 传输格式 tripwire 陈旧锁定修复——逐文件断言格式形状(Ref #527) — Jiangcaoz-youloft
2d9a8c75 (web)Admin 后台布局与主题修复——侧边栏固定、去除全局页脚、统一深色 token、导航补三入口 — wanghao
a651467e (announcement)MaintenanceBanner 关闭后重进页面仍显示——列表透出 is_dismissed,banner 跳过已关闭公告 — wanghao
998af0f0 (companion)queue-drain 轮历史排序修复——本轮 user 消息移到末尾,消除 Anthropic 400(Ref #476) — Jiangcaoz-youloft
4f72cc62 (admin)修复 harness-config 判权不一致 + 指令槽并发保存丢更新(#492) — wanghao
2d9fd17e (companion)Cloud Tasks 确定性任务名恢复 taskPath 全路径包装(Ref #476 B3 二轮实测) — Jiangcaoz-youloft
666de00d (companion)修复 B3 故障注入实测抓到的两个阻断性缺陷——202 kind 丢失致发消息全量 500、Cloud Tasks 项目 id 指向开发者本机项目(Ref #476) — Jiangcaoz-youloft
951df773 (api)恢复举报原因英文机器键并增加合并回退守卫 (#491) — wangyang-youloft
91fbe41b (api)账号注销立即生效——同步墓碑+删 Auth,worker 异步擦除,MCP Key 路径墓碑鉴权 — wanghao
0c20a001 (web)修复控制台图片宽高警告与角色卡片评论入口 a 标签嵌套 hydration 报错(Issue #489) — wanghao
366f6898 (companion)lease CAS 全链路补齐 fail()/release() 的 status 双校验(Issue #476 外部评审条 4) — Jiangcaoz-youloft
17e1fb08 (web)通知中心 markdown 语法原样露出——详情复用 markdown-lite 渲染、列表改用摘要预览 — wanghao
42f9a96e (announcement)修复 /announcements/unread 500——read_state 文档缺 last_read_at 兜底为 null — wanghao
a2795e43 (web)通知中心接入逐条已读并修复未读角标 60s 缓存写侧不失效 — wanghao
a0586a68 (announcement)scheduled 定时公告到点后前台可见——repository 放开 status in + 补 published_at 落库与 schedule 校验 — wanghao
572a9154 (announcement)公告列表缓存写侧不失效——admin 新增/发布后前台最长 5 分钟看不到 — wanghao
b1280e61 (support-tickets)意见反馈带图提交支持 R2 CDN 图片 URL——validateFeedbackImageUrls 新增 R2 分支(Ref #465) — wanghao
ccb17086 (web)积分明细业务名改回相对 key,修复 useTranslations 二次拼接致渲染原始 key — wanghao
f2b61ab5 (web)积分明细正负号按余额快照差额推断,消耗标红 — wanghao
♻️ Refactor (6)
9686fb32 (web)character-chat-panel(2630行)组件化拆分,SSE 流处理抽取为 use-chat-stream hook — wanghao
95b7cef8 (web)下线每日赠送积分独立管理页,收口后台入口并修复支付回跳返回(Ref #531) — wanghao
bbddba2b (contracts)账号级事件流包络契约化——6 类事件提升为 userEventSchema 单源 Zod discriminatedUnion(Ref #527) — Jiangcaoz-youloft
fc9ad08c (character)整删首场 opening_messages 开场对话数组——开场白唯一来源收敛为 persona.greeting(Ref #513) — Jiangcaoz-youloft
5eb10ffa (admin)抽取 Admin CMS 公共 UI 原语,消除四个管理页重复组件(Ref #497) — wanghao
a694a8ad (api)完成 Service Firestore Repository 分层迁移 (#487) — wangyang-youloft
📚 Docs (1)
75ac9945 (companion)SSE 事件流样例补 id:2 reset 块消除跳号误导——eventSeq 连续性 / reset 语义 / text-part 并存关系写入文档 — Jiangcaoz-youloft
📝 Other (1)
9ab59097 revert(companion): 回退 Issue #476 全部改动——恢复 fire-and-forget 派发与扁平 202 合同,Cloud Tasks/严格联合/read-state 等全量撤销(Ref #476) — Jiangcaoz-youloft