Commit Graph

140 Commits

Author SHA1 Message Date
LukeMackin
db8cfdf6e3 fix: loadDataWithBaseURL改回file:///android_asset/基址 2026-07-21 22:52:15 +08:00
LukeMackin
bb1e9ede2a fix: loadDataWithBaseURL base null→about:blank允许fetch跨域 2026-07-21 22:50:29 +08:00
LukeMackin
9ba8c296b0 fix: SHA256使用web实际返回内容计算(非本地文件) 2026-07-21 22:46:55 +08:00
LukeMackin
9e0d59895b fix: v6 innerText→textContent (display:none元素兼容) 2026-07-21 22:36:02 +08:00
LukeMackin
049d2ccaaf fix: v6 HTML页面添加id=ver元素(审查阻断) 2026-07-21 22:33:47 +08:00
01a8a76805 删除 screen4.png 2026-07-21 22:32:59 +08:00
2ea30be977 删除 screen3.png 2026-07-21 22:32:55 +08:00
18eeb07f66 删除 screen2.png 2026-07-21 22:32:49 +08:00
61c6d32192 删除 screen-final.png 2026-07-21 22:32:44 +08:00
LukeMackin
8f078e4f30 feat: manifest字段规范化 {latest,min_version,url,sha256} + v6动态版本对比
- h5_version → latest + min_version(老旧客户端提示需APK升级)
- v6 HTML: 去掉硬编码版本号,动态读取页面ver元素比对
- TBD sha256 → 直接拒绝(非空占位符)
- 域名校验保留
2026-07-21 22:29:30 +08:00
LukeMackin
e31bc3dcb9 fix: BOM清除 + nightly SHA256改为TBD标记 2026-07-21 21:56:40 +08:00
LukeMackin
8fb84c2efb feat: nightly渠道指向v7(待创建) 2026-07-21 21:53:36 +08:00
LukeMackin
eccfaa7f66 fix: SHA256同步 — v6 HTML修改后更新所有manifest+version.txt 2026-07-21 21:35:08 +08:00
LukeMackin
1ef40900a8 fix: 移除h5 manifest BOM 2026-07-21 21:32:56 +08:00
LukeMackin
cdf9b9d499 review fix: 独立h5-manifest + 域名校验 + 恢复APK manifest
- ota/h5/manifest-{channel}.json — 独立于APK manifest
- ota/manifest-*.json — 恢复gen-manifest.sh格式
- v6 HTML: h5_sha256缺失拒绝 + h5_url域名校验
2026-07-21 21:20:59 +08:00
LukeMackin
b4ddb0b5c7 feat: 渠道选择实装 — v6读取manifest-{channel}.json
- checkUpdate根据选中渠道读取manifest-stable/beta/nightly.json
- 三个manifest使用统一H5字段: h5_version/h5_url/h5_sha256
- 版本号比对可独立推进各渠道
2026-07-21 21:08:54 +08:00
LukeMackin
f9d5d32785 security: SHA256强制+dlUrl域名校验+缓存大小限制(500KB)
- saveCache: >500KB拒绝写入
- index.html: SHA256缺失时拒绝(不再静默跳过)
- index.html: dlUrl域名校验(dlUrl.indexOf(BASE)===0)
- 审查建议全部修复
2026-07-21 20:39:47 +08:00
LukeMackin
67adde25a4 security: SHA256校验通过Android Bridge(Java侧计算)
- Bridge.sha256() 用 MessageDigest 计算
- JS下载后 Android.sha256(t) 比对 version.txt 哈希
- version.txt 恢复三列: ver|url|sha256
- 避免 Web Crypto API 在 file:// 域不可用问题
2026-07-21 20:30:55 +08:00
70c535d0c1 更新 ota/h5/index-v6.html 2026-07-21 20:28:49 +08:00
1b1a586ccc 更新 ota/h5/index-v6.html 2026-07-21 20:28:01 +08:00
LukeMackin
5b9a996759 fix: loadDataWithBaseURL加载缓存HTML (file://权限不足) 2026-07-21 20:25:53 +08:00
LukeMackin
f4ee38f39f 修复: 恢复WebView跨域设置(本设备必需) + 工作版index.html 2026-07-21 20:19:23 +08:00
LukeMackin
7f22d4028f security: 关闭file跨域+混合内容+调试 + SHA256完整性校验
CRITICAL修复:
- 移除allowFileAccessFromFileURLs/allowUniversalAccessFromFileURLs
- 移除MIXED_CONTENT_ALWAYS_ALLOW
- WebContentsDebugging仅DEBUG模式开启
- 下载HTML用Web Crypto SHA256校验(version.txt|url|sha256)
2026-07-21 20:06:31 +08:00
LukeMackin
19860bdec7 fix: review — 移除未用import + v6 fallback兼容旧格式version.txt 2026-07-21 19:59:04 +08:00
LukeMackin
af799da3ea fix: loadDataWithBaseURL→loadUrl file:// 直接加载缓存HTML 2026-07-21 19:55:22 +08:00
LukeMackin
e39a250fbe fix: version.txt格式改为version|url — 消除所有硬编码dlUrl
- version.txt: 0.1.0-dav-android-6|完整下载URL
- index.html: 动态解析|分隔符获取下载路径
- index-v6.html: 同逻辑,不硬编码
- 以后升级只需改version.txt指向新文件
2026-07-21 19:16:27 +08:00
LukeMackin
565b1a5ea1 fix: version.txt → v6 (首次热更新目标) 2026-07-21 19:07:32 +08:00
LukeMackin
a47b73dda7 feat: 热更新架构 — Android Bridge存文件, MainActivity启动时检查缓存
v5: 嵌入式页面(蓝黑主题,简单按钮)
v6: 完全不同的页面(紫色渐变,卡片布局,渠道选择器)
通过Android.saveCache存HTML文件,重启App自动加载
2026-07-21 19:07:17 +08:00
LukeMackin
bfd7bee2ae fix: Blob URL加载缓存页面——避免DOM操作导致双重渲染 2026-07-21 19:02:09 +08:00
LukeMackin
bf72ea937f fix: 用documentElement.innerHTML替换整个页面避免双重渲染+保留JS 2026-07-21 19:01:29 +08:00
LukeMackin
96d88a9601 fix: 缓存命中在head同步document.write避免双重渲染+JS丢失 2026-07-21 18:57:27 +08:00
LukeMackin
123824a734 fix: 缓存命中用location.replace加载完整HTML(含JS执行)
- innerHTML不执行script标签导致按钮无响应
- location.replace到data: URI确保JS函数正常定义
2026-07-21 18:51:59 +08:00
LukeMackin
4d6bb3ff6f feat: 热更新 v6→v7 — 绿色主题+渠道选择器持续可用 2026-07-21 18:47:37 +08:00
LukeMackin
8f2f90df0d fix: H5缓存命中时替换body内容而非仅显示徽章
- 使用createHTMLDocument解析缓存HTML
- innerHTML替换body以显示完整热更新页面(含渠道选择器等)
2026-07-21 18:41:38 +08:00
LukeMackin
9a2f502857 fix: version.txt → v6 2026-07-21 18:38:34 +08:00
LukeMackin
3b6c6a4923 feat: 热更新v5→v6 — 新增渠道选择Stable/Beta/Nightly 2026-07-21 18:37:59 +08:00
LukeMackin
7487158efd cleanup: 删除ota/h5旧版残留index-v7/v8 2026-07-21 18:34:02 +08:00
454772a343 更新 ota/version.txt 2026-07-21 18:33:14 +08:00
e5b40c028d 更新 ota/version.txt 2026-07-21 18:32:11 +08:00
12e1abbfb8 更新 ota/version.txt 2026-07-21 18:31:57 +08:00
LukeMackin
ead2045ce5 reset: versionCode→5, H5热更新起点v5→v6
- versionCode 6→5 (衔接Git Tag v4)
- embedded HTML→v5, 下载目标→v6
- ota/version.txt→v6
- Gitea tags v5/v6已清理
2026-07-21 18:29:03 +08:00
LukeMackin
42b3592ed9 fix: H5热更新不再document.write避免双重重叠
- localStorage命中时只更新版号+徽章,不重写页面
- 嵌入式按钮始终可见,可持续检查更新
2026-07-21 18:26:15 +08:00
LukeMackin
49793529c0 feat: H5热更新 v7→v8 — 版本号推进
- ota/version.txt → 0.1.0-dav-android-8
- ota/h5/index-v8.html → 紫色标题+v8徽章,含自更新按钮
- embedded index.html → 下载目标改为 v8
2026-07-21 15:40:15 +08:00
LukeMackin
6f8b346e73 fix: H5热更新缓存击穿+版本比对修复
- fetch URL 加 ?t=Date.now() 缓存击穿
- 版本比对兼容 v0.1.0 vs 0.1.0-dav 前缀差异
2026-07-21 15:26:17 +08:00
LukeMackin
8f04acaf98 feat: H5热更新 v6→v7 — 远端version.txt=v7 + index-v7.html
- ota/version.txt → 0.1.0-dav-android-7
- ota/h5/index-v7.html → 绿色标题+热更新成功提示
- embedded index.html → 下载目标改为v7
2026-07-21 15:00:59 +08:00
LukeMackin
0727aa33f1 build: v6 — WebView热更新修复 + fetch跨域设置
- versionCode 5→6
- WebView allowFileAccessFromFileURLs + mixedContent
- index.html 版本号v6
- index.html fetch检查更新+下载热更新完整链路
2026-07-21 14:55:57 +08:00
LukeMackin
cd1f19815d fix: WebView闪退→恢复原生UI, versionCode 8→5, H5热更新文件就绪
- MainActivity恢复为原生ScrollView+按钮(WebView在Redmi设备上崩溃)
- versionCode回退到5(衔接Git Tag v4)
- ota/version.txt指向v6,ota/h5/index-v6.html已准备好作为热更新目标
- APK构建验证通过(33 tasks, 31s)
2026-07-21 13:40:13 +08:00
LukeMackin
de20e837fa feat: H5热更新v5→v6 — versionCode 8→5, 远端version.txt指向v6 2026-07-21 12:17:49 +08:00
LukeMackin
bfa365c2c2 cleanup: 删除 feat/expo-ota 分支,回滚到 main
- 删除远程 feat/expo-ota 分支
- 删除 Gitea Releases #5~#10 + Tags v5~v10
- 清除 Expo 产物(npmrc, package-lock, expo-manifest)
- 保留 index.js + index.html(H5热更新)
- MainActivity 改为 WebView + Android Bridge 模式
- 构建验证通过(33 tasks, 54s)
2026-07-21 11:56:07 +08:00
LukeMackin
898fbc0c3c hotfix: expo-manifest v10 for hot update test 2026-07-20 23:48:51 +08:00