Commit Graph

250 Commits

Author SHA1 Message Date
kdletters 0eb49fcc9d 接入H5支付外链宿主打开
H5支付链接在原生壳内优先走宿主外链入口

宿主未处理支付链接时保留浏览器跳转回退

同步支付跳转测试、宿主壳协议和共享记忆
2026-06-19 12:22:18 +08:00
kdletters f619d861c9 接入原生壳文档导入
新增 HostBridge file.importDocument 契约与文档 MIME 边界

实现 Expo 与 Tauri 受控文档选择和 base64 返回

创作 Agent 工作台优先使用文档导入并保留文本导入兜底

同步宿主壳门禁、测试、架构文档和共享记忆
2026-06-19 09:35:37 +08:00
kdletters c054e51580 加固宿主事件订阅门禁
新增原生壳检查脚本对 H5 HostBridge 事件订阅双能力门控的静态反查

补齐 HostBridge 事件订阅测试矩阵里的返回栈事件负向覆盖

更新宿主壳协议、壳方案和共享记忆中的事件门禁说明
2026-06-19 08:41:42 +08:00
kdletters 153cd8db9c 收紧宿主事件订阅门控
H5 HostBridge 事件订阅统一要求 host.events 与具体事件能力

补充事件通道和事件能力缺失的双向门控测试

更新宿主壳事件能力文档和共享决策记录
2026-06-19 08:30:19 +08:00
kdletters de2798d415 收口宿主上下文查询契约
共享 HostBridge 契约新增宿主上下文 query 字段和值

移动壳和 H5 运行态改用共享 query 契约

桌面壳和微信壳门禁反查共享 query 契约

微信请求头和 H5 路由保留字段跟随共享契约

同步宿主上下文契约文档和共享记忆
2026-06-19 07:39:51 +08:00
kdletters 4790f1dca5 补齐小程序壳路由一致性门禁
根级原生壳验收新增小程序页面路由一致性检查

订阅授权页面常量纳入微信协议反查

小程序 H5 页面常量、分享入口、来源 query 和 HTTPS 域名格式纳入门禁

同步宿主壳文档和共享决策记录
2026-06-19 06:51:34 +08:00
kdletters e4b9cbf09d 接入移动端原生扫码能力
新增 scanner.scanQrCode HostBridge 契约与二维码结果归一。

接入 Expo Camera 扫码 overlay 并保留 H5 浏览器扫码回退。

让 Tauri 白名单识别扫码 method 但不声明桌面扫码能力。

同步原生壳门禁、Expo 权限检查、方案文档和共享决策记录。
2026-06-19 05:13:21 +08:00
kdletters 429e65952d 收口宿主事件白名单
新增共享 HostBridge event 白名单与类型守卫

让 H5、Expo 和 Tauri 只分发白名单宿主事件

补齐移动端、桌面端和根级原生壳门禁

更新宿主壳方案文档和项目决策记录
2026-06-19 02:18:36 +08:00
kdletters 75cd4f1abc 收口原生壳能力来源
新增共享 HostBridge capability profile,区分 Expo 移动通用、iOS 额外和 Tauri 桌面能力

移动壳能力清单改为引用共享 profile,入口 URL 类型支持 readonly 能力数组

两端配置检查和原生壳总门禁改为反查共享 profile,桌面 Rust 清单保持运行时镜像

补充 HostBridge profile 单测和 H5 readonly 能力合并类型兼容

同步 Expo/Tauri 壳方案、HostBridge 协议文档和项目决策记录
2026-06-19 02:02:15 +08:00
kdletters 6c17b4917f 原生壳补齐Tauri请求超时
H5 Tauri HostBridge transport 按 timeoutMs 释放卡住的 invoke 请求

补充 Tauri 超时、计时器清理和迟到回包不改写结果的单测

桌面壳配置门禁锁定 Tauri transport 超时封装

同步宿主壳方案文档和共享决策日志
2026-06-18 23:02:07 +08:00
kdletters 13f1738d9c 桌面壳补齐返回栈状态事件
为 Tauri 壳声明 navigation.canGoBack 能力

注入固定脚本追踪 H5 当前文档路由栈并回放 HostBridge 事件

补充 H5 返回栈事件订阅 facade 与测试

更新原生壳门禁、方案文档和共享决策
2026-06-18 21:50:18 +08:00
kdletters 8754269705 收口H5桌面壳命令入口
共享HostBridge契约导出唯一Tauri命令名

H5原生壳Transport改用共享Tauri命令常量

桌面壳配置检查对齐H5与Rust命令入口

宿主壳方案文档补充Tauri命令入口门禁

