212 Commits

Author SHA1 Message Date
chenpei
8009c62868 perf: 创意资产库第一页加速,空壳改为权威标记 2026-08-17 11:39:40 +08:00
chenpei
904535d7d9 fix: restore direct cached-image deployment 2026-08-16 11:21:17 +08:00
chenpei
b470d356c6 fix: 统一迁移校验换行符 2026-08-15 18:47:42 +08:00
chenpei
47f3b7e067 fix: 兼容旧容器上传挂载别名 2026-08-15 18:31:21 +08:00
chenpei
2c7df1765b fix: 将迁移审计从常规发布中剥离 2026-08-15 18:14:24 +08:00
chenpei
440b1a7f60 fix: 将人员架构迁移纳入发布审计 2026-08-15 17:10:18 +08:00
chenpei
f63e04ba02 feat: 用户管理改为组织架构展示;花名册自动激活/角色判定;修复花名册同名串档(有花名=正式员工) 2026-08-14 18:36:14 +08:00
chenpei
448bf62ff7 fix: 组织架构每日同步改为应用启动即调度(每日02:00 Asia/Shanghai),并排除 output/资料/截图等本地目录出构建上下文 2026-08-14 16:23:29 +08:00
chenpei
7b0ee5efb4 feat: 人员架构统一到钉钉唯一值,接入上游组织架构动态同步
素材库与考核调研此前各有一套人事数据,彼此没有外键,靠姓名、邮箱在运行时
逐层软匹配。本次把身份判定收敛到钉钉唯一值,并让组织架构与人员状态跟随
上游 HR 系统自动更新。

人员身份
- 新增账号与权威人员档案的正式绑定表,活跃绑定双向唯一
- users.dingtalkUserId 补上唯一约束,数据库层面杜绝一人多号
- 移除钉钉登录的同名自动合并,同名冲突一律转人工核对
- 看板删除特判由比对用户名改为比对钉钉唯一值,避免同名越权

组织架构
- 新增 OrganizationUnit,直接镜像上游 HR 部门树
- 不再从员工部门路径倒推,同名部门不会再被合并
- 上游已删除的部门下线而非物理删除

人员状态
- 新增规范化的 employmentState,取代对混杂原始值做关键词匹配
- 接入上游离职表,离职判定不再依赖中文关键词
- 离职联动:归档账号并把素材托管给所在部门,默认只处理离职满 30 天者

素材归属
- 归属变更纳入正式转移,记录最初上传者、转移流水与理由
- 新增素材托管部门,归属与署名分离:托管只改维护责任,不动署名
- 编辑素材的权限判定统一到 canManageMaterial
- 修复任务-详情上传把邮箱误存为作者名的问题

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-14 09:53:48 +08:00
chenpei
53b314a056 fix: validate video SPU without rewriting input 2026-08-13 13:15:46 +08:00
江林铖
fa14bbc207 feat: hourly work review reminders 2026-08-13 12:23:23 +08:00
chenpei
930b22cd1e fix: preserve complete video SPU values 2026-08-13 12:18:21 +08:00
chenpei
0fe49db973 fix: validate video SPU names 2026-08-13 12:09:14 +08:00
chenpei
98068a4209 fix: 修复 Alpine 视频转码空间检查 2026-08-13 10:55:22 +08:00
chenpei
95825b54ea fix: reuse migration audit for code-only deploys 2026-08-13 09:27:46 +08:00
chenpei
2f4ee50a97 fix: allow protected video share links 2026-08-13 09:21:02 +08:00
chenpei
440eee42e1 deploy: compare portable image config digests 2026-08-12 22:04:53 +08:00
chenpei
be3b5f9cee build: use bundled node headers for canvas 2026-08-12 21:29:49 +08:00
chenpei
c4eff7b2bb build: compile canvas without external binary download 2026-08-12 21:20:58 +08:00
chenpei
b2aac04c13 test: make release gates portable on Windows 2026-08-12 20:43:09 +08:00
chenpei
343b88cb98 fix: parse immutable registry digest 2026-08-12 20:00:13 +08:00
chenpei
a39208802e fix: resolve OCI image manifest digest 2026-08-12 19:52:15 +08:00
chenpei
fb6187a0b1 fix: streamline verified release builds 2026-08-12 19:44:23 +08:00
chenpei
4a6fa92589 fix: verify production host key on build server 2026-08-12 19:16:30 +08:00
chenpei
020006ceb7 fix: bound HTTP Gitea release fetches 2026-08-12 18:55:38 +08:00
chenpei
7c5f42ca40 fix: support pinned HTTP Gitea releases 2026-08-12 18:25:08 +08:00
chenpei
d4fb3971e9 Merge remote-tracking branch 'origin/main' into codex/video-logo-resilience-20260811 2026-08-12 18:16:07 +08:00
chenpei
7326e273e1 fix: harden media upload and release safety
Protect upload cleanup and atomic completion paths, add durable media worker leases and brand asset validation, and introduce verified migration/bootstrap/deployment gates.
2026-08-12 18:04:08 +08:00
江林铖
d2afa2bfe7 feat: show work description in review workspace 2026-08-11 13:34:11 +08:00
江林铖
17d45352d3 fix: stabilize mobile annotation box selection 2026-08-11 10:34:15 +08:00
chenpei
d69eb6e252 feat: 支持视频手动预览图 2026-08-07 23:28:55 +08:00
江林铖
caeabb3b4f fix: keep annotation comments within mobile viewport 2026-08-07 10:02:13 +08:00
江林铖
634760393a fix: wrap long work review annotations 2026-08-07 09:32:11 +08:00
江林铖
52ad6aeb04 fix: harden performance survey xlsx downloads 2026-08-06 14:28:26 +08:00
江林铖
2163ddb4f7 fix: include all active DingTalk evaluators 2026-08-06 13:22:24 +08:00
江林铖
98c9b4900b feat: export performance survey dashboard to xlsx 2026-08-06 10:02:57 +08:00
江林铖
e7eb8d152e feat: restrict work review deletion to wuxie 2026-08-05 16:49:54 +08:00
chenpei
f627344616 fix: honor range for legacy material downloads 2026-08-03 16:55:08 +08:00
chenpei
fc20baf9d6 fix: preserve range downloads through s3 proxy 2026-08-03 16:28:59 +08:00
chenpei
57a9a946ab fix: restore task page previews and bound download memory 2026-08-03 15:42:02 +08:00
江林铖
7c609a5ca8 feat: add boxed work review annotations 2026-08-03 13:40:13 +08:00
chenpei
62295a0230 fix: 降低任务详情选图内存峰值 2026-08-03 09:53:20 +08:00
chenpei
3495530f3d fix: 加固任务详情上传稳定性 2026-08-02 01:04:11 +08:00
chenpei
6b909fa234 fix: 收紧网络状态与媒体代理安全边界 2026-08-01 23:57:48 +08:00
江林铖
776c6bafce fix: unify work review detail workspace 2026-08-01 20:04:38 +08:00
江林铖
a6843d684b fix: align work review card summaries 2026-08-01 19:43:54 +08:00
江林铖
1f68cba81c fix: hide revision action after approval 2026-08-01 19:09:26 +08:00
江林铖
878906c52f fix: add temporary single-review test flow 2026-08-01 18:34:51 +08:00
江林铖
50ea94ce3c feat: add work review revision submission flow 2026-08-01 17:22:00 +08:00
chenpei
0897c81471 fix: 稳定任务详情上传与素材查询 2026-08-01 16:17:42 +08:00