Commit Graph

81 Commits

Author SHA1 Message Date
kdletters c0940bc790 收口原生网络查询边界
将 Expo 网络状态查询收口到 HostBridge network 模块

将 Tauri 网络状态查询收口到 HostBridge network 模块

同步原生壳结构门禁、架构文档和共享记忆
2026-06-19 22:08:19 +08:00
kdletters 177c18ddcd 收口原生导航桥接边界
将 Expo 外链打开和受控 WebView 导航收口到 navigation 模块

将 Tauri 外链打开和主窗口导航刷新收口到 navigation 模块

同步原生壳结构门禁、架构文档和共享记忆
2026-06-19 22:01:57 +08:00
kdletters f04daee4a4 收口原生外观查询边界
将 Expo 系统配色读取收口到 appearance 模块

将 Tauri 窗口主题读取收口到 appearance 模块

同步原生壳结构门禁和架构文档清单
2026-06-19 21:51:28 +08:00
kdletters b92b9bbc29 收口原生角标边界
将 Expo 应用角标设置收口到 badge 模块

将 Tauri 任务栏角标设置收口到 badge 模块

同步原生壳结构门禁和架构文档清单
2026-06-19 21:45:04 +08:00
kdletters 9eeaa6a4e0 收口移动触觉反馈边界
将 Expo 触觉反馈调用收口到 haptics 模块

让 HostBridge dispatch 只负责触觉反馈 payload 分发

同步原生壳结构门禁和架构文档清单
2026-06-19 21:12:41 +08:00
kdletters 2dcc2fa634 收口移动剪贴板边界
将 Expo 剪贴板读写收口到 clipboard 模块

让 HostBridge dispatch 只负责剪贴板 payload 分发

同步原生壳结构门禁和架构文档清单
2026-06-19 18:04:58 +08:00
kdletters 5db17d1a12 收口移动本地通知边界
将 Expo 本地通知权限和调度收口到 notifications 模块

让 HostBridge dispatch 只负责通知 payload 归一和分发

同步原生壳结构门禁和架构文档清单
2026-06-19 17:57:09 +08:00
kdletters 8f8c379685 统一移动外链打开 helper
让 HostBridge 外链打开复用移动壳外链 helper

用配置检查防止两条外链路径漂移

同步移动壳外链 helper 共用决策记录
2026-06-19 17:42:06 +08:00
kdletters 8764e25550 收紧移动外链打开边界
将 WebView 外链打开收口到可测试 helper

要求移动壳外链先通过 canOpenURL 再 openURL

同步移动壳外链打开边界记录
2026-06-19 17:38:00 +08:00
kdletters 2c67cd595d 收紧移动事件注入边界
要求 Expo 壳事件注入先校验共享 HostBridge 事件名

保留统一 message script 的 origin 和 source 约束

同步移动壳事件注入边界记录
2026-06-19 17:31:48 +08:00
kdletters c970711d7a 收紧移动运行时能力上报
统一移动壳 host.getRuntime 的平台归一化来源

要求运行时 capabilities 复用同一个平台值

同步移动壳运行时能力边界记录
2026-06-19 17:21:55 +08:00
kdletters fb19e5e55a 收紧移动壳错误响应边界
限制 Expo HostBridge 只透传共享协议错误码和字符串消息

未知原生异常统一归一为 host_error 固定失败文案

新增移动壳测试和配置门禁防止错误对象泄漏

同步 HostBridge envelope 错误归一决策记录
2026-06-19 16:50:33 +08:00
kdletters 14da1a7e12 收紧分享载荷边界
将 share.open 分享目标归一化提升到共享 HostBridge 契约

让 H5 facade 和 Expo 移动壳按共享分享边界发送与消费载荷

把原生分享 URL 统一映射到公开 H5 主站地址

增加分享载荷测试和三端壳总门禁反查

同步宿主壳协议文档和共享决策记录
2026-06-19 16:08:42 +08:00
kdletters 98f62474b6 收紧外链载荷边界
将 app.openExternalUrl 外链载荷归一化提升到共享 HostBridge 契约

让 H5 facade 和 Expo 移动壳按共享外链 payload 边界发起与消费请求

增加外链载荷测试和三端壳总门禁反查

同步宿主壳协议文档和共享决策记录
2026-06-19 15:48:48 +08:00
kdletters 048c879b20 收紧剪贴板写入文本边界
让 Expo 和 Tauri 壳在写系统剪贴板前按共享上限截断文本

增加移动壳剪贴板写入边界测试和两端配置门禁

补充宿主壳协议文档和共享决策记录
2026-06-19 15:10:23 +08:00
kdletters c956558531 收紧文本导出 MIME 边界
将文本导出 MIME 收窄到共享 HostBridge 文本 MIME 清单

让 Expo 和 Tauri 壳拒绝非文本 MIME 的 file.exportText 请求

增加移动端和桌面端门禁反查文本导出 MIME 边界

