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
|
47083bfe05
|
切断认证快照同步路径
删除 auth_store_snapshot 表和旧 JSON 快照 procedure。
改用 AuthStoreProjectionView 同步 user_account、auth_identity 和 refresh_session。
让 auth 服务从 user_account 投影恢复内存工作集。
同步生成绑定、schema guard 和后端架构文档。
|
2026-07-01 19:07:21 +08:00 |
|
kdletters
|
c8efdbcfc9
|
修复手机号重复账号合并
把手机号、昵称和头像回填并固定到 user_account。
停止新写入依赖 auth_identity 的账号资料旧列。
新增重复手机号账号库内合并 procedure,避免线上全量导出扫描。
更新 SpacetimeDB 绑定和账号资料职责文档。
|
2026-07-01 15:39:24 +08:00 |
|
kdletters
|
e0e3348f79
|
修复认证快照回灌导致重复账号
切断运行中从 SpacetimeDB 整包快照回灌内存的路径
清空旧 auth_store_snapshot 并仅保留一次性迁移
修复手机号字段只在 AuthUser 中时重复创建账号
同步认证排障与后端数据契约文档
|
2026-06-30 20:58:33 +08:00 |
|
kdletters
|
1fab3e79fa
|
修复陶泥号重复生成
认证快照恢复 next_user_id 改为跟随最大陶泥号
新增 user_account 迁移 JSON 陶泥号补救脚本
补充 UUID 用户编号恢复回归测试
(cherry picked from commit 114773c5876d421e9be4d3bc7372c189d70eae86)
|
2026-06-30 17:12:13 +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
|
1b5e098225
|
feat: add puzzle clear template runtime
|
2026-06-03 22:11:46 +08:00 |
|
kdletters
|
67ba40c678
|
Refine play type integration flow and docs
|
2026-06-03 01:25:53 +08:00 |
|
kdletters
|
f1fb92aa29
|
Enrich external API failure audit metadata
|
2026-05-28 15:42:46 +08:00 |
|
kdletters
|
418fcb0548
|
Fail closed when SpacetimeDB auth restore is unavailable
|
2026-05-27 20:58:37 +08:00 |
|
kdletters
|
269f35cecf
|
refactor: split large modules and normalize rust layout
|
2026-05-18 19:40:14 +08:00 |
|
kdletters
|
166544fae6
|
Persist auth store into formal tables
|
2026-05-14 03:59:55 +08:00 |
|
JenkenB
|
e30b733b17
|
1
|
2026-05-11 16:15:48 +08:00 |
|
JenkenB
|
85ed8ca90c
|
1
CI / verify (push) Has been cancelled
|
2026-05-10 22:28:47 +08:00 |
|
JenkenB
|
192accd796
|
1
|
2026-05-10 22:20:54 +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
|
7ab0933f6d
|
Integrate unfinished server-rs refactor worklists
|
2026-04-30 13:39:06 +08:00 |
|