日期:2026-11-10。
- “目标任务”内新增甘特图,与任务树、目标地图并列。
milestone默认表示阶段,支持先填写阶段周期,再拆分任务。- 手填日期优先;父项留空时自动汇总子任务,保留未排期提示。
- 支持按月查看、回到今天、折叠阶段、点击编辑和手机横向滚动。
- 展示状态、前置依赖及继承关系,并提示超出阶段、目标期限或依赖日期冲突。
- 计划日期通过任务创建、PATCH、列表、任务树及快照链路读写;显式
null清空,省略字段保留原值。 - 数据库迁移为第 24 版,旧任务的计划日期为空;每日排期继续使用原有规则。
| 检查 | 结果与覆盖 |
|---|---|
go test ./... |
通过;包括 API、应用服务及迁移回归 |
go vet ./... |
通过 |
npm --prefix web test |
71 项通过,含 12 项新增甘特图规则测试 |
npm --prefix web run build |
TypeScript 与网页/PWA 构建通过 |
npm --prefix web run test:gantt:browser |
真实 Chromium 验收通过 |
| Docker 构建 | fasttask:gantt-test-20261110 构建成功 |
后端新增验证包括:合法日期、闰日、同日任务、不完整或倒序日期、非法格式、清空、字段省略、认证、版本冲突、无效修改的事务原子性,以及任务删除恢复和助手提案保留日期。迁移测试从真实第 23 版结构升级,检查旧数据及重复执行。
前端规则测试包括:多层自动汇总、手填覆盖与清空、未排期子项、所有上级的日期范围、继承前置依赖、删除子树过滤、月末与跨年、跨月裁剪、结束日包含及账号时区。
浏览器验收使用临时数据库、独立账号与真实构建,检查阶段新建、手填/自动日期、未排期条目、依赖线与提示、折叠、翻月、表单校验、保存清空、另一客户端并发修改后的冲突保护、手机任务名称固定和目标切换隔离。
重跑浏览器验收:
go build -trimpath -o bin/fasttask ./cmd/fasttask
npm --prefix web run build
npm --prefix web run test:gantt:browser默认使用 /usr/bin/chromium,可通过 CHROME_BIN 指定浏览器,FASTTASK_TEST_BINARY 指定已构建程序,GANTT_ARTIFACTS 指定截图目录。该脚本自行创建并清理临时服务和数据库,不访问生产环境。
源站为 root@47.110.133.67,应用目录 /home/dev/FastTask。从运行中的生产服务通过其当前程序生成一致性备份,并执行完整性校验;附件和音频目录另行复制。
- 源站备份:
/home/dev/FastTask-backups/gantt-test-seed-20261110/production.db。 - 本机备份及部署资料:
backups/gantt-test-20261110/,目录权限0700,凭据文件权限0600。 - 原生产副本包含 6 个用户、7 个目标、86 个任务、149 份每日计划、509 个每日条目及 10 个任务树快照。
- 候选容器迁移完成、业务访问之前,对已有目标、任务、每日计划、每日条目、推进事件和任务树快照逐行比较,均一致;已有任务的新增日期字段全部为空。
- 完整性检查为
ok,外键检查为 0 项问题。
测试副本独立撤销复制来的登录会话、设备/工牌及 Harness 令牌,取消未完成后台作业,关闭通知,移除生产外部连接和凭据。已结束的对话运行历史保留并与源备份核对。JWT、Panel 和凭据加密密钥均重新生成,复制账号的密码替换为独立测试密码。
为方便验收,在有生产副本数据的账号中增加了“甘特图验收示例”目标及 6 项阶段/任务;原有任务的内容和日期未修改。另建立独立测试管理员。账号及密码只保存在本机 backups/gantt-test-20261110/access.txt。
测试入口:https://task.fast.0x535a.cn。运行版本 0.1.0-gantt-test,构建标识 5e01e1e-gantt-test,数据库版本 24。
候选容器和正式测试公网均通过真实浏览器冒烟检查:使用测试副本账号在登录表单登录,读取该账号已有生产任务,进入示例甘特图,验证 6 行阶段与任务、自动汇总、未排期状态、日期提示和手机固定名称,浏览器运行异常为 0。
测试站验收时,公网 /health/ready 正常,/health/version 返回新测试版本;当时生产仍为原 9c67f44 构建、数据库版本 23。
用户验收测试站后授权提交、推送及生产部署。功能提交 60ebca7 已推送到 main;生产原有 FastCAS 服务鉴权修复先以 0363493 纳入仓库,合并后重新通过全部 Go 测试、go vet、71 项前端测试、网页构建和 12 组 Chromium 甘特图验收。
2026-11-10 北京时间 11:58:47,生产 https://task.fastrd.io 完成更新:
- 版本
0.1.0-gantt,构建提交60ebca7bc86e2782497125d44251f0b0780354d5;源站及公网健康检查均正常。 - 数据库迁移至 24;副本演练和正式迁移均逐行核对 40 张表、14,762 行旧数据,保持一致。6 个用户、7 个目标、86 个任务、149 份每日计划、509 个每日条目和 10 个任务树快照保留;旧任务日期均为空。
- 数据库完整性
ok,外键问题 0;生产.env发布前后校验和一致。 - 公网 JS/CSS 哈希与已测构建相同;FastCAS 和 FastResearch 登录可用接口正常,集成接口拒绝无凭据、无效 Bearer 及无效旧 Key。
- 真实 Chromium 检查生产登录页和手机布局,通过且浏览器异常为 0;甘特图编辑及并发行为已在独立数据库和测试站验收。
- 服务
active/running、自动重启次数 0;使用运行中 sidecar 的临时认证密钥执行doctor,数据库、Node 及 sidecar 健康检查通过。
生产保留原数据与原配置;测试副本、测试账号及测试密钥均未用于生产部署。完整备份及回退脚本在 /home/dev/FastTask-backups/gantt-release-20261110。
测试部署定义、源站信息和回滚步骤见 deployment.md。