5e603f0c8ae5382256a2f055a8217f87f11fa7d8
designops-gateway / build (push) Failing after 20m21s
调研结论:access token 在 Penpot 2.18 无法经 RPC 授权(perms 只能 REPL 追加), 故采用会话保活。续期窗口以登录响应的 Comment=Renewal at(<+6h) 为准,而非 7 天过期。 - penpot-session.ts:登录/落盘(0600 原子写)/陈旧判定/合并并发刷新/fail-open/status - penpot.ts:sessionProvider 每次读实时 cookie;401 → 强制重登 → 只重试一次 - index.ts:启动 ensureFresh + 小时级 tick;healthz 暴露会话健康(不含密钥) - P3 的 exporter cookie 改为 provider,刷新对运行中流水线即时生效 修掉真 bug:seed cookie 年龄未知却当成新鲜 → 整个续期窗口不登录、从不写会话文件; 改为 seed 一律视为陈旧。 实测:会话文件 mode 600;healthz penpotSession 指标正常;植入假 cookie 后日志出现 '401 received, forcing re-login' + 'refreshed successfully' 且 P4 仍 success; 重启后 ageSeconds 46→72(复用同一 cookie,无新刷新)。测试 49/49 okf: 新增 Penpot 会话轮换不变式 S1-S7
Description
DesignOps 中台 monorepo(OpenPencil+Penpot+Excalidraw+StyleDictionary+Storybook)
578 MiB
Languages
Rust
40.9%
TypeScript
31.3%
Clojure
15.8%
JavaScript
4.3%
MDX
1.8%
Other
5.5%