bug: webapp rejects API_RATE_LIMIT_METRICS_BUCKET_SECONDS=15 although the schema says divisors of 60 are valid
维护者通常 1 天内回复
还没有人认领这个 Issue。
- #4993 来自 @StackedByAdit —— 已关闭,未合并
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 20/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 停滞
- 技术栈
- typescript
- 领域
- backend
调研方向
从 apps/webapp/app/env.server.ts:777-785 开始,确认 .multipleOf(10) 会拒绝 15,而 refine 允许 60 的因数;第一步是查看已关闭的 PR #4993,了解为何之前的修复未被合并。完成标准是解析 "15" 和 "120" 成功,"7" 仍然失败,且 webapp 的 Vitest env 测试套件保持绿色。
由索引模型根据 Issue 内容生成。
描述
Provide environment information
Not environment-specific: found in the webapp source at main @ c2b7a72180 and reproduced with the webapp's own Vitest suite (macOS arm64, pnpm).
Describe the bug
The webapp refuses to start with API_RATE_LIMIT_METRICS_BUCKET_SECONDS=15, although the schema's own rule says 15 is valid.
In apps/webapp/app/env.server.ts:777-785:
API_RATE_LIMIT_METRICS_BUCKET_SECONDS: z.coerce.number().int().positive()
.multipleOf(10)
.refine((seconds) => 60 % seconds === 0 || seconds % 60 === 0, {
message: "must divide or be a multiple of 60 so buckets align to minute boundaries",
})
The refine accepts any divisor or multiple of 60, which is the alignment the metrics aggregator needs. .multipleOf(10) runs first, though, and rejects the minute-aligned divisors 15 (and 1–6, 12). Environment parsing fails at startup with a Zod "multiple of 10" error.
Expected: 15 (and 120) parse, 7 is still rejected.
Reproduction repo
N/A (schema test against this repo, below)
To reproduce
- Set
API_RATE_LIMIT_METRICS_BUCKET_SECONDS=15and start the webapp. Env validation fails. - Or, as a test: parse
"15"with the schema entry above. It fails withNumber must be a multiple of 10.
Additional information
A fix is ready on the breken-ai/trigger.dev fork (breken/fix-rate-limit-metrics-bucket-validation):
- It drops the contradictory
.multipleOf(10)and moves the schema intoapp/utils/apiRateLimitMetricsBucketSecondsSchema.ts, so it can be tested. - The regression test asserts
15and120parse and7fails. It's red on main and green with the fix. - Env + new schema tests: 19 passed. oxfmt, oxlint and webapp typecheck are clean.
I'll open it as a draft PR with fixes #<this> once the account is vouched.
Prepared with AI assistance (Claude) from the breken-ai account.
- 主要语言
- TypeScript
- 星标
- 16.5k
- 派生
- 1.5k
- 平均合并
- 1 天 15 小时
- 30 天内合并 PR
- 17
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
triggerdotdev/trigger.dev 的其他 Issue
-
bug: retry.fetch ignores the caller's abort signal and retries aborted requests可能重新可做 关联的 PR 已关闭且未合并。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
triggerdotdev/trigger.dev#5116 · 2 条评论 ·
维护者通常 1 天内回复
-
bug: Chat transport crashes on Safari < 17.4: AbortSignal.any is not a function可能重新可做 关联的 PR 已关闭且未合并。 未关闭
难度 2/5 1-3 小时 新手友好度 83/100
triggerdotdev/trigger.dev#5098 · 2 条评论 ·
维护者通常 1 天内回复
-
bug: Side menu items lose their active state on detail pages可能重新可做 关联的 PR 已关闭且未合并。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
triggerdotdev/trigger.dev#5088 ·
维护者通常 1 天内回复
-
bug: RBAC loader logs "plugin found but failed to load" when @triggerdotdev/plugins is simply not installed可能重新可做 @itsfaryal 于 17 天前认领,目前没有进行中的 PR。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
triggerdotdev/trigger.dev#5083 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 83/100
triggerdotdev/trigger.dev#5072 · 1 条评论 ·
维护者通常 1 天内回复
查看 triggerdotdev/trigger.dev 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
bug platform-android
难度 2/5 1-3 小时 新手友好度 68/100
Termix-SSH/Mobile#146 · 1 条评论 ·
维护者通常 2 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 66/100
devswha/herdr-web-ui#3875 ·
-
难度 1/5 1 小时以内 新手友好度 88/100
-
area: runtime chore cli consistency dependencies developer-experience difficulty: easy discovery documentation enhancement good first issue help wanted hygiene json-output packaging priority: P3 tests version
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复