Commit Graph

197 Commits

Author SHA1 Message Date
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 cba6e29d1d 统一桌面外链打开 helper
让桌面 WebView 外链和 HostBridge 外链共用 opener helper

用配置检查禁止 HostBridge 直接调用 opener

同步桌面壳外链 helper 共用决策记录
2026-06-19 17:47:24 +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 2709f48118 收紧桌面运行时回包来源
将 Tauri host.getRuntime 回包收口到 desktop_runtime

要求桌面运行时平台版本和能力来源保持单一入口

同步桌面壳运行时回包边界记录
2026-06-19 17:26:50 +08:00
kdletters c970711d7a 收紧移动运行时能力上报
统一移动壳 host.getRuntime 的平台归一化来源

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

同步移动壳运行时能力边界记录
2026-06-19 17:21:55 +08:00
kdletters 204e629100 收紧移动文档选择器门禁
锁定文本、文档和音频导入的 DocumentPicker 单选缓存配置

要求移动壳文件导入继续使用受控类型清单

同步 HostBridge 文件选择边界记录
2026-06-19 17:17:26 +08:00
kdletters 83be6c02d9 收紧桌面文件选择器过滤门禁
锁定 Tauri 文本、文档、图片和音频选择器扩展名边界

要求导入与导出文件对话框继续匹配 HostBridge 文件契约

同步桌面壳文件选择边界记录
2026-06-19 17:12:40 +08:00
kdletters db99448baa 收紧移动图片选择器参数门禁
锁定图片导入和拍摄 picker 只允许 images 媒体类型

要求 picker 禁用编辑和 EXIF 并返回 base64 原始图片数据

同步移动图片导入与拍摄边界记录
2026-06-19 17:07:34 +08:00
kdletters dd2e3f4db1 锁定移动壳权限说明文案
要求相册权限说明只描述选择图片导入

要求相机权限说明分别对应拍摄素材和二维码扫描

同步移动壳权限文案防漂移决策记录
2026-06-19 17:03:23 +08:00
kdletters 8d40ec79c8 收紧移动壳相机权限来源门禁
禁止 Android 源 app.json 手写 CAMERA 权限

要求 CAMERA 只由真实扫码和拍摄插件生成到最终 Expo 配置

同步移动壳权限来源决策记录
2026-06-19 16:59:28 +08:00
kdletters a7accef6f8 收紧桌面壳错误响应边界
限制 Tauri HostBridge failed 出口只返回协议错误码

非法桌面错误码统一归一为 host_error 固定失败文案

新增桌面协议测试和配置门禁防止错误码漂移

同步 HostBridge envelope 错误归一决策记录
2026-06-19 16:55:02 +08:00
kdletters fb19e5e55a 收紧移动壳错误响应边界
限制 Expo HostBridge 只透传共享协议错误码和字符串消息

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

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

同步 HostBridge envelope 错误归一决策记录
2026-06-19 16:50:33 +08:00
kdletters d224ffbf82 收紧桌面命令权限产物门禁
要求 Tauri 自动生成权限目录必须存在且只包含 HostBridge command 权限

反查 host_bridge_request 自动权限文件的 allow / deny 声明

同步桌面壳权限边界记录
2026-06-19 16:45:50 +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 64f496d091 收紧窗口标题载荷边界
将 app.setTitle 标题长度和控制字符规则提升到共享 HostBridge 契约

让 H5 facade 和 Tauri 壳按共享窗口标题边界归一化载荷

增加标题边界测试和三端壳总门禁反查

同步宿主壳协议文档和共享决策记录
2026-06-19 15:34:37 +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 e1a8aa4ef2 锁定桌面壳单端结构门禁
为桌面壳配置检查增加 Rust 根目录与 host_bridge/shell 模块清单校验

要求 main.rs 保持薄入口并由 app.rs 承接 Tauri 装配

补充共享决策记录说明桌面壳单端结构门禁
2026-06-19 14:44:57 +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 c14d699ee0 统一桌面网络探测超时契约
将桌面网络探测超时提升到共享 HostBridge 契约

让 Tauri 网络状态探测镜像共享超时边界

增加桌面壳配置门禁反查网络探测超时

补充宿主壳方案文档和共享决策记录
2026-06-19 14:10:56 +08:00
kdletters 14f4ae4a65 统一原生扫码超时契约
将二维码扫码超时提升到共享 HostBridge 契约

让 H5 facade 和测试复用共享扫码超时常量

增加原生壳门禁拦截扫码超时字面量回退

补充宿主壳方案文档和共享决策记录
2026-06-19 14:01:29 +08:00
kdletters fb8c9c2880 收口宿主用户交互超时
将宿主用户交互长操作超时提升到共享 HostBridge 契约

让 H5 HostBridge facade 复用共享用户交互超时