共享决策日志记录H5 Tauri命令边界
2026-06-18 14:06:05 +08:00
kdletters 6cf1038ff3 收口HostBridge入站消息来源
让Expo和Tauri注入的HostBridge消息显式携带当前窗口origin和source

H5原生HostBridge监听器拒绝非当前窗口或非当前origin的消息

补充伪造来源回包测试,防止sandbox消息结算宿主请求

更新原生壳方案和共享决策记录
2026-06-18 12:43:53 +08:00
kdletters f7126f9556 接入移动端壳相机图片导入能力
新增 HostBridge file.captureImage 契约与 H5 facade

Expo 移动壳通过系统相机拍摄图片并复用图片导入校验

通用图片输入面板按宿主能力展示拍摄入口并转换为现有 File 回调

补充移动壳、HostBridge、图片面板测试和原生壳文档
2026-06-18 06:03:45 +08:00
kdletters b3278739a5 接入原生壳音频文件导出能力
新增 file.exportAudio HostBridge 契约和 H5 facade

移动端通过 Expo 缓存文件与系统分享导出受控音频

桌面端通过 Tauri 保存对话框写入受控音频字节

通用音频输入面板仅对本地音频资产展示宿主导出入口

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 05:42:16 +08:00
kdletters 3be997e286 接入原生壳音频文件导入能力
新增 file.importAudio HostBridge 契约和 H5 facade

移动端通过 Expo DocumentPicker 读取受控音频文件

桌面端通过 Tauri 文件选择框读取受控音频文件

通用音频输入面板在原生壳复用宿主导入和现有音频处理管线

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 05:25:39 +08:00
kdletters 51dcff6d16 接入原生壳页面刷新能力
新增 app.reloadWebView HostBridge 契约和 H5 facade

移动端通过 react-native-webview reload 刷新当前 WebView

桌面端通过 Tauri WebviewWindow reload 刷新主窗口

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 05:07:01 +08:00
kdletters 1c6749b53e 接入原生壳文本文件导入能力
新增 file.importText HostBridge 契约和 H5 facade

移动端通过 Expo DocumentPicker 读取受控文本文件

桌面端通过 Tauri 文件选择框读取受控文本文件

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 04:51:56 +08:00
kdletters c7a24fba37 接入原生壳剪贴板读取能力
新增 clipboard.readText HostBridge 契约和 H5 facade

移动端通过 expo-clipboard 读取纯文本剪贴板

桌面端通过 Tauri clipboard-manager 读取纯文本剪贴板

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 04:38:16 +08:00
kdletters bbfe4b7181 接入原生壳本地通知能力
新增 notification.showLocal HostBridge 契约和 H5 facade

移动端通过 expo-notifications 发送即时本地通知

桌面端通过 Tauri notification 插件发送系统通知

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 04:24:55 +08:00
kdletters 14f838c414 接入移动壳图片导入能力
Expo 壳通过系统相册选择器实现 file.importImage

限制导入图片 MIME 与大小并避免暴露设备本地 URI

H5 facade 将用户取消导入归为无选择回退

更新移动壳依赖、配置校验、测试和架构文档
2026-06-18 03:04:21 +08:00
kdletters 199f02cf9f 接入桌面壳图片导入能力
新增 file.importImage 与 file.imageDropped HostBridge 能力

Tauri 壳通过系统图片选择和主窗口拖拽读取真实图片文件

H5 统一使用导入图片与拖入图片事件 facade

限制图片 MIME 与大小并避免暴露本机绝对路径

更新壳能力校验、测试和架构文档
2026-06-18 02:52:37 +08:00
kdletters 586e46fa63 接入原生壳网络状态能力
新增 network.status 与 network.statusChanged HostBridge 能力

Expo 壳通过 expo-network 查询并订阅真实网络状态

Tauri 壳通过主站可达性查询和 WebView online/offline 事件同步网络状态

更新壳能力检查、测试和架构文档
2026-06-18 02:35:48 +08:00
kdletters 346368f0e7 接入原生壳生命周期事件
新增 app.lifecycle HostBridge 能力与 H5 订阅入口

Expo 壳通过 React Native AppState 注入真实前后台状态

Tauri 壳通过主窗口 focus 和 blur 注入真实激活状态

更新壳能力漂移检查、测试和架构文档
2026-06-18 02:16:47 +08:00
kdletters 45eec17007 接入原生壳外观查询能力
新增 HostBridge appearance.getColorScheme 只读契约和 H5 facade

Expo 壳通过 React Native Appearance 读取系统配色

