Commit Graph

136 Commits

Author SHA1 Message Date
kdletters 395006a90a 补齐移动壳图片导出空内容边界
移动壳图片导出拒绝零字节 base64 内容

移动壳 HostBridge 测试覆盖图片导出空内容拒绝

移动壳配置检查反查图片导出字节边界
2026-06-20 04:04:46 +08:00
kdletters 2f39794471 收口移动壳角标平台差异门禁
移动壳配置检查反查 Android 角标请求返回 unsupported_capability 的测试覆盖

HostBridge 协议文档明确 Android 不声明角标且不得伪造成功

项目记忆记录移动壳角标平台差异测试门禁
2026-06-20 03:53:55 +08:00
kdletters 79708e69b2 收口原生壳未声明能力覆盖
移动壳测试从共享 HostBridge method 和 iOS capability profile 派生未声明 method 覆盖

原生壳门禁反查 H5 native request 能力统一 helper 门控和移动壳派生测试

架构文档补齐移动端和桌面端 file.importText 能力清单与未声明 method 规则
2026-06-20 03:43:04 +08:00
kdletters 74661b1a5a 收口本地通知交付结果语义
新增共享本地通知系统交付结果契约

Expo 与 Tauri 壳返回结构化通知交付结果

H5 兼容结构化结果并同步门禁、测试和文档
2026-06-20 03:13:53 +08:00
kdletters e2fc7d78f3 收口移动壳导入文件名归一
新增共享 HostBridge 导入文件名清洗函数

移动文件导入改用导入专用文件名归一边界

补充契约测试、移动配置门禁和协议文档
2026-06-20 03:04:21 +08:00
kdletters eb869fb844 补齐原生壳配置门禁
将 Tauri Info.plist 纳入生产替身词扫描

强制移动壳文档导入复用共享 MIME 与大小边界

同步原生壳协议、方案和共享记忆
2026-06-20 02:57:29 +08:00
kdletters 057f1233bb 补强原生壳替身词扫描
将未实现和临时纳入 Expo 与 Tauri 生产壳源码替身词门禁

区分 H5 HostBridge 调用链真实兼容语义与替身词扫描范围

同步原生壳方案、统一协议和共享记忆
2026-06-20 02:45:21 +08:00
kdletters 40603e0163 收口移动文件导出响应边界
将 Expo 文本、图片和音频导出成功响应包装收口到 files 模块

让移动 dispatch 只委托文件导出请求

同步移动壳配置门禁和共享记忆
2026-06-20 02:23:45 +08:00
kdletters ef198f6d4f 收口移动图片导入响应边界
将 Expo 图片选择和拍摄成功响应包装收口到 files 模块

让移动 dispatch 只委托图片导入和拍摄请求

同步移动壳配置门禁和共享记忆
2026-06-20 02:18:31 +08:00
kdletters 7784b15999 收口移动文档导入响应边界
将 Expo 文本、文档和音频导入成功响应包装收口到 files 模块

让移动 dispatch 只委托 DocumentPicker 导入请求

同步移动壳配置门禁和共享记忆
2026-06-20 02:14:22 +08:00
kdletters 890937f6fe 收口移动扫码响应边界
将 Expo 二维码扫码成功响应包装收口到 scanner 模块

让移动 dispatch 只委托扫码请求

同步移动壳配置门禁和共享记忆
2026-06-20 02:03:42 +08:00
kdletters 65b9125d22 收口移动运行时响应边界
将 Expo host.getRuntime 成功响应包装收口到 runtime 模块

让移动 dispatch 只委托运行时请求

同步移动壳配置门禁和共享记忆
2026-06-20 01:55:58 +08:00
kdletters 941e7d979a 收口移动导航响应边界
将 Expo 外链打开、WebView 刷新和受控导航成功响应包装收口到 navigation 模块

让移动 dispatch 只委托导航请求

