kdletters
43b7aa809b
清理旧创作模板退役过程记录与死代码 ( #489 )
...
Project CI / AI game creator shell Rust crates (push) Successful in 1m6s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m16s
Project CI / Backend tests (push) Successful in 4m49s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 8m1s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 8m50s
Project CI / Native shell tests (push) Successful in 6m5s
Project CI / Frontend tests (push) Successful in 2m6s
Project CI / AI game creator shell web tests (push) Successful in 1m19s
Project CI / Repository checks (push) Successful in 1m43s
- 删除一次性 schema guard 退役表白名单、isApprovedRetiredTableDeletion 导出与专属测试,compareTables 收回为内部函数
- 删除 shared-contracts 未挂载的旧玩法契约模块、api-server 旧 story 模块与旧压测资源 scripts/loadtest/ 及对应忽略/排除配置
- 清理 decision-log、pitfalls 中旧表退役、两阶段清表窗口与旧玩法过程记录,保留改写后的通用条目
- 移除权威文档、模块 README 与运维文档中的旧模板、历史表与旧压测叙述
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/489
Co-authored-by: kdletters <kdletters@qq.com >
Co-committed-by: kdletters <kdletters@qq.com >
2026-09-23 11:46:39 +08:00
kdletters
f502829fde
发布灰度默认关闭:修掉客户端“看得到点不动”与后台看不到 key ( #482 )
...
Project CI / AI game creator shell Rust crates (push) Successful in 1m28s
Project CI / AI game creator shell Rust smoke (push) Successful in 2m2s
Project CI / Backend tests (push) Successful in 5m19s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 6m59s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 8m19s
Project CI / Native shell tests (push) Successful in 6m48s
Project CI / Frontend tests (push) Successful in 2m54s
Project CI / Repository checks (push) Successful in 2m58s
Project CI / AI game creator shell web tests (push) Successful in 2m34s
## 解决什么
你反馈的两个现象都是真问题,这个 PR 一次修掉:
1. **没开灰度也能看到发布按钮**:发布开关此前是「无 gate 行 = 默认开放」,所以没配灰度时后端把 `gameDistributionPublishEnabled` 判成 true,客户端就渲染了发布入口。
2. **按钮点了没反应**:发布动作的提示原先只写 `workspaceStatus`,而普通项目走 `DirectProjectChatView` 时并不渲染工作台状态行,于是「先打开一个项目再发布」「构建失败…」这类信息全都看不见。
3. **后台看不到 key**:预设项此前在未合并的另一个 PR 里,而且后台只列「已创建」的 gate 行。
## 改成什么
- `is_game_distribution_publish_enabled_for_user` 要求 gate 行存在且 `enabled=true`:**灰度默认关闭**,未登录/无行/`enabled=false` 一律不开放;只有白名单 / 灰度比例 / 用户标签命中才开放。作者写入与新版本激活都按这条判据。
- 新增与作者无关的总开关 `is_game_distribution_publish_open`:管理员审核激活新版本只看「灰度是否开启」,不会因为审核员不在作者白名单里而被挡住(这是合入后立刻发现的回归,已修 + 有用例)。
- AGC 新增 `announcePublishMessage`:发布相关提示同时写工作台状态与 DirectProject 对话,点「发布到游戏广场」不会再像没反应。
- 后台「灰度发布配置」新增「可配置开关」列表:`game-distribution:publish` 等预设即使还没创建行也会显示,点「配置」按默认关闭填表,运营开启后填白名单/比例即可放量。
## 验证
- `npm run check:game-distribution-media-e2e`(真实 Phaser 构建产物)现在覆盖:灰度关闭 → 作者拿不到入口 + 写入口 503 → 开启灰度 → 真实封面/截图直传 → 创建游戏/版本/上传/送审 → 管理员审核通过 → 网关 index.html 与 bundle 200 → nosniff;全流程通过。
- 后端:`cargo test -p api-server game_distribution` 19 passed(含新增 `game_distribution_publish_open_ignores_author_allowlist_for_activation`)、`frontend_runtime_config` 6 passed。
- 前端:admin 灰度页 10 用例(含「未创建的预设开关可见并可一键配置」)、AGC 聊天头 3 用例、网页发布页 15 用例;三端 typecheck、`check:encoding`、`check:doc-index`、`check:rustfmt`、全量 `npm test`(400 文件 / 4441 用例)与 `check:repository-ci -- origin/master HEAD` 全绿。
## 上线注意
灰度默认关闭是**刻意**的:合入后到运营在后台把 `game-distribution:publish` 配置并开启之前,作者看不到发布入口、写入口 503;已公开游戏、目录、详情、发行网关、安全下架不受影响。
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/482
Co-authored-by: kdletters <kdletters@qq.com >
Co-committed-by: kdletters <kdletters@qq.com >
2026-09-22 21:38:03 +08:00
kdletters
328ac31844
恢复游戏分发完整实现(特性分支)
...
- 主站:游戏广场、详情、在线游玩、网页发布与作者中心,以及共享契约与客户端服务
- 后端:module-game-distribution 领域层、SpacetimeDB 表/迁移/绑定、spacetime-client facade、api-server 路由与发行网关
- 后台:游戏审核页(待审列表、通过/拒绝、安全下架)
- AGC:发布面板、本地导出包读取命令与发布服务,含默认跳过的真实链路测试
- 运维:发行来源 nginx 模板与门禁、game-distribution:publish 灰度发布开关、OSS PutObject 受控重试
- 文档:主规范、里程碑与实施计划、决策日志与踩坑记录
2026-09-20 20:49:42 +08:00
kdletters
623e007fae
完善客户端发布渠道并接入模板库灰度
...
Project CI / AI game creator shell Rust shard 2/4 (push) Successful in 7m36s
Project CI / AI game creator shell Rust shard 3/4 (push) Successful in 7m37s
Project CI / AI game creator shell Rust shard 4/4 (push) Successful in 7m42s
Project CI / AI game creator shell Rust shard 1/4 (push) Successful in 7m51s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m55s
Project CI / AI game creator shell Rust crates (push) Successful in 4m15s
Project CI / Repository checks (push) Successful in 4m45s
Project CI / Frontend tests (push) Successful in 7m47s
Project CI / Native shell tests (push) Successful in 9m33s
Project CI / Backend tests (push) Successful in 10m9s
Project CI / AI game creator shell web tests (push) Successful in 4m38s
区分发布渠道与系统,支持 dev、release 和自定义渠道
允许网站通过服务端配置选择客户端下载检测渠道
接入模板库灰度权限并阻断退出和切号后的异步操作
补齐发布、下载、灰度与会话竞态测试及当前规范
2026-09-20 12:12:49 +08:00
kdletters
93ed7f2c57
将每日免费泥点纳入后台配置
...
Project CI / Repository checks (push) Successful in 1m0s
Project CI / Frontend tests (push) Successful in 2m57s
Project CI / Backend tests (push) Successful in 3m30s
Project CI / Native shell tests (push) Successful in 12m11s
在账号配置页一次维护初始泥点和每日免费额度
将每日额度贯穿钱包配置、日切重置与充值中心投影
补齐迁移兼容、生成绑定、测试和文档
2026-07-31 13:04:27 +08:00
kdletters
7ea463ed08
退役旧创作模板业务并保留数据壳
...
保留 SpacetimeDB 历史表、迁移白名单与最小兼容读取定义
移除旧创作前后端、worker、业务过程及纯业务 crate 的编译依赖
恢复现役创作、项目、我的入口及桌面移动导航
收紧 Vite、TypeScript、ESLint、Vitest 与静态资源退役边界
补齐开发栈、网关、原生壳和文档退役约束
2026-07-18 22:02:22 +08:00
kdletters
e9c3dc1120
退役旧创作模板业务
...
保留 SpacetimeDB 历史表、迁移白名单与旧业务源码
切换前端 active 入口并解除旧创作页面和路由编译链
移除旧后端路由、worker 与纯业务 crate 依赖
收敛 SpacetimeDB 模块为历史数据壳
同步 Nginx、Pingora、验证门禁与架构文档
2026-07-17 22:07:52 +08:00
kdletters
8862887baa
新增后台充值退款管理与微信V3退款闭环
...
新增充值订单查询、通用用户详情、钱包冻结与部分退款操作
接入微信V3退款申请、回调、主动查单、交易账单对账与安全诊断
新增退款占用、权益追回、异常欠账和消费限制事务
补齐Native支付SSE自动收口及退款编号与部分退款校验
同步SpacetimeDB schema、生成绑定、测试与项目文档
2026-07-14 12:16:01 +08:00
kdletters
55471e15de
补齐后台兑换码有效期与独立滚动
...
为兑换码增加可选生效和截止时间,并按左闭右开区间校验
同步 SpacetimeDB 迁移、生成绑定、共享契约和后台管理界面
让后台侧边栏与主内容区域独立滚动
修正兑换业务拒绝的 HTTP 状态映射并补充回归测试和文档
2026-07-13 17:26:47 +08:00
kdletters
66178edc7c
统一泥点账户与每日免费额度
...
- 新增每日免费泥点独立余额桶,按北京时间零点固定重置20泥点
- 按每日免费、会员限时、永久顺序扣费并支持跨日退款按原分桶回补
- 统一主站与图片画板泥点入口,隐藏限时泥点、任务入口和会员购买入口
- 收敛四档充值商品与泥点购买弹窗,并接入后台动态商品配置
- 同步余额read model、SpacetimeDB迁移绑定、回归测试和工程文档
- 将泥点明细浮层圆角匹配首页卡片视觉规范
2026-07-12 19:35:22 +08:00
kdletters
00ff425e03
改造充值订单过期补偿流程
...
新增 SpacetimeDB 原生充值订单过期 timer 与 expired 状态。
移除 api-server 轮询 worker,改为 HTTP 角色订阅 Pending 到 Expired 事件并查单补偿。
统一微信下单 5 分钟 time_expire,并恢复前端支付通道选择与 expired 展示。
补齐生成绑定、前后端契约、测试和项目文档。
2026-07-10 01:37:53 +08:00
kdletters
5f6f4d0ba6
接入会员周期泥点制度
...
新增 Starter、Basic、Pro、Ultimate 会员商品配置与权益字段。
拆分会员有效期、周期重置时间、周期限时泥点和永久泥点余额。
实现升级补价补点但不延长有效期或移动重置时间,同级购买只延长有效期。
补齐钱包扣费与退款中的会员周期泥点消耗、重置和流水记录。
同步后台商品配置、前端充值展示、共享契约、SpacetimeDB 迁移与生成绑定。
2026-07-09 14:48:26 +08:00
kdletters
25cac367c6
接入功能灰度与画布 Agent 灰度
...
新增 SpacetimeDB 灰度配置表与后端判定链路
新增后台灰度发布页面和两段式 Gate Key 选择器
将画布 Agent 入口接入灰度配置与运行时能力下发
修复灰度配置刷新读取空本地缓存的问题
补充灰度规则和后台下拉维护约定文档
2026-07-08 11:26:41 +08:00
kdletters
15bca90ed2
持久化码后台操作记录
...
新增兑换码和邀请码后台操作持久表。
列表接口返回全部操作记录并同步前后端契约。
后台页面展示持久化操作历史并移除最近一条会话记录。
更新 SpacetimeDB 迁移表清单、生成绑定和后端架构文档。
2026-07-02 17:31:33 +08:00
kdletters
cf585b6316
修正兑换码按用户限兑校验
...
唯一码和私有码改为按用户限制重复兑换
兑换失败日志补充请求与用户上下文
补充兑换码模式校验测试
同步共享决策记录
2026-06-30 18:22:48 +08:00
kdletters
73a17193d4
升级外部生成为正式任务列表
...
将 external_generation_job 扩展为含价格、确认时间、退款流水和事件审计的正式生成任务事实源
新增外部生成任务列表与确认 BFF,并让平台入口按后端任务补弹完成或失败提示
保护画布生成队列超时、快照回写和自动保存覆盖场景
将 worker 计费退款流水写入 externalGenerationJobId,并补充冷备份后 worker/controller 恢复守护
2026-06-24 15:17:12 +08:00
kdletters
afc2f03497
新增后台账号初始泥点配置
...
新增 profile_wallet_config 表和后台读写接口
注册赠送泥点改为读取后台配置并保留默认 100
后台新增账号配置页并同步数据契约文档
2026-06-23 17:42:49 +08:00
kdletters
e29992cf01
点赞和改造开关加入后台配置
2026-06-10 14:37:04 +08:00
kdletters
d0be3f36aa
fix: 按契约显示统一创作表头
2026-06-06 23:51:53 +08:00
wuxiangwanzi
18908609fc
feat: 统一创作页表头跟随后台入口配置
2026-06-06 22:49:38 +08:00
kdletters
b2543ba8a2
Merge branch 'master' into codex/puzzle-clear-template-runtime-fixes
2026-06-06 20:01:52 +08:00
kdletters
2db3a6e185
Merge remote-tracking branch 'origin/master' into dev-jenken
...
# Conflicts:
# .hermes/shared-memory/pitfalls.md
# server-rs/crates/api-server/src/modules/jump_hop.rs
# src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx
# src/services/jump-hop/jumpHopClient.test.ts
2026-06-05 23:59:40 +08:00
JenkenB
27b30f974b
Update spacetime-client bindings and frontend
...
Large update across server and web clients: regenerated/added many spacetime-client module bindings and input types (including new delete/work_delete input types and numerous procedure/reducer files), updates to server-rs API modules (bark_battle, jump_hop, wooden_fish, auth, module-runtime and shared contracts), and fixes in module-runtime behavior and domain logic. Frontend changes include new/updated components and tests (creative audio helpers, bark-battle/jump-hop/wooden-fish clients and views, unified generation pages, RPG entry views, and runtime shells), plus CSS and service updates. Documentation and operational notes updated (.hermes pitfalls and multiple PRD/docs) to cover daily-task refresh, banner asset fallback, recommend-key bug, and other platform behaviors. Tests and verification steps added/updated alongside these changes.
2026-06-04 22:44:19 +08:00
wuxiangwanzi
c442c3c3f0
Merge remote-tracking branch 'origin/codex/tiaoyitiao' into codex/tiaoyitiao
...
# Conflicts:
# docs/prd/【玩法创作】跳一跳俯视角玩法模板PRD-2026-05-19.md
# server-rs/crates/spacetime-client/src/jump_hop.rs
# server-rs/crates/spacetime-client/src/mapper/runtime.rs
# server-rs/crates/spacetime-client/src/wooden_fish.rs
# src/components/jump-hop-result/JumpHopResultView.test.tsx
# src/components/jump-hop-runtime/JumpHopRuntimeShell.test.tsx
# src/components/platform-entry/PlatformEntryFlowShellImpl.tsx
# src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx
# src/components/unified-creation/workspaces/JumpHopCreationWorkspace.tsx
# src/components/unified-creation/workspaces/JumpHopWorkspace.test.tsx
2026-06-04 11:34:31 +08:00
wuxiangwanzi
b9de2f2a43
Merge branch 'master' into codex/puzzle-clear-template-runtime-fixes
...
# Conflicts:
# .hermes/shared-memory/decision-log.md
# .hermes/shared-memory/project-overview.md
# docs/【开发运维】本地开发验证与生产运维-2026-05-15.md
# scripts/dev.test.ts
# server-rs/crates/api-server/src/creation_entry_config.rs
# server-rs/crates/api-server/src/wooden_fish.rs
# server-rs/crates/module-auth/src/lib.rs
# server-rs/crates/spacetime-client/src/wooden_fish.rs
# server-rs/crates/spacetime-module/src/auth/procedures.rs
# src/components/custom-world-home/creationWorkShelf.ts
# src/components/platform-entry/PlatformEntryFlowShellImpl.tsx
# src/components/rpg-entry/rpgEntryWorldPresentation.ts
# src/services/miniGameDraftGenerationProgress.test.ts
# src/services/miniGameDraftGenerationProgress.ts
2026-06-04 11:24:14 +08:00
wuxiangwanzi
7d2d67a3f5
feat(jump-hop): redesign sling platform gameplay
2026-06-03 22:21:00 +08:00
wuxiangwanzi
1b5e098225
feat: add puzzle clear template runtime
2026-06-03 22:11:46 +08:00
kdletters
70ff18ad90
feat: 支持创作入口公告配置
2026-06-03 03:31:45 +08:00
kdletters
c193a352df
收口创作流程统一总计划并修复等待页窄屏裁切
2026-05-31 05:57:34 +00:00
kdletters
26975644b5
feat: unify phase one creation flow
2026-05-30 05:05:02 +08:00
JenkenB
50a0d6f982
Refine creation tab UX, generation flow, and bindings
...
Large changes across frontend, backend and docs to align creation-tab and generation-page behavior with new product UI/UX and Spacetime bindings. Updated hermes decision-log and pitfalls with concrete rules (banner carousel, font sizing, unread-dot tokens, template-card layout, direct card->entry routing, separation of account balance vs prize pools, removal of global page card shell, generation progress milestones and unified circular progress, and background video handling). Added GenerationProgressHero component and media assets, plus generation-related UI/tests updates (CustomWorldGenerationView, BarkBattleGeneratingView, creation hub/cards, platform entry routing, index tests). Backend and contract updates include new category fields in admin API types and admin UI form/list, spacetime-client/module/migration changes and generated bindings script. Misc: many tests adjusted, new docs and plan files added, and several server-rs crate changes to support the updated creation/ generation workflows.
2026-05-25 00:41:30 +08:00
kdletters
d46c5f9383
Merge remote-tracking branch 'origin/codex/wooden-fish-template'
2026-05-22 08:09:58 +08:00
kdletters
61b850c2c2
Merge remote-tracking branch 'origin/master' into codex/bark-battle
2026-05-22 05:12:29 +08:00
kdletters
bf82f04b64
fix: polish bark battle creation flow
2026-05-22 05:00:07 +08:00
wuxiangwanzi
0faabb27c7
Merge remote-tracking branch 'origin/master' into codex/wooden-fish-template
2026-05-22 04:00:52 +08:00
wuxiangwanzi
5b0f9f3763
feat: add wooden fish play template
2026-05-21 23:34:07 +08:00
kdletters
41075e41a2
fix: stabilize rpg creation entry and opening cg
2026-05-21 17:21:38 +08:00
wuxiangwanzi
ef09a23c35
feat: refresh creation config and visual assets
2026-05-20 14:02:36 +08:00
JenkenB
3931442249
Enforce Genarrative play-type SOP and update docs
...
Rewrite Genarrative play-type integration guidance across .codex and .hermes to define a platform-level SOP: default to form/image workbench, unify single-image asset slots (CreativeImageInputPanel), standardize series-material sheet->cut->transparent->OSS pipeline, and forbid copying legacy chat/agent workflows as the default. Add decision-log entry freezing the SOP and a pitfalls note warning against direct reuse of old play tools. Update CONTEXT.md and docs/README.md, add a new PRD file, and apply related small server-side changes (module-auth, spacetime-client mappers and runtime) to align back-end code with the new contracts and flows.
2026-05-20 12:12:00 +08:00
JenkenB
0f36beee91
Merge branch 'master' of https://git.genarrative.world/GenarrativeAI/Genarrative
2026-05-15 06:36:48 +08:00
JenkenB
3cb3efb4d0
Prune stale docs and update .hermes content
...
Delete a large set of outdated documentation (many files under docs/ and .hermes/plans/, including audits, design, prd, technical, planning, assets, and todos). Update and consolidate .hermes content: refresh shared-memory pages (decision-log, development-workflow, document-map, pitfalls, project-overview, team-conventions) and several skills/references under .hermes/skills. Also modify AGENTS.md, README.md, UI_CODING_STANDARD.md, docs/README.md and .encoding-check-ignore. Purpose: clean up stale planning/audit material and keep current hermes documentation and related top-level docs in sync.
2026-05-15 06:24:07 +08:00
kdletters
c7fe793a9e
feat: 支持充值商品配置和档位首充
2026-05-15 06:20:52 +08:00
kdletters
73424f958a
Merge remote-tracking branch 'origin/master' into hermes/wechat
...
# Conflicts:
# .hermes/shared-memory/pitfalls.md
# .hermes/todos/【后端架构】api-server能力模块化与图片资产Adapter收口计划-2026-05-14.md
2026-05-15 01:28:04 +08:00
JenkenB
4642855fd0
Merge branch 'master' of https://git.genarrative.world/GenarrativeAI/Genarrative
2026-05-14 21:33:34 +08:00
kdletters
5c5a8d4a40
fix: enforce WeChat Pay JSAPI field limits
2026-05-14 20:22:49 +08:00
wuxiangwanzi
e444266e1e
feat: add edutainment drawing and visual package flows
2026-05-14 14:56:36 +08:00
kdletters
ae58a443a3
feat: 接入微信小程序支付
2026-05-14 00:16:17 +08:00
JenkenB
e30b733b17
1
2026-05-11 16:15:48 +08:00
kdletters
6c1579a786
merge: database backed creation entry config
...
# Conflicts:
# src/components/platform-entry/PlatformEntryFlowShellImpl.tsx
2026-05-11 11:25:35 +08:00
kdletters
793d82cccd
feat: move creation entry config to database
2026-05-11 11:23:24 +08:00