Tauri 壳通过主窗口 theme 读取桌面配色

补齐外观查询测试、漂移检查和架构文档
2026-06-18 02:00:49 +08:00
kdletters 6b39bdbe19 接入原生壳应用角标能力
新增 HostBridge app.setBadgeCount 契约和 H5 能力门控

Expo 壳按平台声明能力并在 iOS 调用系统角标 API

Tauri 壳通过主窗口设置任务栏角标并校验 payload

补齐角标能力测试、漂移检查和架构文档
2026-06-18 01:50:15 +08:00
kdletters 910625d5e1 接入原生壳分享卡图片导出
新增 file.exportImage 宿主能力契约

分享卡下载在原生壳中优先走宿主图片导出

Expo 壳写入缓存图片并调用系统分享保存

Tauri 壳通过保存对话框写入图片字节

补齐能力漂移检查、测试和架构文档
2026-06-18 01:31:28 +08:00
kdletters 5c3b70caf1 回读宿主运行态能力
HostBridge 启动时通过真实 host.getRuntime 回读并缓存宿主能力

主 App 订阅宿主能力变化并在回读后刷新能力入口

补充宿主 runtime 回读测试和 App 能力刷新测试

更新 Expo/Tauri 壳方案、HostBridge 协议文档和共享决策记录
2026-06-18 01:02:58 +08:00
kdletters 38ed2227d3 按宿主能力声明启用原生能力
HostBridge 契约沉淀 method 与 capability 白名单

H5 解析 hostCapabilities 并按能力调用原生桥

发布分享弹窗仅在声明 share.open 时显示系统分享

补充能力声明测试和宿主壳文档
2026-06-18 00:48:13 +08:00
kdletters fec8b626f5 接入原生壳外链打开路径
H5 新增 openHostExternalUrl 并归一化外链 URL

备案号和资产调试原图在 native_app 中优先交给宿主打开

补充 HostBridge 外链测试和宿主壳文档
2026-06-18 00:30:36 +08:00
kdletters 4266c1e5e8 接入发布分享原生系统分享路径
发布分享弹窗在 native_app 中调用 share.open

保留复制链接与下载卡片回退路径

补充 HostBridge 分享测试和宿主壳能力文档
2026-06-18 00:16:26 +08:00
kdletters d64e576e3f 接入桌面壳窗口标题同步路径
H5 主站按当前平台阶段同步 document.title

native_app 中通过 app.setTitle 请求 Tauri 窗口标题同步

补充标题同步测试和宿主壳能力文档
2026-06-18 00:07:21 +08:00
kdletters 78afd81269 接入移动壳原生触觉反馈
H5 HostBridge 增加 haptics.impact 受控调用入口

运行时点击反馈优先请求 Expo 触觉能力并保留浏览器震动回退

补充触觉反馈测试和宿主壳能力文档
2026-06-17 23:57:46 +08:00
kdletters b03c910f49 接入宿主壳原生剪贴板复制路径
H5 复制服务在 native_app 中优先调用 clipboard.writeText

保留浏览器 Clipboard API 与 legacy selection copy 回退路径

补充 HostBridge 剪贴板测试和宿主壳能力文档
2026-06-17 23:40:57 +08:00
kdletters d67f9d5725 接入桌面壳文本文件导出能力
新增 HostBridge file.exportText 契约、文件名清洗和 H5 导出入口

Tauri 桌面壳通过受控 host_bridge_request 打开保存对话框并写入文本文件

Expo 移动壳对未接入的文件导出能力明确返回 unsupported

更新宿主壳方案、统一协议和项目共享决策记录
2026-06-17 23:02:01 +08:00
kdletters 6f19e1c3ba 接入移动壳返回栈事件
移动壳声明 host.events 和 navigation.canGoBack 能力

Expo WebView 导航状态变化时向 H5 注入返回栈事件

H5 native_app transport 支持订阅 HostBridge 事件

补充事件订阅测试、移动壳能力测试和配置守卫

更新宿主壳方案和团队共享决策记录
2026-06-17 22:42:44 +08:00
kdletters 9b7da18879 新增 Expo 与 Tauri 原生宿主壳
新增 HostBridge 原生宿主契约和 H5 native_app transport

新增 Expo React Native 移动壳并收紧 WebView 外链边界

新增 Tauri 桌面壳并用 capability 收口受控命令

更新宿主壳方案、文档索引和共享记忆
2026-06-17 21:39:34 +08:00
kdletters f92e791464 统一 H5 宿主壳能力协议
新增 HostBridge 通用宿主能力服务与测试

迁移登录支付分享订阅入口到通用 HostBridge API

