Skip to content

上传幂等键兼容非安全上下文(纯 HTTP 直连) - #218

Merged
zj1123581321 merged 1 commit into
mainfrom
card/vta-upload-key-fallback-261010
Oct 10, 2026
Merged

zj1123581321 merged 1 commit into
mainfrom
card/vta-upload-key-fallback-261010

Conversation

@zj1123581321

Copy link
Copy Markdown
Collaborator

问题

crypto.randomUUID() 仅在安全上下文(HTTPS/localhost)可用。经纯 HTTP 入口(如 Tailscale 直连 http://<ts-ip>:8200)打开页面时,生成幂等键直接抛 crypto.randomUUID is not supported,上传无法提交。

修复

generateUploadIdempotencyKey 在 randomUUID 不可用时回退到 crypto.getRandomValues(该 API 在非安全上下文可用)手工构造 UUID v4(版本位/变体位按 RFC 4122 设置);完全没有 Web Crypto 随机源时才报错。键格式 <epoch_ms>-<UUID v4> 不变,服务端契约无变化。

测试

新增用例:移除 crypto.randomUUID(保留 getRandomValues)后键仍符合 epoch_ms-UUID v4 格式。基线红验:无修复时该用例真实失败(旧代码抛错);修复后 17/17 通过。

Agent-Executor: pi-lead
Agent-Session: pi-lead-1791429303659-4145181
@github-actions

Copy link
Copy Markdown

Required Gate v2 — 状态面板

当前状态:pass · 可合并

当前裁决:code_pass / primary_pass

PR 累计主审轮(影子):1/5 · collecting

历史可能不完整:2 个制品处理失败:URLError;1 个历史重建预算耗尽

Gate 历史(v1;来源为持久化 gate_terminal 制品)

Run Attempt Head 状态 PR 累计主审轮(影子) 收件人动作
38014945456 1 4c33aa1 pass 1/5 · collecting 可合并

历史行按 run_id + run_attempt 去重并只增不删;删除本评论后可由 gate_terminal 制品重建。

@zj1123581321
zj1123581321 merged commit acf912f into main Oct 10, 2026
13 checks passed
@zj1123581321
zj1123581321 deleted the card/vta-upload-key-fallback-261010 branch October 10, 2026 02:08
zj1123581321 added a commit that referenced this pull request Oct 15, 2026
上传幂等键兼容非安全上下文(纯 HTTP 直连)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant