jif2.zhang
|
5d9870fbb3
|
fix(android): APK 构建设置 VITE_API_BASE 为后端绝对地址
Android Build & Publish / build-android (push) Successful in 21m52s
Docker Build and Push / build-image (push) Successful in 1m50s
Tauri Android 页面源是 http://tauri.localhost, 相对 /api 会打到内嵌
资源服务而非后端。明文 HTTP 已由 android-signing.sh 放行 (usesCleartextTraffic=true)
|
2026-09-15 13:49:19 +08:00 |
|
jif2.zhang
|
c58220a213
|
fix(web): Home 统计分类计数防御 category_counts 为 null 的空值访问
Docker Build and Push / build-image (push) Waiting to run
Android Build & Publish / build-android (push) Has been cancelled
|
2026-09-15 13:47:02 +08:00 |
|
jif2.zhang
|
34a8a0a5a1
|
fix(android): 保留 serde_json 依赖 (tauri::generate_context! 宏展开需要)
Android Build & Publish / build-android (push) Successful in 22m38s
Docker Build and Push / build-image (push) Successful in 1m44s
|
2026-09-15 11:27:08 +08:00 |
|
jif2.zhang
|
c1b630a7ef
|
refactor: 数据层迁往服务端 (Express+DuckDB), APP 变瘦客户端只留缓存
Android Build & Publish / build-android (push) Failing after 6m55s
Docker Build and Push / build-image (push) Successful in 2m38s
- server: 新增 DuckDB 数据层 (db.js) 与鉴权 (auth.js: 验证码+token), 挂载 /api 业务路由
(衣物/搭配/日历/统计/MCP), 错误统一中间件
- 前端 src/api/index.ts 全部业务调用改为 HTTP (Bearer token), 客户端不再持有数据库
- 删除 Rust 数据层 (db.rs/auth.rs/mcp.rs/models.rs), Cargo.toml 裁剪 duckdb/chrono 等依赖
- Dockerfile: 基镜像 alpine→slim (@duckdb/node-api glibc 预编译), DB 落 /app/data 卷
- docker-build.yml: 移除 prune --volumes, 挂具名卷 wardrobe-data 持久化
- Landing/Profile 文案改为云端同步口径; 退出登录调服务端会话销毁
|
2026-09-15 10:53:58 +08:00 |
|
jif2.zhang
|
60430f8216
|
feat(app): APP 不再接入默认路径 /, 直接进登录或内部页面
Android Build & Publish / build-android (push) Successful in 22m47s
Docker Build and Push / build-image (push) Successful in 2m13s
- 新增 RootGate: Tauri 环境下访问 / 时, 未登录重定向 /login,
已登录重定向 /home; web 浏览器仍走 Landing 作为网络入口
- 同步读取 localStorage 已保存会话, 避免已登录用户闪一下登录页
- ota.ts 导出 inTauri 检测, App.tsx 复用
|
2026-09-15 09:32:45 +08:00 |
|
jif2.zhang
|
7ef8fa43ea
|
feat(web): landing 移除顶部下载按钮与 Web 新版本提示; 活性检查改用 /healthz
Docker Build and Push / build-image (push) Waiting to run
Android Build & Publish / build-android (push) Has been cancelled
- 顶部英雄区下载按钮与下方下载区块重复, 删除该按钮; 保留下载区块(按钮+二维码)
- Web 端访问的页面即部署版本, 不应有版本不一致提示: 移除 Landing 的 WebUpdateBanner
- index.html 响应加 Cache-Control: no-cache, no-store 兜底: 避免浏览器/代理缓存旧
index 导致刷新后仍加载旧哈希资源, 与部署 dist 不一致
- 新增 GET /healthz 作为容器活性检查路径, Dockerfile HEALTHCHECK 从 /api/health 切换
|
2026-09-15 09:25:54 +08:00 |
|
jif2.zhang
|
65b7fbcd13
|
fix: shutdown_flag 闭包借用/移动冲突(E0373/E0505)
Android Build & Publish / build-android (push) Successful in 56m9s
Docker Build and Push / build-image (push) Successful in 2m22s
setup 闭包借用 shutdown_flag 但要求 'static, on_window_event 又要 move
它。builder 链前各自 clone 出 setup_flag/event_flag, 两处闭包分别 move。
|
2026-09-14 15:37:02 +08:00 |
|
jif2.zhang
|
ec508423b5
|
fix(android): 添加 tauri 图标解决 tauri-codegen 找不到 icons/32x32.png
Android Build & Publish / build-android (push) Failing after 18m37s
Docker Build and Push / build-image (push) Successful in 2m19s
android CI 编译 wardrobe lib 时 tauri-codegen 按 tauri.conf.json bundle.icon
读取全部图标, 缺失 src-tauri/icons -> proc macro panicked:
failed to open icon .../icons/32x32.png.
用 tauri icon 从生成的 source.png 批量生成桌面/Android/iOS 全套图标。
(源图 icons/source.png 保留以便再生成)
|
2026-09-14 15:11:58 +08:00 |
|
jif2.zhang
|
b8018f7807
|
fix(android): 钉 chrono <0.4.40 修复 arrow-arith 51 的 quarter 方法歧义 (E0034)
Android Build & Publish / build-android (push) Failing after 19m6s
Docker Build and Push / build-image (push) Successful in 2m23s
[原因] duckdb 0.10.2 非可选依赖 arrow 51 (→ arrow-arith 51)。
chrono 0.4.40+ 在 Datelike 新增 quarter(), 与 arrow-arith 自带的
ChronoDateExt::quarter 在 temporal.rs:90 产生 E0034 multiple applicable items。
桌面构建走 docker-build(web+OTA), 从未编译 arrow, 故只有 android CI 暴露。
[验证] cargo update -p chrono --precise 0.4.39 成功; 本机缺 MSVC 无法 cargo check,
修复与 arrow-rs#6600 官方 workaround 一致 (chrono >=0.4.38, <0.4.40)
|
2026-09-14 14:46:19 +08:00 |
|
jif2.zhang
|
c0439d08f0
|
fix(ci): 设置 CXXFLAGS=-stdlib=libc++ 修复 duckdb android 编译失败
Android Build & Publish / build-android (push) Failing after 18m56s
Docker Build and Push / build-image (push) Has been cancelled
libduckdb-sys 0.10.2 build.rs 同时添加 -stdlib=libc++ 和 -stdlib=libstdc++
(flag_if_supported), 两者在 clang 上均被支持, 后者覆盖前者成为生效 stdlib.
NDK 不含 libstdc++ 头文件, 导致 fatal error: 'string' file not found.
cc 1.4.5 在 compile_object 最后追加 CXXFLAGS 环境变量值 (lib.rs:2191),
故设置 CXXFLAGS=-stdlib=libc++ 能确保 libc++ 为最终生效 stdlib.
|
2026-09-14 14:25:21 +08:00 |
|
jif2.zhang
|
2167a7a10b
|
fix(ci): 替换需鉴权的 mise action 为 setup-node+rustup, 修复 android CI 秒失败
Android Build & Publish / build-android (push) Failing after 15m21s
Docker Build and Push / build-image (push) Successful in 2m25s
- gitea.com/actions/mise 不存在/需要鉴权, 克隆即 Unauthorized, 导致 job 02:05 秒失败
- 改为 gitea.com/actions/setup-node@v4 + 手动 rustup 安装
- Ensure SDK/NDK 步骤加固: 预装 SDK 复用 + 权限兜底 + 按需安装
- Rust 缓存路径改为 ~/.cargo + ~/.rustup
- APK 固定上传到 data/android/wardrobe.apk
|
2026-09-14 10:44:36 +08:00 |
|
jif2.zhang
|
fc279c20ff
|
fix(web): 下载模块上移; 修复按钮遮挡版本文字与 APK 为空
Android Build & Publish / build-android (push) Failing after 6s
Docker Build and Push / build-image (push) Successful in 2m9s
- Landing: 下载模块移到 hero 之后 (特色/统计之前)
- 按钮 display:inline-block + width:auto + margin-bottom, 不再全宽压住版本文字
- android-build.yml: 配置中心 key 改用后缀匹配 (r2/CF_API_TOKEN),
此前按精确名 CF_API_TOKEN 匹配导致 fetch 步骤报缺密钥 → android 构建从未跑,
桶里没有任何 widget/ 对象, APK 下载 404/为空
|
2026-09-14 10:05:11 +08:00 |
|
jif2.zhang
|
b2db988834
|
fix(web): 首页只留下载、去登录/在线体验入口; 下载区改二维码; 修复网络版一直提示新版本
Android Build & Publish / build-android (push) Failing after 6s
Docker Build and Push / build-image (push) Successful in 2m25s
- Landing: 移除 header 登录/进入应用按钮、hero 在线体验入口
- 下载区: 复制链接行改为 qrcode.react 二维码 (扫码下载 APK)
- 修复 '持续提示新版本可用' bug: vite 构建时把 BUILD_ID 写入 dist/.build-id,
manifest-web 返回当前部署 dist 的 build_id, 与浏览器内置值同源比对;
此前返回 OTA 包 build_id (seq-<ts>) 与页面 BUILD_ID 永不一致 → 横幅常驻
|
2026-09-14 09:49:39 +08:00 |
|
jif2.zhang
|
47db85d01d
|
fix(ci): OTA 私钥改为写文件签名, 修正配置中心存储的坏密钥
Android Build & Publish / build-android (push) Failing after 5s
Docker Build and Push / build-image (push) Successful in 3m59s
- 配置中心原 MINISIGN_PRIVATE_KEY 缺首行 untrusted comment (只含 base64),
minisign 报 'Error while loading the secret key file'
- 已删除坏条目 (cfg-mtwmbmkd-bbiihv), 保留正确完整值 (cfg-mtwr5c2m-99r5fh)
- docker-build.yml / ota-build.yml 不再用 GITHUB_ENV 多行 heredoc,
改为把私钥写入 ota-package/hotswap.key, build-ota.mjs --key 显式指定
- 本地全链路验证: 配置中心拉取 → 写文件 → 签名 → 用 tauri.conf.json 公钥验签通过
|
2026-09-11 17:29:31 +08:00 |
|
jif2.zhang
|
84fb01b8a3
|
feat: 自动部署 + android 每次提交触发
Android Build & Publish / build-android (push) Failing after 5s
Docker Build and Push / build-image (push) Failing after 4m32s
- docker-build.yml: main 分支推送 → 构建 OTA 包 → Docker 镜像 → :3002 自动部署
- Dockerfile: node:22-alpine, dist + server + ota-package, healthcheck
- android-build.yml: 触发改为 on push (所有分支), 每次提交都构建
- ota-package/README.md 占位, 本地 docker build 不报错
- .gitignore / .dockerignore 调整
|
2026-09-11 17:12:58 +08:00 |
|
jif2.zhang
|
38b5e3190a
|
init: Wardrobe 衣物管理系统 - 项目首页、OTA 升级、Android CI/CD
- 响应式项目首页 (Landing, 含 R2 APK 下载) + 路由 /home 调整
- OTA 升级: tauri-plugin-hotswap (lib.rs/main.rs 拆分, 客户端热替换)
- OTA 服务端 (check/bundle/manifest-web) + build-ota/genkey/upload 脚本
- 密钥/凭据统一存配置中心 (signing + ota + cloudflare 分组)
- Android CI (android-* 分支) + OTA CI (手动触发), 产物上传 R2
- 修复 tsc/构建阻塞问题
|
2026-09-11 15:46:42 +08:00 |
|