nyaKazuha
|
4ed81f0030
|
feat(bat-api): 实现内嵌 dashboard
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
Closes #46
|
2026-08-31 23:17:23 +08:00 |
|
nyaKazuha
|
ab21344773
|
feat(i18n): 完成 localized patch 发布回滚闭环
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
Closes #45
|
2026-08-31 00:02:55 +08:00 |
|
nyaKazuha
|
f441f1810e
|
feat(i18n): 接入翻译 provider worker
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
Closes #44
|
2026-08-30 21:13:31 +08:00 |
|
nyaKazuha
|
7f465523e1
|
fix(bat-api): 完成 issue #19 同机 live 联调
bat-rust / Build and test Go API (push) Canceled after 0s
bat-rust / Build and test Rust (push) Canceled after 0s
|
2026-08-29 22:58:01 +08:00 |
|
nyaKazuha
|
90083302a2
|
fix(unityfs): 加固基础容器解析校验
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
补充 UnityFS 总大小、block/directory 计数、目录路径、重复项和边界校验,覆盖 LZMA 数据块与损坏输入回归。新增隔离真实 UnityPy bundle 测试入口,并用 /tmp 中的 char_118_yuki.ab 完成实际回归。复杂对象解析与发布级重打包继续保留在 G-005 后续范围。
Fixes #3
|
2026-08-20 12:13:04 +08:00 |
|
nyaKazuha
|
9d4f8d903c
|
feat(addressables): 补全 catalog 可校验字段
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
补充 JSON/compact catalog 的 provider ID、bundle name、资源类型、hash、size、CRC 和依赖字段,并贯通 ResourceEntry、SQLite 资源索引和回归 golden。对 compact extra data 与 resource type index 的损坏返回明确错误,不再把 bundle name 当作 hash fallback。\n\n验证:cargo fmt --check;cargo test -p bat-core --locked;cargo test -p bat-adapters --locked;cargo test -p bat-infrastructure --locked;git diff --check。\n\nClippy 仍受既有 core/src/domain/game_client.rs:141 的 needless-question-mark 和 items-after-test-module 基线问题影响,未混入本 issue 修复。\n\nFixes #2
|
2026-08-19 23:10:16 +08:00 |
|
nyaKazuha
|
72c1a879a3
|
feat(bat): 补全工作流命令与人工校对状态
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
Refs #43
|
2026-08-19 21:33:33 +08:00 |
|
nyaKazuha
|
550ee7fd9a
|
feat(bat): 补全翻译工作台编辑命令
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
Refs #43
|
2026-08-12 09:33:14 +08:00 |
|
nyaKazuha
|
974a6e18c3
|
feat(bat): 暴露翻译任务状态控制
Refs #43
|
2026-08-12 09:11:09 +08:00 |
|
nyaKazuha
|
1933d6acb0
|
feat(bat): 补全工作流校验与调度过滤
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
新增 parse clear-cache 和 i18n validate,补齐 schedule 的作用域过滤与单轮执行上限,并将列表过滤参数暴露给 bat-api dashboard。同步 RPC、OpenAPI、用户文档和回归测试。
Refs #43
|
2026-08-03 23:47:59 +08:00 |
|
nyaKazuha
|
0784d5b532
|
feat(bat): 完善工作流调度与 dashboard RPC
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
补全资源拉取、解析、翻译、重打包和本地化发布命令,支持单次、限定次数与周期调度。移除 TUI 计划并通过 schedule.* RPC 暴露给 bat-api dashboard。
Closes #43
|
2026-08-03 22:18:52 +08:00 |
|
nyaKazuha
|
3b103be8a9
|
docs: 对齐全部文档状态
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
|
2026-08-03 12:19:06 +08:00 |
|
nyaKazuha
|
a2e2ae8ac5
|
docs: 对齐 RPC 接口文档
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
|
2026-08-03 11:47:51 +08:00 |
|
nyaKazuha
|
7c863d10d1
|
fix: 稳定并发 worker 回归测试
bat-rust / Build and test Go API (push) Canceled after 0s
bat-rust / Build and test Rust (push) Canceled after 0s
|
2026-08-03 00:57:29 +08:00 |
|
nyaKazuha
|
9a5b3ba39b
|
fix: 拆分 bat 控制面
|
2026-08-03 00:43:11 +08:00 |
|
nyaKazuha
|
2b053e247d
|
fix: 抽象官方库存与 sidecar hash 策略
|
2026-08-02 23:12:25 +08:00 |
|
nyaKazuha
|
ba28e067c9
|
fix: 明确并发下载报告按计划顺序输出
|
2026-08-02 22:47:21 +08:00 |
|
nyaKazuha
|
6442c7661d
|
fix: 保持官方资源 adapter URL 错误契约
|
2026-08-02 22:44:09 +08:00 |
|
nyaKazuha
|
8b64cc94f3
|
fix: 完成下载并发与翻译交接链路
|
2026-08-02 22:34:23 +08:00 |
|
nyaKazuha
|
d533c88108
|
chore: 忽略本地 CHECK.md
|
2026-08-01 19:17:36 +08:00 |
|
nyaKazuha
|
12c5d365ab
|
feat(translation): 增加离线任务状态查询
|
2026-08-01 19:04:54 +08:00 |
|
nyaKazuha
|
a05d3ee6af
|
fix(repository): 扩展资源索引查询面
|
2026-08-01 12:11:35 +08:00 |
|
nyaKazuha
|
8d930bf4d7
|
chore(docs): 增加状态一致性门禁
|
2026-08-01 10:55:43 +08:00 |
|
nyaKazuha
|
80e6718e8a
|
fix(sync): 对齐 localized 状态契约
|
2026-07-31 18:28:02 +08:00 |
|
nyaKazuha
|
df361cff28
|
test(api): 固化 Rust-Go RPC 契约
|
2026-07-31 18:20:37 +08:00 |
|
nyaKazuha
|
1e466d3374
|
fix(sync): 规范 release flow 状态码解析
|
2026-07-31 17:45:50 +08:00 |
|
nyaKazuha
|
6af7706190
|
fix(api): 补齐 bat-api 控制与后端 RPC
|
2026-07-31 17:01:03 +08:00 |
|
nyaKazuha
|
20ddd67947
|
fix(api): 统一 catalog GameMainConfig 字段
|
2026-07-31 16:05:17 +08:00 |
|
nyaKazuha
|
4cc143f66d
|
fix(sync): 固化 release flow 状态码
|
2026-07-31 15:57:07 +08:00 |
|
nyaKazuha
|
99e6b3a23a
|
fix(sync): 立即校验官方 hash sidecar
|
2026-07-31 13:12:21 +08:00 |
|
nyaKazuha
|
16e73327b4
|
fix(sync): 补齐发布清理与校验进度
|
2026-07-31 13:00:53 +08:00 |
|
nyaKazuha
|
8ec0e12795
|
ci(api): 增加 Go API 门禁
|
2026-07-31 12:55:43 +08:00 |
|
nyaKazuha
|
03021ad649
|
docs(project): 同步维护冻结与运行文档
bat-rust / Build and test Rust (push) Canceled after 0s
补齐解析模块维护冻结规则,并同步 CURRENT_STATUS、CURRENT_GAPS、PROJECT_PLAN、RPC 参考、部署指南、用户指南和官方资源运行说明。
文档同时反映 bat-api 资源 bootstrap/分发边界、官方同步解析缓存、TextUnit 队列、双目录发布和 patch 入口的当前状态。
验证:未运行新命令;本轮已按要求停止重复构建/测试。
|
2026-07-31 00:45:46 +08:00 |
|
nyaKazuha
|
3f78f8f880
|
feat(api): 补齐资源分发服务入口
新增 bat-api 资源 bootstrap/分发 HTTP 服务、RPC release 发现、CDN path 分发、launcher 资源引导兼容、控制面中间件、OpenAPI 和 systemd 模板。
同步 Go 边界文档,明确 Rust bat 是资源生产者和同步运维入口,Go bat-api 是只读 bootstrap/分发服务,试验 Go CLI 产物为 bin/bat-go。
验证:未运行新命令;本轮已按要求停止重复构建/测试。
|
2026-07-31 00:41:48 +08:00 |
|
nyaKazuha
|
2079c6a307
|
feat(sync): 接入解析缓存与汉化发布前置
补齐官方 release 解析缓存、TextUnit 明细索引、资源变更集、Crowdin handoff 预留、ResourceRepository 导入元数据和 localized release patch 前置链路。
同时开放文件级 patch.apply 与 UnityFS TextAsset/string/semantic field patch CLI/RPC 入口,并保留官方原版资源与汉化产物双目录发布状态。
验证:cargo test -p bat-assetbundle --locked;cargo clippy -p bat-assetbundle --all-targets --locked -- -D warnings;cargo test -p bat-infrastructure --locked。
|
2026-07-31 00:38:45 +08:00 |
|
nyaKazuha
|
f4880a71bd
|
feat(patch): 补齐通用补丁引擎基础
实现 Binary、JSON、Text patch 与通用 manifest 校验基础。
验证:cargo test -p bat-patch --locked;cargo clippy -p bat-patch --all-targets --locked -- -D warnings。
|
2026-07-31 00:21:50 +08:00 |
|
nyaKazuha
|
3e9bb20d79
|
feat(assetbundle): 完善官方资源解析与双目录发布
|
2026-07-25 20:51:01 +08:00 |
|
nyaKazuha
|
102b49b666
|
feat(rpc): 完成 issue #1 Go 调用边界
bat-rust / Build and test Rust (push) Failing after 3m17s
|
2026-07-24 17:58:34 +08:00 |
|
nyaKazuha
|
ecda08ed97
|
feat(rpc): 补齐 issue #1 资源后端接口
|
2026-07-24 15:55:37 +08:00 |
|
nyaKazuha
|
a729615a48
|
fix(sync): 移除多线程下载并补齐staging复用回归
|
2026-07-24 10:34:58 +08:00 |
|
nyaKazuha
|
3f5d2a8da7
|
fix(sync): 修复官方资源并发下载与媒体路径
bat-rust / Build and test Rust (push) Successful in 3m47s
daemon 子进程现会透传下载并发配置,下载进度按已完成数量单调上报。MediaCatalog 改为使用官方相对路径生成全局媒体 URL,覆盖 GameData、Prologue 等目录并补齐 jpg 资源,避免叶子文件名误拼媒体根目录导致 403。同步更新测试、smoke 断言和运行文档。
|
2026-07-23 11:56:34 +08:00 |
|
nyaKazuha
|
d694100d6c
|
fix(ci)
bat-rust / Build and test Rust (push) Successful in 3m44s
|
2026-07-21 22:52:39 +08:00 |
|
nyaKazuha
|
3add5f7327
|
fix(ci): 产物构建与上传
|
2026-07-21 22:24:17 +08:00 |
|
nyaKazuha
|
40bd82e227
|
fix(ci):
bat-rust / Build and test Rust (push) Successful in 1m45s
|
2026-07-21 22:05:25 +08:00 |
|
nyaKazuha
|
84047fbacb
|
fix(ci): 新增同步环境
bat-rust / Build and test Rust (push) Failing after 6s
|
2026-07-21 21:54:51 +08:00 |
|
nyaKazuha
|
43e1a33b88
|
fix(ci): 移除 Gitea workflow 外部 action 依赖
bat-rust / Build and test Rust (push) Failing after 1s
改为在 linux runner 中手动 fetch 当前提交,避免自托管 runner 准备阶段通过 gh-proxy 克隆 actions/checkout 和 dtolnay/rust-toolchain 时被 403 拦截,并同步开发文档与缺口说明。
|
2026-07-21 11:53:39 +08:00 |
|
nyaKazuha
|
924cff5f51
|
ci(rust): 切换 Gitea runner 标签为 linux
bat-rust / Build and test Rust (push) Canceled after 14m5s
保留 .gitea/workflows/bat.yml 作为实际工作流入口,删除冗余副本,并同步项目计划与当前缺口文档。
|
2026-07-21 11:35:59 +08:00 |
|
nyaKazuha
|
d76f6f1c88
|
ci(rust): 添加 Gitea host runner 工作流
补充自托管 Gitea host-runner workflow,并将项目状态、缺口、开发指南与路线图同步到当前实际情况。
|
2026-07-21 10:39:11 +08:00 |
|
 nyaKazuhaandClaude Fable 5
