Commit Graph

820 Commits

Author SHA1 Message Date
a1afd33004 校验移动壳HostBridge消息来源
移动壳 onMessage 按页面 URL 拦截非同源 HostBridge 消息

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

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

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

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

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

宿主壳方案和共享决策记录移动 WebView 安全边界
2026-06-18 09:19:05 +08:00
28e5295911 关闭移动壳安卓自动备份
移动壳 Android 包配置显式设置 allowBackup=false

移动壳检查脚本拒绝恢复 Android 自动备份

宿主壳方案和共享决策记录移动端备份边界
2026-06-18 09:14:30 +08:00
f38fb363ff 禁用移动壳麦克风权限
移动壳 Android 包配置通过 blockedPermissions 移除 RECORD_AUDIO

移动壳检查脚本拒绝麦克风权限缺失拦截或被重新声明

宿主壳方案和共享决策记录移动端权限边界
2026-06-18 09:10:21 +08:00
d33be9f869 收紧桌面壳命令白名单
桌面壳检查脚本校验 Tauri build manifest、invoke handler 与 capability 只暴露 host_bridge_request

桌面壳检查脚本拒绝残留的非白名单自动生成权限文件

宿主壳方案和共享决策记录桌面壳命令暴露边界
2026-06-18 09:04:25 +08:00
3dbc3f0319 收紧移动壳网络安全元数据
禁用 Android 默认明文流量

禁用 iOS ATS 任意网络加载

声明当前未使用非豁免自定义加密

更新原生壳方案和团队决策记录
2026-06-18 08:57:49 +08:00
78c317fc32 补齐桌面壳平台图标集
从真实品牌 PNG 派生 Tauri 多尺寸图标

配置 Windows ICO 与 macOS ICNS 图标

校验桌面壳图标尺寸、容器和 bundle 列表

更新原生壳方案和团队决策记录
2026-06-18 08:54:02 +08:00
1ced5f2a0e 补齐移动壳启动视觉配置
复用真实品牌图标配置 Expo 启动页

复用透明品牌图标配置 Android adaptive icon

校验启动页、adaptive icon 与品牌底色不漂移

更新原生壳方案和团队决策记录
2026-06-18 08:46:35 +08:00
01a346a9b0 禁止壳生产代码保留临时替身
移动壳配置检查扫描生产源码脚手架词

桌面壳配置检查扫描生产源码脚手架词

保留测试文件使用 mock 的边界

更新原生壳方案和团队决策记录
2026-06-18 08:42:18 +08:00
64c5c65b20 固定桌面壳安装包身份
校验 Tauri 桌面壳产品名和应用标识

校验桌面壳 Tauri、Node 与 Cargo 版本一致

收紧桌面壳 release/dev 入口、CSP 与 updater 禁用门禁

更新原生壳方案和团队决策记录
2026-06-18 08:36:24 +08:00
67a52e444f 固定移动壳安装包身份
补齐 Expo 移动壳 iOS bundleIdentifier 与 buildNumber

补齐 Expo 移动壳 Android versionCode

校验移动壳版本、包标识和构建号不漂移

更新原生壳方案和团队决策记录
2026-06-18 08:29:47 +08:00
5bd1fb1a8f 切换移动壳默认主站入口
Expo 移动壳默认 H5 地址改为线上主站

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

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

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

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

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

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

补充移动壳安全区依赖检查和架构文档
2026-06-18 08:14:27 +08:00
94046153c6 接入桌面壳单实例唤醒
Tauri 桌面壳启用 single-instance 插件

重复启动只唤醒并聚焦已有主窗口

禁止把第二实例参数透传给 H5

补充单实例检查测试和架构文档
2026-06-18 08:07:50 +08:00
88e363586e 完善桌面壳托盘关闭行为
主窗口关闭在托盘可用时隐藏到托盘

托盘不可用时保持默认关闭避免窗口无法恢复

