LukeMackin
|
45cce458ac
|
fix: index-stable.html英文版+渠道持久化+highlight
|
2026-07-22 01:13:39 +08:00 |
|
LukeMackin
|
3a1058d10c
|
chore: 清理tmp_js.js
|
2026-07-22 01:09:42 +08:00 |
|
LukeMackin
|
f83bc2d524
|
fix: manifest.json clean rewrite SHA256=f82ea977
|
2026-07-22 01:09:08 +08:00 |
|
LukeMackin
|
4facecc089
|
fix: manifest.json SHA256 改为实际值(f82ea977...)
- 使用index-stable.html的实际SHA256
- TBD占位符→真实值,客户端校验将通过
- 清除BOM保证JSON.parse可用
|
2026-07-22 01:08:28 +08:00 |
|
LukeMackin
|
b5bcf8e9c0
|
fix: UTF-8 BOM+loadDataWithBaseURL(utf-8)修复乱码
- frame.html/index.html 添加 UTF-8 BOM (EF BB BF)
- loadDataWithBaseURL 显式设置 utf-8 编码
- WebView 以此识别中文内容
|
2026-07-22 00:59:03 +08:00 |
|
LukeMackin
|
6ee4ff533a
|
chore: 移除调试文件
|
2026-07-22 00:55:29 +08:00 |
|
LukeMackin
|
337c49f1f9
|
fix: 改回loadUrl(file://frame.html) - loadDataWithBaseURL导致乱码
- 框架APK始用loadUrl,避免MIME/编码问题
- 缓存HTML仍用loadDataWithBaseURL
- 恢复<!DOCTYPE html>
|
2026-07-22 00:53:39 +08:00 |
|
LukeMackin
|
db0bc85609
|
fix: 移除DOCTYPE(loadDataWithBaseURL兼容)
|
2026-07-22 00:49:41 +08:00 |
|
LukeMackin
|
7f7b75c0fc
|
fix: 审查阻断修复 — cache加载+TBD校验+路径安全
1. 恢复cacheFile.exists()→加载缓存HTML(OTA链路修复)
2. TBD/零哈希双重拒绝(/^(0{64}|TBD)/)
3. fetchText双次替换..防止绕过
4. BUILD SUCCESSFUL
|
2026-07-22 00:46:55 +08:00 |
|
LukeMackin
|
e9bcb7d804
|
fix: MainActivity精简+frame.html骨架页[V5]标记
- 移除cacheFile逻辑,始终加载frame.html
- loadDataWithBaseURL避免WebView缓存
- frame.html添加[V5]标记区分版本
- Bridge保留(manifest/fetchText/sha256)
|
2026-07-22 00:43:06 +08:00 |
|
LukeMackin
|
4b4103cf06
|
fix: 审查阻塞修复 — SHA256 TBD占位+beta/nightly→stable+硬编码channel+路径校验
- manifest.json: beta/nightly h5.url → index-stable.html
- SHA256: TBD占位(build后push-hotfix.sh更新)
- index-stable: ver元素用channel变量, match?.[1]防御
- fetchText: 过滤..防止路径遍历
|
2026-07-22 00:25:40 +08:00 |
|
LukeMackin
|
9e4d9e7dd7
|
cleanup: 删除旧manifest+index-v*.html(已用manifest.json+index-{channel}.html)
|
2026-07-22 00:22:21 +08:00 |
|
LukeMackin
|
439c9066e2
|
feat: OTA四层架构 — manifest.json统一+渠道默认stable
- manifest.json: stable/beta/nightly三渠道H5+APK统一
- version.txt: 指向manifest.json URL
- v5嵌入页: channel默认stable, localStorage.channel可切换
- Bridge.fetchManifest: 自动读manifest.json解析对应渠道
- index-stable/beta/nightly: 业务页(开发期beta/nightly→stable)
- 删除旧版index-v6/v7
- 构建成功
|
2026-07-22 00:22:12 +08:00 |
|
LukeMackin
|
1160fdd03b
|
feat: OTA重构 — manifest.json统一+业务页三渠道
- manifest.json: stable/beta/nightly 统一H5+APK配置
- index-stable.html: 主业务页(⚙齿轮渠道切换)
- index-beta/index-nightly: meta refresh→stable(开发期)
|
2026-07-22 00:20:54 +08:00 |
|
LukeMackin
|
0984082ac0
|
fix: nightly sha256改为零哈希(TBD占位符会导致startsWith(TBD)误判)
|
2026-07-21 23:31:39 +08:00 |
|
LukeMackin
|
c4bf1de467
|
fix: 移除APK manifest BOM(审查阻断)
|
2026-07-21 23:31:27 +08:00 |
|
LukeMackin
|
fe182e6f3d
|
feat: APK manifest(发行/测试/开发)
|
2026-07-21 23:28:57 +08:00 |
|
LukeMackin
|
ad918e3a5f
|
feat: APK manifest生成脚本 gen-manifest.sh + README更新
|
2026-07-21 23:27:58 +08:00 |
|
LukeMackin
|
5e1badce1f
|
feat: 补丁推送脚本 push-hotfix.sh + README文档
|
2026-07-21 23:25:34 +08:00 |
|
LukeMackin
|
b0564a667d
|
chore: gen-manifest.sh reset
|
2026-07-21 23:20:28 +08:00 |
|
LukeMackin
|
c3077a4927
|
cleanup: 删除旧APK manifest(热更新用h5-manifest-*)
|
2026-07-21 23:19:56 +08:00 |
|
LukeMackin
|
38a60eae8f
|
chore: 移除调试dump文件(t*.xml, ss.png)
|
2026-07-21 23:14:07 +08:00 |
|
LukeMackin
|
a4fa268b9f
|
refactor: ota目录优化 — h5-manifest-*.json移至根+更新Bridge URL
- ota/h5/manifest-*.json → ota/h5-manifest-*.json
- MainActivity.kt: fetchManifest URL更新
- APK manifest + h5 manifest命名冲突消除
|
2026-07-21 23:13:57 +08:00 |
|
LukeMackin
|
f4b0feb9d1
|
fix: SHA256 sync
|
2026-07-21 23:07:56 +08:00 |
|
LukeMackin
|
39d7e82a55
|
fix: v6页checkUpdate+applyUpdate全用Bridge(移除fetch+CSP误伤)
|
2026-07-21 23:07:45 +08:00 |
|
LukeMackin
|
f56024f7c0
|
fix: v5页checkUpdate改用Bridge.fetchText(移除fetch)
|
2026-07-21 23:05:04 +08:00 |
|
LukeMackin
|
b88311a2d0
|
security: Bridge代理fetch+移除跨域设置+CSP头限制
CRITICAL修复:
- 移除allowFileAccessFromFileURLs/allowUniversalAccessFromFileURLs
- 移除mixedContentMode=ALWAYS_ALLOW
- WebViewClient注入CSP: default-src 'none';script-src 'unsafe-inline';connect-src 'none'
- 新增Bridge.fetchManifest(channel)/Bridge.fetchText(path)原生HTTP代理
- manifest JSON + version.txt通过Bridge读取,无需WebView跨域
|
2026-07-21 23:02:00 +08:00 |
|
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 |
|