|
0ab3f3b953
|
feat(download): 多线程下载 + 重试指数退避(issue #17)
下载主循环由串行改为「并发下载 + 串行簿记」三段式:
- Phase A:无网络前置校验(官方性/目标路径/建目录)+ 判定跳过/需下载,
非官方 URL 在任何下载前 fail-fast
- Phase B:need-download 项经 scoped 线程池并发下载(默认并发 4,
可配 1..=256)。worker 只做只读 &self 的 pull_one(各 URL 独立
.part/目标文件),经 mpsc 把结果送回主线程;manifest/quarantine
簿记与进度回调全在主线程串行执行,无需加锁。首个失败或 should_cancel
置 cancel 标志,其余 worker 在任务边界停止
- Phase C:按 plan 顺序串行收尾——seed .hash 校验(顺序相关、可
fail-fast)+ 构建有序结果
fail-fast 与「不发布不完整资源」不变量保留;进度事件按 URL 配对但
顺序不再单调(并发下天然如此)。
curl 重试加指数退避(网络类 200ms→400ms→800ms…上限 5s;ETXTBSY 仍走
极短退避),并发下对官方 CDN 更礼貌;退避基值 cfg(test) 下为 0 不拖慢
单测。
并发度经 OfficialUpdateConfig.download_concurrency 贯通,CLI
--download-concurrency 与 BAT_DOWNLOAD_CONCURRENCY 可配,.env 模板
与 USERGUIDE/CURRENT_STATUS/CHANGELOG 同步。
验证:新增并发正确性测试(并发 8:每 URL 恰一次 started+finished、
全部落盘)、并发度钳制、退避时长计算、CLI/env 解析单测;progress
排序测试改为顺序无关不变量;workspace 全测试(20 套件) + fmt +
clippy --all-targets -D warnings 全绿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-18 03:25:04 -07:00 |
|
 nyaKazuhaandClaude Fable 5
|
8efd8f36b4
|
feat(addressables): 提取 m_Crc 并提供 size/CRC 校验 API(issue #2)
Addressables catalog 里的 m_Crc(bundle IEEE CRC-32)此前从未解析;
声明的 size 也只作元数据、无校验能力。本次:
- ResourceEntry 新增 crc: Option<u32>(serde default 向后兼容),
compact 与 expanded 两种 catalog 形态均解析 m_Crc/m_Crc→crc
- core 新增 crc32_ieee(IEEE CRC-32,等价 zlib/Unity m_Crc)与
ResourceEntry::{declared_crc, verify_downloaded_bytes}:按声明的
size/crc 校验字节,0 视为「无 CRC」跳过
- SqliteResourceRepository 持久化 crc 列,旧库经幂等 ensure_column
迁移补列(pragma_table_info 判断后 ALTER)
- golden 投影与 fixture 补 crc 字段,验证真实形态 catalog 提取贯通
校验 API 暂不接入 import 覆盖路径(该路径按 CAS id 重写 hash/size 是
既定语义,且合成测试的声明值不匹配实际字节);接入下载/导入校验留
待 G-011。
验证:core crc32 标准向量 + verify 分支单测、expanded 形态非零 crc
提取单测、golden 端到端;core/adapters/infrastructure 全测试 + fmt +
clippy --all-targets -D warnings 全绿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-18 02:41:41 -07:00 |
|