补充关闭策略检查测试和架构文档
2026-06-18 08:01:21 +08:00
45a9f9b0cd 接入桌面壳系统托盘
Tauri 桌面壳启用真实系统托盘

托盘菜单提供显示主窗口刷新和退出动作

托盘注册失败不阻断主窗口启动

补充桌面壳托盘检查测试和架构文档
2026-06-18 07:56:47 +08:00
29cd7866fc 接入账号状态宿主刷新
账号状态变化优先通过宿主刷新当前 WebView

宿主刷新不可用时回退浏览器刷新

补充 AuthGate 宿主刷新测试和宿主壳文档
2026-06-18 07:43:26 +08:00
621719077f 接入宿主网络状态队列轮询
新增宿主网络在线 Hook 并覆盖离线与恢复事件测试

平台外部生成队列概览在原生壳离线时暂停轮询

同步宿主壳网络状态消费方案与共享决策记录
2026-06-18 07:31:41 +08:00
20e4e88bd4 同步草稿未读原生角标
平台壳按可见作品架未读完成草稿同步 app.setBadgeCount

新增草稿未读更新计数模型并覆盖多恢复ID去重

更新原生壳方案、HostBridge 协议和共享决策记录
2026-06-18 07:18:42 +08:00
cdcbaf4cee 接入草稿生成原生通知
平台壳生成完成和失败收口消费 notification.showLocal

新增 HostBridge 草稿通知 payload 与去重模型测试

迁移生成状态纯函数以通过组件 Fast Refresh 约束

更新原生壳方案、HostBridge 协议和共享决策记录
2026-06-18 07:10:01 +08:00
e8c2e8d532 接入填码原生剪贴板读取
邀请码填写和兑换码弹窗在宿主声明 clipboard.readText 时显示粘贴入口

粘贴动作只读取宿主纯文本并填入现有受控输入框,不自动提交或伪造兑换成功

补充填码粘贴回归测试和 profile 剪贴板 helper

更新 Expo/Tauri 宿主壳方案、HostBridge 协议和共享决策记录
2026-06-18 06:48:46 +08:00
a0497cb39d 接入个人头像原生图片导入
个人头像上传在原生壳声明 file.importImage 时调用 HostBridge 图片导入

头像导入结果转换为 File 后复用现有类型校验、5 MiB 限制、方形裁剪和资料更新链路

补充头像原生导入回归测试,确认不会触发隐藏文件输入

更新 Expo/Tauri 宿主壳方案、HostBridge 协议和共享决策记录
2026-06-18 06:39:19 +08:00
01349e7882 接入反馈凭证原生图片导入
反馈页上传凭证在原生壳内优先调用 HostBridge 图片导入

宿主图片结果转换为 File 后复用现有凭证预览和提交校验

补充反馈凭证原生导入测试和宿主壳文档边界
2026-06-18 06:24:44 +08:00
a7d713c806 接入创作工作台原生文档导入
创作 Agent 文档上传在原生壳内优先调用 HostBridge 文本导入

宿主返回文本继续转换为 File 并复用现有后端文档解析链路

补充工作台原生导入测试和宿主壳文档边界
2026-06-18 06:14:36 +08:00
f7126f9556 接入移动端壳相机图片导入能力
新增 HostBridge file.captureImage 契约与 H5 facade

Expo 移动壳通过系统相机拍摄图片并复用图片导入校验

通用图片输入面板按宿主能力展示拍摄入口并转换为现有 File 回调

补充移动壳、HostBridge、图片面板测试和原生壳文档
2026-06-18 06:03:45 +08:00
b3278739a5 接入原生壳音频文件导出能力
新增 file.exportAudio HostBridge 契约和 H5 facade

移动端通过 Expo 缓存文件与系统分享导出受控音频

桌面端通过 Tauri 保存对话框写入受控音频字节