保留微信小程序旧接口兼容包装

补充宿主壳协议文档与项目记忆
2026-06-17 20:05:55 +08:00
kdletters 6984af782c 更新 API meta 版本号
将 shared-contracts 与前端共享 API_VERSION 更新为 2026-06-16

同步 healthz 响应头断言与 API envelope 测试夹具

补充 api-server 文档中的 API_VERSION 来源说明
2026-06-16 16:37:40 +08:00
kdletters 951caac32d 扩展外部生成Worker队列
新增外部生成队列概览和单任务状态契约

将跳一跳、拼消消、敲木鱼图片生成动作接入worker队列

前端生成等待页展示当前任务和队列数量

更新外部生成worker运维文档和团队决策记录
2026-06-12 23:15:55 +08:00
kdletters 1dd58a3d66 合并分享链路重构到主分支
合入通用作品分享卡片与小程序直达路径
合入推荐页当前作品系统分享参数同步
合入小程序九宫切图与相关测试

# Conflicts:
#	.hermes/shared-memory/decision-log.md
#	docs/【开发运维】本地开发验证与生产运维-2026-05-15.md
#	docs/【玩法创作】平台入口与玩法链路-2026-05-15.md
#	src/components/custom-world-home/CustomWorldCreationHub.tsx
#	src/components/platform-entry/PlatformEntryFlowShellImpl.test.ts
#	src/components/platform-entry/PlatformEntryFlowShellImpl.tsx
#	src/components/rpg-entry/RpgEntryHomeView.tsx
2026-06-11 22:50:32 +08:00
kdletters d78c11d5b7 修复小程序推荐页系统分享直达作品
同步推荐页当前作品到小程序原生分享目标
保留小程序系统分享路径中的公开作品参数
补充小程序分享目标解析与前端消息发送测试
2026-06-11 22:30:23 +08:00
kdletters c5763fdf25 重构作品分享链路
统一发布分享弹窗为作品分享卡片

支持下载分享卡与小程序九宫切图保存

小程序复制链接改为可直达作品详情的 web-view 路径

修复本地 dev Rust 构建绕过损坏 sccache

补充分享链路与 dev 启动文档和测试
2026-06-11 21:32:29 +08:00
kdletters f8a80cd795 修复资产计费边界风险
资产生成预扣费改为 fail-closed,避免钱包异常时继续调用外部生成

新增钱包退款 outbox,退款失败时本地落盘并后台重放

拼图首图后台任务改用 SpacetimeDB claim 表实现跨实例互斥

计费 ledger id 统一绑定 request_id,并让前端重试复用 x-request-id

同步 SpacetimeDB bindings、后端架构文档和 Hermes 决策记录
2026-06-11 15:55:23 +08:00
kdletters 7dd53e95d8 统一推荐页游客运行态与切换队列
统一推荐页各玩法正式 runtime 的游客鉴权透传。

收口推荐页首页展示队列和嵌入运行态切换队列。

补齐未登录读档、签名资产和个人数据读取的游客态处理。

新增运行态 HUD 小尺寸 logo 资源并更新拼图与抓鹅展示。

补充推荐切换、runtime guest 启动和客户端请求回归测试。

更新玩法链路、后端契约和团队记忆文档。
2026-06-10 22:00:19 +08:00
kdletters e29992cf01 点赞和改造开关加入后台配置 2026-06-10 14:37:04 +08:00
wuxiangwanzi a0473771f1 fix: 优化跳一跳运行态与地块资源 2026-06-09 01:28:30 +08:00
kdletters f4eee2d585 再次合并 master
合入 origin/master 最新订阅消息与计费相关更新

保留作品架 actions 收口并接入统一分享弹窗

修复创作生成泥点预检与本地余额扣减回归
2026-06-08 17:18:38 +08:00
kdletters 5ea9f0a120 按后台配置扣除创作泥点
前端创作表单泥点预校验改为读取入口契约配置

拼图和抓大鹅初始生成后端扣费改为解析后台配置

汪汪声浪初始三图生成按入口总成本拆分扣费

创作工作台按钮和确认弹窗展示后台配置泥点成本

补充泥点扣费回归测试并同步文档与共享记忆
2026-06-08 15:47:48 +08:00
kdletters 3ca5a460f1 修复订阅授权返回后生成中断
生成动作先进入拼图进度页并立即发起生成

订阅授权改为非阻塞尝试,避免闪回卡住提交

移除订阅结果回写 web-view URL 导致回首页的逻辑

更新小程序订阅消息授权与发送边界文档
2026-06-08 15:01:52 +08:00