补充宿主壳协议文档和共享决策记录
2026-06-19 15:02:19 +08:00
kdletters e0f53f2994 统一移动壳外链协议来源
让移动壳导航测试按共享 HostBridge 外链协议清单反查

增加移动壳配置门禁防止 WebView 外链协议在 shell 层重新硬编码

补充共享决策记录说明 WebView 外链协议必须复用共享归一化逻辑
2026-06-19 14:51:21 +08:00
kdletters e51a65138a 统一移动通知频道契约
将移动端 Android 本地通知频道提升到共享 HostBridge 契约

让 Expo 通知调度和测试复用共享频道标识

增加移动壳配置门禁防止通知频道回退到本地字面量

补充宿主壳方案文档和共享决策记录
2026-06-19 14:37:02 +08:00
kdletters b6b1e21211 统一移动下载协议阻断清单
将移动 WebView 禁止下载协议提升到共享 HostBridge 契约

让移动壳导航拦截和注入脚本复用共享协议清单

增加移动壳门禁和测试防止协议清单回退到本地字面量

补充宿主壳方案文档和共享决策记录
2026-06-19 14:27:34 +08:00
kdletters ef2200f8ac 收口宿主响应回放缓存边界
将 HostBridge 响应回放缓存上限提升到共享契约

让 Expo 移动壳复用共享缓存上限并拒绝本地重声明

让 Tauri 桌面壳配置检查反查共享缓存上限

补充两端回放缓存淘汰测试和壳方案文档
2026-06-19 13:33:46 +08:00
kdletters 68d0208e2d 开放移动壳同源麦克风玩法
为 Expo 移动壳配置同源 H5 实时玩法所需麦克风权限

为 WebView 增加同源媒体捕获授权策略

更新移动壳配置门禁和 Expo public config 烟测

同步宿主壳方案文档和项目共享决策记录
2026-06-19 13:01:16 +08:00
kdletters f619d861c9 接入原生壳文档导入
新增 HostBridge file.importDocument 契约与文档 MIME 边界

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

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

同步宿主壳门禁、测试、架构文档和共享记忆
2026-06-19 09:35:37 +08:00
kdletters de2798d415 收口宿主上下文查询契约
共享 HostBridge 契约新增宿主上下文 query 字段和值

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

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

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

同步宿主上下文契约文档和共享记忆
2026-06-19 07:39:51 +08:00
kdletters b6db1ad07d 收口移动壳角标边界来源
移动壳角标错误文案改为读取共享上限

补充移动壳配置门禁防止本地重声明角标上限

同步宿主壳协议文档与共享决策记录
2026-06-19 06:07:30 +08:00
kdletters 5a569a9e4d 收口移动壳宿主版本来源
移动壳 HostBridge 版本改为从 Expo 配置读取

补充运行时版本解析测试和配置门禁

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

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

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

同步原生壳门禁、Expo 权限检查、方案文档和共享决策记录。
2026-06-19 05:13:21 +08:00
kdletters 9fcba9f4a5 收紧移动壳文件导入边界
移动壳文本和音频导入读取前校验可信文件大小

补充缺少 picker size 时的 File.size 回归测试

扩展移动壳配置门禁防止绕过读前大小检查

更新 HostBridge 载荷边界文档和共享决策
2026-06-19 03:04:09 +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 a54210b0d1 收口原生壳公开主站来源
新增共享 HostBridge 公开主站 origin 和默认 URL 常量

移动壳启动 URL、分享和 WebView 策略改为引用共享主站来源

桌面壳配置检查反查 Rust WEB_APP_ORIGIN 与共享契约一致

同步原生壳方案和共享决策记录
2026-06-19 01:40:22 +08:00
kdletters af1e95febb 收紧移动壳分享链接边界
移动壳分享链接归一到公开主站同源地址

补充协议相对链接和缓存回退拒绝测试

配置检查锁定分享链接归一策略

更新原生壳方案和共享决策记录
2026-06-19 00:53:05 +08:00
kdletters bb85986d1f 直连移动壳载荷边界契约
移动壳文件能力直接导入共享 HostBridge MIME 和大小边界
移动壳配置检查禁止重新本地声明文件载荷边界
更新原生壳方案和共享决策记录
2026-06-19 00:36:28 +08:00
kdletters 9eee997731 收紧原生壳桥接权限边界
移动壳 HostBridge 协议名和版本改为共享契约常量

移动壳配置检查锁定主动导航和 deep link 宿主上下文补写

桌面壳主窗口 capability 移除 Tauri core 默认权限

桌面壳配置检查拒绝 core 默认权限和插件权限外露