通用音频输入面板仅对本地音频资产展示宿主导出入口

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 05:42:16 +08:00
3be997e286 接入原生壳音频文件导入能力
新增 file.importAudio HostBridge 契约和 H5 facade

移动端通过 Expo DocumentPicker 读取受控音频文件

桌面端通过 Tauri 文件选择框读取受控音频文件

通用音频输入面板在原生壳复用宿主导入和现有音频处理管线

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 05:25:39 +08:00
51dcff6d16 接入原生壳页面刷新能力
新增 app.reloadWebView HostBridge 契约和 H5 facade

移动端通过 react-native-webview reload 刷新当前 WebView

桌面端通过 Tauri WebviewWindow reload 刷新主窗口

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 05:07:01 +08:00
1c6749b53e 接入原生壳文本文件导入能力
新增 file.importText HostBridge 契约和 H5 facade

移动端通过 Expo DocumentPicker 读取受控文本文件

桌面端通过 Tauri 文件选择框读取受控文本文件

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 04:51:56 +08:00
c7a24fba37 接入原生壳剪贴板读取能力
新增 clipboard.readText HostBridge 契约和 H5 facade

移动端通过 expo-clipboard 读取纯文本剪贴板

桌面端通过 Tauri clipboard-manager 读取纯文本剪贴板

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 04:38:16 +08:00
bbfe4b7181 接入原生壳本地通知能力
新增 notification.showLocal HostBridge 契约和 H5 facade

移动端通过 expo-notifications 发送即时本地通知

桌面端通过 Tauri notification 插件发送系统通知

更新壳能力检查、测试、方案文档和共享决策记录
2026-06-18 04:24:55 +08:00
f34f98c1a0 接入固定玩法宿主生命周期音频暂停
新增 useHostLifecycleActive 统一归一宿主生命周期状态

拼图和抓大鹅运行态背景音乐按宿主后台与失焦状态暂停恢复

useBackgroundMusic 复用统一生命周期状态避免重复订阅逻辑

补充生命周期音频测试和宿主壳架构文档
2026-06-18 03:58:56 +08:00
8d30cf65bb 接入宿主生命周期暂停背景音乐
useBackgroundMusic 订阅 app.lifecycle 统一事件

宿主进后台或桌面失焦时暂停音频循环并 suspend WebAudio

宿主恢复 active 后按用户原音乐状态继续播放

更新测试和原生壳架构文档
2026-06-18 03:39:00 +08:00
d261cc8d0b 接入桌面图片拖入创作槽位
CreativeImageInputPanel 订阅 file.imageDropped 桌面拖入事件

按拖入坐标命中主图卡片后转换为现有 File 回调

避免窗口级拖入被多个创作面板同时消费

更新组件测试和原生壳架构文档
2026-06-18 03:27:55 +08:00
d5cab219a1 接入创作图片上传宿主导入
CreativeImageInputPanel 在原生壳优先使用 file.importImage

宿主图片导入结果转换为现有 File 上传回调

浏览器和小程序继续保留原文件输入路径

更新测试和原生壳架构文档
2026-06-18 03:19:00 +08:00
14f838c414 接入移动壳图片导入能力
Expo 壳通过系统相册选择器实现 file.importImage

限制导入图片 MIME 与大小并避免暴露设备本地 URI

H5 facade 将用户取消导入归为无选择回退

更新移动壳依赖、配置校验、测试和架构文档
2026-06-18 03:04:21 +08:00
199f02cf9f 接入桌面壳图片导入能力
新增 file.importImage 与 file.imageDropped HostBridge 能力

Tauri 壳通过系统图片选择和主窗口拖拽读取真实图片文件

H5 统一使用导入图片与拖入图片事件 facade

限制图片 MIME 与大小并避免暴露本机绝对路径

更新壳能力校验、测试和架构文档
2026-06-18 02:52:37 +08:00
586e46fa63 接入原生壳网络状态能力
新增 network.status 与 network.statusChanged HostBridge 能力

