Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Fermée
#3,771 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
68/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
shell

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
TypeScript
Étoiles
7.8k
Forks
2.2k
Merge moyen
2 j 17 h
PR mergées (30 j)
11

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de angular/angularfire

Toutes les issues de angular/angularfire

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.