更新原生壳方案与共享决策记录
2026-06-18 23:52:40 +08:00
kdletters dbcfa51191 移动壳放宽音频选择器候选
移动端音频导入的 DocumentPicker 候选加入 audio/*

补充泛 MIME 仍按扩展名和 bytes 校验的移动壳测试

移动壳配置门禁锁定音频选择器类型和 bytes 校验

同步宿主壳方案文档和共享决策日志
2026-06-18 23:12:28 +08:00
kdletters 0ad56a878f 移动壳补齐 H5 返回栈追踪
为 Expo WebView 注入当前文档 history 状态追踪脚本

让移动壳合成 H5 路由栈和 WebView 原生返回状态

让 Android 返回键优先回退 H5 当前文档路由

补充移动壳解析测试、注入脚本测试和配置门禁

更新原生壳方案文档和共享决策
2026-06-18 22:20:58 +08:00
kdletters 49b0f8c445 移动壳收紧外链打开检查
为移动壳外链打开增加系统可打开性校验

补充 HostBridge 外链失败测试与配置门禁

更新原生壳外链边界文档
2026-06-18 21:26:59 +08:00
kdletters 106798f505 移动壳补齐图片导出扩展名
按图片 MIME 归一移动壳导出文件名扩展

补充移动 HostBridge 图片导出测试和配置门禁

更新宿主壳文件导出文档
2026-06-18 21:04:38 +08:00
kdletters 3deb901179 移动壳校验文件真实内容
为移动图片和音频导入导出增加 bytes 头部校验

补充移动 HostBridge 文件能力测试与配置门禁

更新宿主壳文件能力文档
2026-06-18 20:54:40 +08:00
kdletters 8bdfd1c629 移动壳补齐加载失败兜底
新增同源主页面加载失败归一模型与测试

Expo WebView 接入 onError/onHttpError 原生重试层

更新原生壳门禁与宿主壳方案文档
2026-06-18 20:26:20 +08:00
kdletters 686f52fcec 移动壳阻断下载协议导航
补强 WebView 下载脚本和下载协议导航阻断

新增移动壳下载策略行为测试和配置门禁

同步宿主壳方案文档和团队决策记录
2026-06-18 19:57:40 +08:00
kdletters b96be76a34 保持移动壳主动导航宿主上下文
HostBridge 主动导航同源页面时重新附加 native_app 宿主参数

补充移动壳导航测试覆盖平台版本和能力清单

同步 Expo/Tauri 宿主壳方案和团队决策记录
2026-06-18 19:12:54 +08:00
kdletters d71fde8b9a 统一三端宿主桥接层结构
拆分移动壳能力清单与分发模块

拆分桌面壳能力清单与分发模块

补充微信壳协议与分发薄索引

同步三端桥接层门禁和文档
2026-06-18 18:41:34 +08:00
kdletters bc3b464349 统一三端桥接层职责命名
微信小程序 host-bridge 与 shell 文件改为职责命名

移动壳 host-bridge 与 shell 文件改为职责命名

更新原生壳结构门禁、微信 smoke 和宿主壳文档
2026-06-18 17:48:03 +08:00
kdletters 503ae19683 拆薄移动端壳入口
迁移移动端 WebView 容器到 shell 层

更新原生壳结构门禁和移动壳配置检查

同步宿主壳结构文档
2026-06-18 17:27:11 +08:00
kdletters fd6c4d4830 对齐三端桥接层结构
拆分移动壳 HostBridge 协议、文件和分享模块

更新原生壳结构门禁和移动壳配置检查

同步宿主壳架构文档和共享决策记录
2026-06-18 17:13:15 +08:00
kdletters 00b41b6a29 统一宿主壳目录边界
移动端壳拆分为 host-bridge 与 shell 目录

桌面端 Tauri 拆分为 host_bridge 与 shell Rust 模块

更新三端桥接层结构门禁与配置检查

同步宿主壳方案文档和项目共享决策
2026-06-18 16:02:55 +08:00
kdletters e8713a396b 收口移动壳触觉反馈强度边界
共享HostBridge契约固定触觉反馈强度白名单

移动壳拒绝未知触觉反馈强度并避免误触发设备反馈

移动壳配置检查锁定触觉反馈归一化规则

宿主壳协议和共享决策日志记录触觉反馈边界
2026-06-18 15:02:07 +08:00
kdletters 71b18002d4 收口HostBridge请求信封校验
共享契约新增HostBridge method白名单和request id归一规则

Expo与Tauri壳在能力分发前拒绝非法id和未知method

补充两端测试、配置门禁、原生壳方案和共享决策记录
2026-06-18 13:22:27 +08:00
kdletters 4c4682069b 收口HostBridge重复请求回放
Expo壳按request id复用进行中请求并回放已完成响应

Tauri壳在唯一HostBridge命令外层增加重复请求等待与回放

补充两端测试、配置门禁、原生壳方案和共享决策记录
2026-06-18 13:07:54 +08:00
kdletters e64b73e9b4 收口移动壳H5入口来源
移动壳启动URL仅允许生产主站和本机开发入口

补充移动壳URL和deep link测试,防止外域H5获得HostBridge

更新原生壳方案和共享决策记录
2026-06-18 12:50:16 +08:00