Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Canary builds are ordered by commit hash, not by time, and an all-digit hash loses its leading zero

Chiusa
#3,771 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
68/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
shell

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

comp: build/pipeline type: bug version: current (v17+)

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 below 21.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 version rewrites 21.0.0-canary.0123456 to 21.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.

Lingua principale
TypeScript
Stelle
7.8k
Fork
2.2k
Merge medio
2g 12h
PR unite (30g)
12

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di angular/angularfire

Tutte le issue di angular/angularfire

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.