Expo 壳通过 expo-network 查询并订阅真实网络状态

Tauri 壳通过主站可达性查询和 WebView online/offline 事件同步网络状态

更新壳能力检查、测试和架构文档
2026-06-18 02:35:48 +08:00
346368f0e7 接入原生壳生命周期事件
新增 app.lifecycle HostBridge 能力与 H5 订阅入口

Expo 壳通过 React Native AppState 注入真实前后台状态

Tauri 壳通过主窗口 focus 和 blur 注入真实激活状态

更新壳能力漂移检查、测试和架构文档
2026-06-18 02:16:47 +08:00
45eec17007 接入原生壳外观查询能力
新增 HostBridge appearance.getColorScheme 只读契约和 H5 facade

Expo 壳通过 React Native Appearance 读取系统配色

Tauri 壳通过主窗口 theme 读取桌面配色

补齐外观查询测试、漂移检查和架构文档
2026-06-18 02:00:49 +08:00
6b39bdbe19 接入原生壳应用角标能力
新增 HostBridge app.setBadgeCount 契约和 H5 能力门控

Expo 壳按平台声明能力并在 iOS 调用系统角标 API

Tauri 壳通过主窗口设置任务栏角标并校验 payload

补齐角标能力测试、漂移检查和架构文档
2026-06-18 01:50:15 +08:00
910625d5e1 接入原生壳分享卡图片导出
新增 file.exportImage 宿主能力契约

分享卡下载在原生壳中优先走宿主图片导出

Expo 壳写入缓存图片并调用系统分享保存

Tauri 壳通过保存对话框写入图片字节

补齐能力漂移检查、测试和架构文档
2026-06-18 01:31:28 +08:00
6843185a6c 统一原生壳验收门禁
新增 check:native-shells 根级验收脚本

将 H5 HostBridge 与 Expo、Tauri 壳检查串成统一门禁

把原生壳验收入口写入方案文档和共享工作流
2026-06-18 01:16:25 +08:00
ad883df307 校验原生壳能力声明一致性
移动壳配置检查校验声明能力来自共享 HostBridge 白名单

桌面壳配置检查校验 runtime 能力与 URL hostCapabilities 一致

文档补充新增 native capability 后必须运行双壳检查

共享决策记录补充壳能力防漂移约束
2026-06-18 01:09:02 +08:00
5c3b70caf1 回读宿主运行态能力
HostBridge 启动时通过真实 host.getRuntime 回读并缓存宿主能力

主 App 订阅宿主能力变化并在回读后刷新能力入口

补充宿主 runtime 回读测试和 App 能力刷新测试

更新 Expo/Tauri 壳方案、HostBridge 协议文档和共享决策记录
2026-06-18 01:02:58 +08:00
38ed2227d3 按宿主能力声明启用原生能力
HostBridge 契约沉淀 method 与 capability 白名单

H5 解析 hostCapabilities 并按能力调用原生桥

发布分享弹窗仅在声明 share.open 时显示系统分享

补充能力声明测试和宿主壳文档
2026-06-18 00:48:13 +08:00
ee49c26868 收紧移动壳外链协议白名单
Expo WebView 外域导航只允许安全外链协议交给系统

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

补充移动壳导航测试和宿主壳文档
2026-06-18 00:35:14 +08:00
fec8b626f5 接入原生壳外链打开路径
H5 新增 openHostExternalUrl 并归一化外链 URL

备案号和资产调试原图在 native_app 中优先交给宿主打开

补充 HostBridge 外链测试和宿主壳文档
2026-06-18 00:30:36 +08:00
4266c1e5e8 接入发布分享原生系统分享路径
发布分享弹窗在 native_app 中调用 share.open

保留复制链接与下载卡片回退路径

补充 HostBridge 分享测试和宿主壳能力文档
2026-06-18 00:16:26 +08:00