Canary builds are ordered by commit hash, not by time, and an all-digit hash loses its leading zero
维护者通常 2 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 68/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- shell
- 领域
- build-system, release
调研方向
Start with tools/build.sh and trace how the canary version is assembled and passed to npm version. Check the resulting names and their ordering for hashes containing letters, all-digit hashes, and leading-zero hashes. Done means canary identifiers preserve the full short hash and publish in chronological version order without changing the stated 21-line release behavior.
由索引模型根据 Issue 内容生成。
描述
tools/build.sh names each canary build <version>-canary.<short sha>. That causes two problems.
Details
- npm orders canaries by their hash, not their age. A short sha containing a letter is compared as text, so the order is alphabetical.
21.0.0-rc.0-canary.345726a, published 2026-09-21, ranks below21.0.0-rc.0-canary.fb6796b, published 2026-08-20.- A short sha made only of digits is compared as a number, which ranks below every hash containing a letter. 11 published canaries have one.
- An all-digit hash that starts with 0 loses the zero.
npm versionrewrites21.0.0-canary.0123456to21.0.0-canary.123456, so the published name no longer matches the commit.
Scope
The order matters only when a version range matches canaries and nothing ranks above them, which is before a version's first release candidate. On the 21 line, the release candidates and the canaries named after them outrank every 21.0.0-canary.*, so this changes no install there.
- 主要语言
- TypeScript
- 星标
- 7.8k
- 派生
- 2.2k
- 平均合并
- 2 天 17 小时
- 30 天内合并 PR
- 11
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
angular/angularfire 的其他 Issue
-
comp: app-check comp: docs comp: ssr type: chore version: current (v17+)
难度 2/5 1-3 小时 新手友好度 88/100
angular/angularfire#3774 ·
维护者通常 2 天内回复
-
Use `TransferState` to hand server-rendered Firestore data to the browser, instead of reading every document twice可能重新可做 @armando-navarro 于 29 天前认领,目前没有进行中的 PR。 未关闭comp: firestore comp: ssr priority: P0 (critical) type: feature version: current (v17+)
angular/angularfire#3757 · 已指派 1 人 ·
维护者通常 2 天内回复
-
Six `firebase` entry points have no `@angular/fire` equivalent, so their exports are unreachable可能重新可做 @armando-navarro 于 29 天前认领,目前没有进行中的 PR。 未关闭comp: core type: feature
angular/angularfire#3755 · 已指派 1 人 ·
维护者通常 2 天内回复
-
难度 4/5 3-5 天 新手友好度 35/100
angular/angularfire#3737 · 2 条评论 · 22 个 reaction ·
维护者通常 2 天内回复
-
难度 4/5 3-5 天 新手友好度 52/100
angular/angularfire#3715 ·
维护者通常 2 天内回复
查看 angular/angularfire 的全部 Issue
相似的 Issue
-
priority: P2
难度 2/5 1-3 小时 新手友好度 78/100
-
难度 2/5 1-3 小时 新手友好度 65/100
prime-radiant-inc/evener#3291 ·
维护者通常 1 天内回复
-
accessibility bug revealjs
难度 2/5 1-3 小时 新手友好度 84/100
quarto-dev/quarto-cli#14961 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 90/100
supabase/agent-skills#614 ·
-
Content
难度 2/5 1-3 小时 新手友好度 68/100
RunestoneInteractive/rs#1559 · 1 条评论 ·
维护者通常 2 天内回复