kdletters
|
458371a73d
|
将退款 outbox 主路径迁入 SpacetimeDB (#204)
Project CI / Repository checks (push) Successful in 4m11s
Project CI / Frontend tests (push) Successful in 8m38s
Project CI / Backend tests (push) Successful in 10m42s
Project CI / Native shell tests (push) Successful in 32m11s
## 变更内容
- 新增 `profile_wallet_refund_outbox` 表与 enqueue/process procedure,退款主路径进入 SpacetimeDB。
- 外部生成失败事务、inline 资产失败和跨节点 worker 统一使用库内 outbox,按 ledger 幂等并在事务内完成退款与删除。
- SpacetimeDB 完全不可达时才写本机 emergency spool,恢复时重新入库;兼容旧 spool 文件并保留 attempt 追踪。
- 更新 SpacetimeDB migration、生成 bindings、架构文档、运维恢复说明和项目决策记录。
## 验证
- `cargo check -p spacetime-module -p spacetime-client -p api-server --manifest-path server-rs/Cargo.toml`
- api-server / spacetime-client / spacetime-module / module-runtime 定向测试
- `npm run check:spacetime-schema`
- `npm run check:spacetime-runtime-access`
- `npm run check:server-rs-ddd`
- `npm run check:encoding`
- `git diff --check`
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/204
Co-authored-by: kdletters <kdletters@qq.com>
Co-committed-by: kdletters <kdletters@qq.com>
|
2026-08-27 22:04:50 +08:00 |
|
kdletters
|
93ed7f2c57
|
将每日免费泥点纳入后台配置
Project CI / Repository checks (push) Successful in 1m0s
Project CI / Backend tests (push) Successful in 3m30s
Project CI / Frontend tests (push) Successful in 2m57s
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
|
55471e15de
|
补齐后台兑换码有效期与独立滚动
为兑换码增加可选生效和截止时间,并按左闭右开区间校验
同步 SpacetimeDB 迁移、生成绑定、共享契约和后台管理界面
让后台侧边栏与主内容区域独立滚动
修正兑换业务拒绝的 HTTP 状态映射并补充回归测试和文档
|
2026-07-13 17:26:47 +08:00 |
|
kdletters
|
542fb09365
|
接入微信 Native 充值与订单过期处理
调整网页端充值渠道,微信内浏览器在开放平台接入前走 Native 支付。
拆分 Native 支付二维码弹窗,展示金额和充值内容并取消无效 code_url 跳转。
修复微信 Native 下单 time_expire 秒级 RFC3339 格式,避免小数秒参数错误。
新增充值订单 5 分钟过期调度,过期前查询微信真实订单状态。
补充微信授权绑定、路由加载恢复和后台表时间显示等配套逻辑。
更新 SpacetimeDB schema、绑定和相关文档测试。
|
2026-07-08 21:35:02 +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
|
0152f9bd67
|
Merge branch 'hermes/wechat'
# Conflicts:
# .hermes/shared-memory/decision-log.md
# docs/technical/MY_TAB_ACCOUNT_RECHARGE_IMPLEMENTATION_2026-04-25.md
# docs/technical/OIDC_JWT_CLAIMS_DESIGN_2026-04-21.md
# server-rs/crates/module-runtime/src/errors.rs
# src/components/rpg-entry/RpgEntryHomeView.recharge.test.tsx
# src/components/rpg-entry/RpgEntryHomeView.tsx
|
2026-05-15 11:32:51 +08:00 |
|
kdletters
|
5b70ec6af7
|
feat: 接入微信H5与Native充值支付
|
2026-05-15 06:40:40 +08:00 |
|
kdletters
|
c7fe793a9e
|
feat: 支持充值商品配置和档位首充
|
2026-05-15 06:20:52 +08:00 |
|
JenkenB
|
d33c937ebc
|
1
|
2026-05-14 14:21:17 +08:00 |
|
kdletters
|
ae58a443a3
|
feat: 接入微信小程序支付
|
2026-05-14 00:16:17 +08:00 |
|
JenkenB
|
192accd796
|
1
|
2026-05-10 22:20:54 +08:00 |
|
kdletters
|
199b44c18c
|
Add backend feedback submission and image preview
CI / verify (push) Has been cancelled
|
2026-05-08 21:47:45 +08:00 |
|
kdletters
|
9f3e34e81a
|
feat: add invite code validity controls
- Add invite code starts/expires fields across contracts, API, Spacetime bindings, and admin UI
- Enforce pending/expired invite code redemption behavior and expose admin status
- Add admin write-operation confirmation guard and documentation
- Add invite code contract/runtime tests
|
2026-05-04 13:54:40 +08:00 |
|
kdletters
|
34aecdddf1
|
Add skill for gameplay entry type workflows
|
2026-05-04 02:32:38 +08:00 |
|
JenkenB
|
5831703156
|
1
CI / verify (push) Has been cancelled
|
2026-05-02 20:43:41 +08:00 |
|
kdletters
|
8f4ca9abfa
|
Merge remote-tracking branch 'origin/master' into codex/ddd
# Conflicts:
# docs/technical/README.md
# docs/technical/RUST_API_SERVER_ROUTE_INDEX_2026-04-22.md
# docs/technical/SPACETIMEDB_TABLE_CATALOG.md
# scripts/generate-spacetime-bindings.mjs
# server-rs/crates/api-server/src/app.rs
# server-rs/crates/api-server/src/assets.rs
# server-rs/crates/api-server/src/big_fish.rs
# server-rs/crates/api-server/src/custom_world_ai.rs
# server-rs/crates/api-server/src/llm.rs
# server-rs/crates/api-server/src/main.rs
# server-rs/crates/api-server/src/puzzle.rs
# server-rs/crates/api-server/src/runtime_profile.rs
# server-rs/crates/api-server/src/runtime_story/compat/ai.rs
# server-rs/crates/api-server/src/runtime_story/compat/npc_actions.rs
# server-rs/crates/api-server/src/runtime_story/compat/presentation.rs
# server-rs/crates/api-server/src/runtime_story/compat/tests.rs
# server-rs/crates/api-server/src/state.rs
# server-rs/crates/module-auth/src/lib.rs
# server-rs/crates/module-big-fish/src/lib.rs
# server-rs/crates/module-custom-world/src/lib.rs
# server-rs/crates/module-puzzle/src/lib.rs
# server-rs/crates/module-runtime/src/lib.rs
# server-rs/crates/spacetime-client/src/big_fish.rs
# server-rs/crates/spacetime-client/src/lib.rs
# server-rs/crates/spacetime-client/src/mapper.rs
# server-rs/crates/spacetime-client/src/module_bindings/admin_disable_profile_redeem_code_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/admin_upsert_profile_redeem_code_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/advance_puzzle_next_level_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/append_ai_text_chunk_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/apply_chapter_progression_ledger_entry_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/attach_ai_result_reference_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/authorize_database_migration_operator_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/begin_story_session_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/big_fish_runtime_run_type.rs
# server-rs/crates/spacetime-client/src/module_bindings/bind_asset_object_to_entity_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/cancel_ai_task_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/clear_platform_browse_history_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/compile_big_fish_draft_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/compile_custom_world_published_profile_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/compile_puzzle_agent_draft_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/complete_ai_stage_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/complete_ai_task_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/confirm_asset_object_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/consume_profile_wallet_points_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/continue_story_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/create_ai_task_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/create_battle_state_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/create_big_fish_session_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/create_custom_world_agent_session_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/create_profile_recharge_order_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/create_puzzle_agent_session_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/delete_big_fish_work_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/delete_custom_world_agent_session_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/delete_custom_world_profile_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/delete_puzzle_work_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/delete_runtime_snapshot_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/drag_puzzle_piece_or_group_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/execute_custom_world_agent_action_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/export_auth_store_snapshot_from_tables_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/export_database_migration_to_file_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/fail_ai_task_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/finalize_big_fish_agent_message_turn_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/finalize_custom_world_agent_message_turn_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/finalize_puzzle_agent_message_turn_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/generate_big_fish_asset_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_auth_store_snapshot_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_battle_state_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_big_fish_session_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_chapter_progression_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_card_detail_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_operation_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_agent_session_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_gallery_detail_by_code_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_gallery_detail_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_custom_world_library_detail_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_player_progression_or_default_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_profile_dashboard_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_profile_play_stats_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_profile_recharge_center_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_profile_referral_invite_center_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_agent_session_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_gallery_detail_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_run_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_puzzle_work_detail_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_runtime_inventory_state_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_runtime_setting_or_default_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_runtime_snapshot_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/get_story_session_state_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/grant_player_progression_experience_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/import_auth_store_snapshot_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/import_database_migration_from_file_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/import_database_migration_incremental_from_file_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/list_asset_history_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/list_big_fish_works_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_gallery_entries_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_profiles_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/list_custom_world_works_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/list_platform_browse_history_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/list_profile_save_archives_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/list_profile_wallet_ledger_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/list_puzzle_gallery_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/list_puzzle_works_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/mod.rs
# server-rs/crates/spacetime-client/src/module_bindings/publish_big_fish_game_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_profile_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/publish_custom_world_world_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/publish_puzzle_work_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/record_big_fish_play_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/redeem_profile_referral_invite_code_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/redeem_profile_reward_code_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/refund_profile_wallet_points_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/resolve_combat_action_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_battle_interaction_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_interaction_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/resolve_npc_social_action_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/resolve_treasure_interaction_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/resume_profile_save_archive_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/revoke_database_migration_operator_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/save_puzzle_generated_images_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/select_puzzle_cover_image_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/start_puzzle_run_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/submit_big_fish_message_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/submit_custom_world_agent_message_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/submit_puzzle_agent_message_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/submit_puzzle_leaderboard_entry_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/swap_puzzle_pieces_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/unpublish_custom_world_profile_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/update_puzzle_work_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/upsert_auth_store_snapshot_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/upsert_chapter_progression_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/upsert_custom_world_agent_operation_progress_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/upsert_custom_world_profile_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/upsert_npc_state_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/upsert_platform_browse_history_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/upsert_runtime_setting_and_return_procedure.rs
# server-rs/crates/spacetime-client/src/module_bindings/upsert_runtime_snapshot_and_return_procedure.rs
# server-rs/crates/spacetime-module/src/auth/procedures.rs
# server-rs/crates/spacetime-module/src/custom_world/mod.rs
# server-rs/crates/spacetime-module/src/lib.rs
# server-rs/crates/spacetime-module/src/migration.rs
# server-rs/crates/spacetime-module/src/puzzle.rs
# server-rs/crates/spacetime-module/src/runtime/profile.rs
# src/components/platform-entry/PlatformEntryFlowShellImpl.tsx
# src/components/rpg-entry/RpgEntryFlowShell.agent.interaction.test.tsx
# src/services/aiService.ts
# src/services/puzzle-runtime/puzzleRuntimeClient.ts
|
2026-05-02 03:35:59 +08:00 |
|
kdletters
|
fd08262bf0
|
Close DDD cleanup and tests-support closure
|
2026-04-30 16:15:05 +08:00 |
|
kdletters
|
7ab0933f6d
|
Integrate unfinished server-rs refactor worklists
|
2026-04-30 13:39:06 +08:00 |
|
Codex
|
aa2e9b36d7
|
完善 server-rs DDD 重构计划与骨架
|
2026-04-29 11:51:30 +08:00 |
|