同步移动壳配置门禁和共享记忆
2026-06-20 01:43:35 +08:00
kdletters b57998d55e 收口移动分享响应边界
将 Expo 分享目标缓存和系统分享成功响应包装收口到 share 模块

让移动 dispatch 只委托分享请求

同步移动壳配置门禁和共享记忆
2026-06-20 01:27:04 +08:00
kdletters c42afe86a6 收口移动通知响应边界
将 Expo 本地通知成功响应包装收口到 notifications 模块

让移动 dispatch 只委托本地通知请求

同步移动壳配置门禁和共享记忆
2026-06-20 01:11:39 +08:00
kdletters 2e64713562 收口移动触觉响应边界
将 Expo 触觉反馈成功响应包装收口到 haptics 模块

让移动 dispatch 只委托触觉反馈请求

同步移动壳配置门禁和共享记忆
2026-06-20 00:58:04 +08:00
kdletters 55f915e387 收口移动外观查询响应边界
将 Expo 外观查询成功响应包装收口到 appearance 模块

让移动 dispatch 只委托外观查询请求

同步移动壳配置门禁和共享记忆
2026-06-20 00:45:46 +08:00
kdletters 982a9ed55e 收口移动角标响应边界
将 Expo 角标成功响应包装收口到 badge 模块

让移动 dispatch 只委托角标请求

同步移动壳配置门禁和共享记忆
2026-06-20 00:31:22 +08:00
kdletters d780d354ba 收口移动剪贴板响应边界
将 Expo 剪贴板读写成功响应收口到 clipboard 模块

让移动 dispatch 只委托剪贴板请求

同步移动壳配置门禁和共享记忆
2026-06-20 00:24:45 +08:00
kdletters e51d92f0d5 收口移动网络桥接响应边界
将 Expo network.status 成功响应包装收口到 network 模块

让移动 dispatch 只委托网络状态请求

同步移动壳配置门禁和共享记忆
2026-06-20 00:06:30 +08:00
kdletters 2f37a143f1 收口移动外链桥接系统调用
将 Expo app.openExternalUrl 的 Linking 调用收口到 navigation 模块

让移动 dispatch 只委托外链请求载荷

同步移动壳配置门禁和共享记忆
2026-06-19 23:39:00 +08:00
kdletters ffe7bda460 收口移动运行时桥接边界
将 Expo host.getRuntime 回包组装收口到 runtime 模块

让移动 dispatch 只委托运行时请求

同步移动壳结构门禁、架构文档和共享记忆
2026-06-19 23:09:55 +08:00
kdletters c3b2c73879 收口移动触觉反馈载荷边界
将 Expo 触觉反馈 HostBridge payload 解析收口到 haptics 模块

让移动 dispatch 只委托触觉反馈请求

同步移动壳触觉反馈门禁、架构文档和共享记忆
2026-06-19 22:59:46 +08:00
kdletters d53bd66e99 收口原生分享桥接边界
将 Expo 分享目标状态收口到 share 模块

将 Tauri 分享目标与剪贴板 fallback 响应收口到 share 模块

同步两端分享结构门禁和共享记忆
2026-06-19 22:31:05 +08:00
kdletters b1c42885ba 收口移动壳通知桥接边界
将 Expo 本地通知 payload 归一收口到 notifications 模块

让移动壳 dispatch 只委托通知 HostBridge 请求

同步移动壳结构门禁、架构文档和共享记忆
2026-06-19 22:24:41 +08:00
kdletters 1d6fda4696 收口原生剪贴板桥接边界
将 Expo 剪贴板 HostBridge 读写收口到 clipboard 模块

将 Tauri 剪贴板 HostBridge 响应收口到 clipboard 模块

同步原生壳结构门禁、架构文档和共享记忆
2026-06-19 22:18:54 +08:00
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 204e629100 收紧移动文档选择器门禁
锁定文本、文档和音频导入的 DocumentPicker 单选缓存配置

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

同步 HostBridge 文件选择边界记录
2026-06-19 17:17:26 +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 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