Commit Graph

264 Commits

Author SHA1 Message Date
kdletters d7af659aa5 收紧导入结果消费边界
将文本、文档、图片和音频导入结果归一化提升到共享 HostBridge 契约
让 H5 facade 消费宿主导入结果前复核文件名、MIME、字节数和 base64 载荷
移除 H5 facade 本地导入 MIME Set 并用总门禁反查共享 normalizer
增加导入结果边界测试和超限结果回退覆盖
同步宿主壳协议文档和共享决策记录
2026-06-19 16:34:35 +08:00
kdletters a68377596a 收紧文本导出载荷边界
将文本导出载荷预校验提升到共享 HostBridge 契约
让 H5 facade 按共享文本导出边界归一化文件名、MIME 和内容大小
保留 Expo 与 Tauri 壳对文本字节数和 MIME 的二次校验
增加文本导出载荷测试和三端壳总门禁反查
同步宿主壳协议文档和共享决策记录
2026-06-19 16:25:14 +08:00
kdletters 71510ef797 收紧媒体导出载荷边界
将图片和音频导出载荷预校验提升到共享 HostBridge 契约
让 H5 facade 按共享媒体导出边界归一化文件名、MIME 和 base64 载荷
保留 Expo 与 Tauri 壳对真实字节和 MIME 的二次校验
增加媒体导出载荷测试和三端壳总门禁反查
同步宿主壳协议文档和共享决策记录
2026-06-19 16:18:54 +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 4b269c7bc2 收紧 H5 触觉反馈载荷
在 H5 HostBridge facade 发起触觉反馈前按共享 style 清单归一化

增加触觉反馈载荷归一化测试和总门禁反查

同步宿主壳协议文档和共享决策记录
2026-06-19 15:25:31 +08:00
kdletters b9ec549344 收紧 H5 剪贴板写入载荷
在 H5 HostBridge facade 发起剪贴板写入前按共享上限归一化文本

增加 HostBridge 写剪贴板载荷截断测试和总门禁反查

同步宿主壳协议文档和共享决策记录
2026-06-19 15:19:42 +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 bd0f566e76 收口原生壳请求超时边界
将原生壳请求默认超时和最大超时提升到共享 HostBridge 契约

让 H5 nativeAppHostBridge 复用共享超时边界

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

补充原生壳方案和共享决策记录
2026-06-19 13:26:01 +08:00
kdletters 8aaa5e93e2 收口H5桥接载荷边界
让H5 HostBridge facade 复用共享MIME清单

增加原生壳门禁拦截H5本地复制MIME边界

补充共享决策记录中的载荷边界约定
2026-06-19 13:19:12 +08:00
kdletters be09eb5360 接入微信登录外链宿主打开
微信登录授权链接在原生壳内优先走宿主外链入口

宿主未处理登录授权链接时保留浏览器跳转回退

同步登录跳转测试、宿主壳协议和共享记忆
2026-06-19 12:28:13 +08:00
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