Commit Graph

51 Commits

Author SHA1 Message Date
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
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 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 ee49c26868 收紧移动壳外链协议白名单
Expo WebView 外域导航只允许安全外链协议交给系统

阻断危险协议避免外链页面保留宿主桥能力

补充移动壳导航测试和宿主壳文档
2026-06-18 00:35:14 +08:00
kdletters 78afd81269 接入移动壳原生触觉反馈
H5 HostBridge 增加 haptics.impact 受控调用入口

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

补充触觉反馈测试和宿主壳能力文档
2026-06-17 23:57:46 +08:00
kdletters eb9981e67d 接入移动壳文本文件导出能力
Expo 移动壳通过文件系统写入缓存文本并调用系统分享保存面板

补充移动壳导出能力依赖、配置守卫和 HostBridge 单测

更新宿主壳能力协议、方案文档和共享决策记录
2026-06-17 23:32:00 +08:00
kdletters 1a26806804 完善移动壳系统分享目标解析
移动 Expo 壳解析统一分享目标并调用 React Native 系统分享面板

补充直接分享、缓存作品目标和空分享目标的移动壳测试

更新宿主壳方案和项目共享决策记录
2026-06-17 23:08:20 +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 61d910400e 收口宿主壳外链打开协议
共享 HostBridge 契约新增外链 URL 协议白名单校验

Expo 移动壳打开外链前拒绝危险协议

Tauri 桌面壳打开外链前拒绝危险协议

补充共享契约、移动壳和桌面壳外链校验测试

更新宿主壳方案和团队共享决策记录
2026-06-17 22:31:24 +08:00
kdletters 080ebaedfd 接入移动壳受控路由导航
移动 HostBridge 声明 navigation.openNativePage 并限制为同源 H5 route

Expo WebView 将受控导航请求切换为新的 WebView URL

补充移动壳 HostBridge 与导航解析测试和配置守卫

更新宿主壳方案、统一协议和团队共享决策记录
2026-06-17 22:15:31 +08:00
kdletters 02a475d652 接入 Expo 移动壳深链入口
新增移动壳 deep link 到同源 H5 路径的解析与运行时监听

配置移动壳真实品牌图标、iOS associated domain 和 Android app link

补充移动壳配置守门、单测和宿主壳文档记忆
2026-06-17 22:04:18 +08:00