← All release notes
✨ Features (12)
21d6d491 (character)创建与更新角色时封面图 / 参考图 / 阶段头像不在 Hanakoi CDN 下自动转存到 R2,REST / Studio / MCP 共用 (#1816) — Patronum
90801a62 (web)聊天页接入失败回合续答,生成失败后在原消息上一键重试,刷新后仍可见可重试 — wanghao-kld
76913519 (character)Staging 导入按作者 ID 筛选 + 作者名兜底;首页 / 登录页 Banner 按跳转角色公开性与软删除过滤 (#1959) — wangyang-youloft
3931844e (character)角色搜索适配台湾输入习惯——注音键位乱码纠正 + 输入法组字期间 Enter 不提交 (#1956) — Patronum
b2dee85b (character)角色模糊搜索支持繁简互通与拼音(全拼 / 首字母)检索 (#1686) — Patronum
7e793fcb (api)稳定 API business 查漏补缺、移动端 7 个接口纳入稳定 API、Provider 模型资格范围编辑 (#1943) — wangyang-youloft
51568df2 (githooks)pre-push 默认只跑本次改动相关的测试,全量由 PR CI 兜底,新分支首推按 merge-base 判定范围 — wanghao-kld
e8b8f635 (auth)注销前撤销 Apple 授权并记录结果,设置页支持已有账号主动绑定 Apple (#1917) — wanghao-kld
3efff502 (api)业务码信封改用字段契约头 X-Hanakoi-Response-Contract;posts/npcs 恢复可选登录;允许未成年与仅成年标记共存 (#1918) — wangyang-youloft
50fc21b4 (email)Apple 隐藏邮箱回复链接预填主题与原文引用;营销回信工单带原邮件快照 (#1899) — Patronum
3a1314bf (web)#1869 会员权益为发放唯一来源、PC 面包屑、邮箱登录修复、默认繁中去引导、隐藏语言入口、会员到账文案 (#1887) — wanghao-kld
fd47383b (character)角色快速创建模型改为运营可配置,并合入 wangyang 积压改动 (#1870) — wangyang-youloft
🐛 Bug Fixes (23)
84bbd4be (companion)失败回合续答以回合为单位,禁止合并回合重复续答并仅允许最新一轮续答,修正计数与错误码口径 — wanghao-kld
16663336 (api)资格范围编辑接口 errorSchema 放开可选 code,修复 400 的 code: VALIDATION_ERROR 被响应序列化剥掉 — wanghao-kld
9f9b5987 (ci)修复 #1943 合并后 CI 失败(错误码棘轮、OpenAPI 对比排除 business、1851 回归对齐 #1932) (#1945) — wangyang-youloft
a747f0a1 (api)重新应用 #1923 的 AI 回调加固(被 #1926 合入时整体覆盖回滚)——request_id 索引反查、回调输出 URL SSRF 防护 — wanghao-kld
eee3084e (web)角色列表位简介统一走 replaceUserPlaceholders,SEO 网格与 JSON-LD 不再外露 _USERNAME_ (#1772) — Patronum
29bdda60 (web)公告看过详情后同步列表红点与未读角标,并下线顶部维护横幅(UI-28) — wanghao-kld
88652c24 (api)订阅与会员判定三组缺陷修复——跨渠道会员互相覆盖、RevenueCat webhook 乱序误吞事件、Stripe dahlia 字段读取失效 (#1926) — wanghao-kld
334f00aa (api)AI 回调加固——request_id 反查改索引查询,回调输出 URL 下载加 SSRF 防护(默认 warn 模式) (#1923) — wanghao-kld
7358be97 (api)订阅状态按 Android Base Plan 复合键匹配会员权益,修复购买会员后 member_benefit_id 返回 null (#1920) — wanghao-kld
0fdfe640 (api)年龄声明接口描述去掉旧锁定码字面量,修复 issue-271 回归测试 (#1919) — wangyang-youloft
ea746ecb (api)生产构建排除 src/test/**,修复 #1906 后 container-api 镜像构建 TS2307 失败 (#1909) — wanghao-kld
7f49b31e (ci)Zod 路由棘轮只认路径字面量注册,清理 3 个误判的非路由登记 (#1904) — wanghao-kld
534d9820 (web)后台举报处置页文案中文化、繁中「登錄/置頂」改「登入/登出/釘選」、会员权益卡样式调整 (#1895) — wanghao-kld
1c6170b7 (companion)Turn Receipt 的 relationshipChange 补齐 stageFrom/stageTo 阶段 key,并修复 develop 上 zod-routes / API 文档门禁判红 (#1900) — wanghao-kld
756d75a1 (infra)Pub/Sub 订阅 maxDeliveryAttempts 改回 5,修复 develop 部署 reconcile 步骤被 gcloud 拒绝(值须 ∈ [5,100]) (#1902) — wangyang-youloft
82ba7707 (ci)修复 #1893 合并后的 CI 失败(Zod 路由棘轮、会话 settings 文档基线)并带上 #1891 门禁改动 (#1897) — wangyang-youloft
70cbb51d (api)角色信息类接口补成人分级/软删除/屏蔽过滤,动态流与配角名册改为需登录 (#1883) (#1893) — wangyang-youloft
22f00600 (web)后台管理系统 /admin/* 补 noindex,禁止被搜索引擎收录 (#1889) — wanghao-kld
c2f1f1d0 (api)重置聊天室与自动回复草稿补齐 adults_only 门禁(#1859 后续) (#1888) — wanghao-kld
8717ab19 (email)Apple 隐藏邮箱收件人回信进不了系统——每收件人回信地址、正文回复提示、回信工单带收件人标识 (#1886) — Patronum
39f9c494 (api)adults_only 聊天门禁补齐建会话 / Worker / 会话列表 / 智能回复 / 送礼入口,修复 Web 给未成年误弹付费墙(#1859 后续) (#1882) — wanghao-kld
fa2d66bf (companion)角色未回复或回复中点「重试」不再报「会话已删除或归档」,regenerate 兜底失败回合续答与在途回合 (#1864) — wanghao-kld
7ab7123d (web)Issue #1858 发现页轮播改读后台首页 Banner、删除趋势排序,并统一角色消息数口径(重新生成不计数) (#1863) — wanghao-kld
♻️ Refactor (1)
6143a8fb (chat-agent)删除 runTurn 生产不可达的 persona 分支,媒体门控哨兵改锚生产执行点 (#1611) — Patronum
⚡ Performance (3)
981adebe (web)匿名访客公开页不再懒加载 Firebase——api.ts 取 token 与 auth-provider 会话恢复同一判定,共用 firebase-lazy 加载状态 — wanghao-kld
b374daf8 (web)首屏 JS 瘦身——contracts 声明 sideEffects:false、Firebase 删死代码并经懒加载门面按需加载、新增首屏体积预算门禁 — wanghao-kld
e6438902 (test)测试进程禁止访问外网、关闭 GCP 元数据探测、本地 vitest 并发按核数伸缩 (#1906) — wangyang-youloft
📚 Docs (1)
af244379 (githooks)补充 pre-push 只跑相关测试的开发文档与本机实测数据,登记功能文档注册表 — wanghao-kld
🔧 Chore (2)
d7775d4a (release)将 develop@7358be9 发布到 main(业务码信封字段契约头、会员权益发放、Apple 授权撤销、adults_only 门禁补齐等) (#1924) — wanghao-kld
d252819a (merge)合并 wangyang 已提交内容到 develop (#1868) — wangyang-youloft
🤖 CI (2)
91bd38c0 (standards)Issue #1947 合并纪律门禁落地——PR 静默回滚 / 覆盖检测、发布 PR 祖先检查、合并时 CI 未绿告警、develop/main push 跳过重复镜像构建,并同步硬规则 19 与复盘文档 (#1951) — Patronum
4e0dda56 (infra)在 plan 体系上补齐草稿 PR 跳过、纯文档 PR 的 docs-guards 与 Web 镜像依赖层缓存 (#1547) — Patronum
📝 Other (6)
88103e55 test(api): 资格范围编辑接口校验错误缺 code 的回归用例(修复前红) — wanghao-kld
57f6a3be test(web): 匿名访客公开页不加载 Firebase 的验收用例先行——取 token 判定、api.ts 鉴权门控、门面加载状态、auth-provider 共用门面 — wanghao-kld
289dec48 test(web): 首屏 JS 瘦身验收用例先行——contracts 无副作用、Firebase 懒加载门面、Firebase 初始化范围、首屏体积预算 — wanghao-kld
714f92ab test(web): 补公告详情已读后列表红点与未读角标同步、维护横幅下线的失败用例(UI-28) — wanghao-kld
6782fd28 test(githooks): pre-push 只跑相关测试的先行用例——范围判定、相关测试执行器与 hook 执行计划(跑红) — wanghao-kld
24f349b2 fix(web)+feat(credit): /pricing 非会员权益卡补齐三行并预览月度会员权益,普通用户权益每月发放真实生效 (#1908) — wanghao-kld