Commit Graph

134 Commits

Author SHA1 Message Date
LukeMackin
c407f6c483 feat: Terminal Tab — 远程exec命令执行界面
- Terminal标签: 命令输入+Run按钮+输出区域
- 等宽字体+绿字黑底终端风格
- 5个Tab: Chat/Term/Gateway/Device/Connection
2026-07-22 17:51:49 +08:00
LukeMackin
aa45b258b2 feat: Android客户端—Chat聊天界面+状态指示器
- Chat Tab: 消息列表+输入框+发送按钮
- POST /chat 与Gateway通信(支持Error显示)
- 右上角连接状态圆点(绿/黄/红/灰)
- 底部Connection Tab独立状态管理
- KeyboardAvoidingView键盘适配
2026-07-22 17:50:33 +08:00
LukeMackin
93ca593f1b fix: 审查阻断 — BOM+信号时序+unused import+exit前等待 2026-07-22 17:33:52 +08:00
LukeMackin
bca14ebe7b feat: U-001 设置页面 — Gateway/Device/Connection三标签
- Gateway标签: URL配置+心跳间隔+日志级别+自动连接
- Device标签: 设备名称+信息卡片
- Connection标签: 状态指示器+连接/断开按钮
- 引用@yuzu-gca/shared的DEFAULT_GATEWAY_CONFIG
2026-07-22 17:30:18 +08:00
LukeMackin
34ead6e471 feat: C-015+P-006/008/009 Gateway连接生命周期
- connection.ts: ConnectionManager(注册/心跳/重连)
- checkConnectivity+P-006: /health HEAD探测
- registerWithGateway: POST /devices/register
- sendHeartbeat+P-008: 15s心跳 POST /devices/:id/heartbeat
- backoffDelay+P-009: 指数退避+30%抖动
- main.ts: bootstrap后启动ConnectionManager
- SIGINT/SIGTERM优雅关闭
2026-07-22 17:29:21 +08:00
LukeMackin
8c1ba243b5 chore: server包package.json+tsconfig 2026-07-22 17:24:52 +08:00
LukeMackin
8d8d99acdd fix: 审查修复 — import清理+capabilities匹配+placeholder加required 2026-07-22 17:24:08 +08:00
LukeMackin
f85ce9aa43 feat: P0 — MCP Tool类型(36) + Server框架 + 7个核心Tool实现
S-001: packages/shared/src/mcp/tools.ts — 36 Tool接口定义(10模块)
S-002: packages/shared/src/mcp/config.ts — DeviceConfig/Gateway类型
C-001: packages/server/src/index.ts — MCP Server框架+SSE传输
C-002~011: packages/server/src/tools.ts — 7个P0核心Tool
  - file_list, file_read, file_write, file_move
  - exec, process_list, sysinfo
packages/server/src/main.ts — 入口, 环境变量配置
2026-07-22 17:20:38 +08:00
LukeMackin
a98d35cb1c fix: versionCode match失败时跳过(避免curCode=0误报) 2026-07-22 16:50:59 +08:00
LukeMackin
e209db6be8 fix: APK阈值动态提取ver span末尾数字(审查建议) 2026-07-22 16:48:29 +08:00
LukeMackin
c41a3ad9d9 feat: frame.html 加入 APK 版本检测
- checkUpdate 读取 j.apk.versionCode
- 如果>5(当前版本),显示Download APK链接
- apkLink div在下载按钮下方
- BUILD SUCCESSFUL
2026-07-22 16:46:17 +08:00
LukeMackin
c6f7567eb9 fix: 完整重写index-stable.html(gear⚙+overflow) SHA256同步三渠道 2026-07-22 12:51:40 +08:00
LukeMackin
f595c82983 fix: gear emoji鍏?→⚙ 2026-07-22 12:48:17 +08:00
LukeMackin
153af75a44 feat: nightly→v7 测试渠道独立 2026-07-22 12:47:27 +08:00
LukeMackin
7e2f2ebfbd fix: body overflow-x:hidden 修复错位+SHA256同步 2026-07-22 12:30:43 +08:00
LukeMackin
99d8f66f52 fix: SHA256 sync gear修复后 2026-07-22 12:27:43 +08:00
LukeMackin
40998f9be1 fix: BOM清除+chLabel初始化(审查阻断) 2026-07-22 01:16:41 +08:00
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