Commit Graph

67 Commits

Author SHA1 Message Date
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
kdletters ff438e8897 关闭移动壳网页下载路径
移动壳 WebView 注入下载阻断脚本并丢弃 iOS 文件下载事件。

移动壳 Android 包配置阻断外部存储和请求安装包权限。

移动壳配置检查和 Expo public config smoke 锁定下载边界。

新增移动壳 WebView 下载阻断策略测试。

更新宿主壳方案和共享决策日志记录移动端下载只能走 HostBridge 导出。
2026-06-18 12:00:44 +08:00
kdletters 1817793de2 固化登录支付未接入回退边界
移动壳测试覆盖登录和支付未接真实渠道时返回 unsupported_method。

桌面壳测试覆盖登录和支付未接真实渠道时返回 unsupported_method。

更新宿主壳方案说明登录支付半接入不得返回伪成功。

更新共享决策日志记录登录支付 unsupported 回退验收口径。
2026-06-18 11:44:39 +08:00
kdletters bc6d237a03 统一移动壳宿主版本来源
移动壳入口 query 和 runtime 回包共用宿主版本常量

移动壳配置检查拒绝 HostBridge 版本散落硬编码

宿主壳方案和共享决策记录版本单一来源约束
2026-06-18 11:12:27 +08:00
kdletters a1afd33004 校验移动壳HostBridge消息来源
移动壳 onMessage 按页面 URL 拦截非同源 HostBridge 消息

移动壳导航测试覆盖同源消息入口和异常来源丢弃

移动壳检查脚本要求保留消息来源校验

宿主壳方案和共享决策记录移动消息入口边界
2026-06-18 09:23:53 +08:00
kdletters 7fabb5ed4c 收紧移动壳WebView安全开关
移动壳 WebView 显式禁用多窗口、文件访问、混合内容、第三方 Cookie 和远程调试

移动壳检查脚本拒绝 WebView 安全开关被放宽

移动壳导航测试补充协议降级、协议相对外域和危险协议拦截

宿主壳方案和共享决策记录移动 WebView 安全边界
2026-06-18 09:19:05 +08:00
kdletters 5bd1fb1a8f 切换移动壳默认主站入口
Expo 移动壳默认 H5 地址改为线上主站

本机 Vite 地址仅通过环境变量显式启用

补充默认入口检查测试和架构文档
2026-06-18 08:23:48 +08:00
kdletters 3b3e83aa7a 收紧移动壳启动地址归一
Expo 移动壳只接受 http 和 https 基准 H5 地址

非法启动地址回退默认 H5 并继续附加宿主上下文

Deep link 继续限制为同源 H5 路径

补充启动地址检查测试和架构文档
2026-06-18 08:19:25 +08:00
kdletters 94a866b48b 接入移动壳安全区布局
Expo 移动壳使用 SafeAreaProvider 和 SafeAreaView 包裹 WebView

新增安全区边界配置和测试

补充移动壳安全区依赖检查和架构文档
2026-06-18 08:14:27 +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