增加原生壳门禁拦截 H5 facade 手写交互超时

补充 HostBridge 测试、壳方案和共享决策记录
2026-06-19 13:48:54 +08:00
kdletters ca9581e534 收口宿主运行态回读超时
将原生宿主 runtime 回读短超时提升到共享 HostBridge 契约

让 H5 HostBridge facade 复用共享 runtime 回读超时

增加原生壳门禁拦截本地 runtime 回读超时重声明

补充 runtime 回读测试、壳方案和共享决策记录
2026-06-19 13:41:54 +08:00
kdletters ef2200f8ac 收口宿主响应回放缓存边界
将 HostBridge 响应回放缓存上限提升到共享契约

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

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

补充两端回放缓存淘汰测试和壳方案文档
2026-06-19 13:33:46 +08:00
kdletters bd0f566e76 收口原生壳请求超时边界
将原生壳请求默认超时和最大超时提升到共享 HostBridge 契约

让 H5 nativeAppHostBridge 复用共享超时边界

增加原生壳门禁拦截本地超时边界重声明

补充原生壳方案和共享决策记录
2026-06-19 13:26:01 +08:00
kdletters d4bc8fcddf 补齐桌面壳媒体权限说明
为 Tauri macOS 包加入摄像头和麦克风用途说明

将 macOS Info.plist 路径和文案纳入桌面壳配置门禁

同步宿主壳方案文档和项目共享决策记录
2026-06-19 13:06:30 +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 030a9fa209 收紧宿主壳结构门禁
补齐桌面壳单端 Rust 根目录和分层文件清单检查

将移动壳 src/env.d.ts 纳入根级结构门禁和文档反查

同步宿主壳结构门禁的架构文档与共享记忆
2026-06-19 08:54:28 +08:00
kdletters 6d7da493b9 收紧移动壳单端结构门禁
移动壳配置检查新增精确源码模块清单

移动端单端检查拒绝未登记生产模块

更新宿主壳架构文档和共享记忆验收口径
2026-06-19 08:02:54 +08:00
kdletters e27834930f 收紧宿主壳结构门禁
根级原生壳门禁按完整路径反查三端桥接层文档

移动端和桌面端壳目录拒绝未登记子目录或生产入口

桌面端单端配置检查改为精确 Rust 模块清单

更新宿主壳架构文档和共享记忆中的验收口径
2026-06-19 07:54:52 +08:00
kdletters de2798d415 收口宿主上下文查询契约
共享 HostBridge 契约新增宿主上下文 query 字段和值

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

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

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

同步宿主上下文契约文档和共享记忆
2026-06-19 07:39:51 +08:00
kdletters f6ef336091 收口移动壳深链域名门禁
移动壳配置检查从共享公开主站 origin 推导 iOS associated domain

Expo public config smoke 从共享公开主站 origin 推导 Android App Link host

同步移动壳深链声明文档和共享决策记录
2026-06-19 06:28:06 +08:00
kdletters 629d8f9974 收口桌面壳网络探测来源
桌面壳网络探测从 WEB_APP_ORIGIN 解析主站 host 和端口

桌面壳配置检查禁止 network.rs 重新写死公开主站域名

同步 HostBridge 协议文档、壳方案文档和共享决策记录
2026-06-19 06:20:43 +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 41bccdd9fc 收紧桌面壳主窗口启动门禁
按 label=main 解析 Tauri 主窗口配置并补写宿主上下文

缺少主窗口配置时阻断启动而不是静默跳过 WebView 创建

补充桌面壳配置门禁和 Rust 单测覆盖

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

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

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

同步原生壳门禁、Expo 权限检查、方案文档和共享决策记录。
2026-06-19 05:13:21 +08:00
kdletters a471e69455 补齐桌面壳后台生命周期
桌面壳生命周期按可见性、最小化和焦点统一归一

托盘隐藏前注入 background 并在恢复窗口时回放当前状态

H5 lifecycle 测试覆盖 background 暂停语义

宿主壳文档和原生壳门禁同步桌面 background 约定
2026-06-19 04:25:42 +08:00
kdletters 81b51ed405 拆薄桌面壳入口
新增桌面壳 app.rs 承接 Tauri 应用装配

收敛 main.rs 为薄入口并调用 app::run

扩展原生壳门禁锁定桌面入口职责边界

更新宿主壳方案和共享决策记录
2026-06-19 04:07:08 +08:00
kdletters 5ab7b53bf2 收紧桌面壳分享地址边界
桌面壳分享文本只接受公开主站同源地址

拒绝外域和危险分享地址且不回退缓存目标

补充桌面壳分享地址回归测试和配置门禁

更新 HostBridge 分享边界文档和共享决策
2026-06-19 03:12:27 +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