- Expédié
- 19 août 2026 à 02:02 UTC
- Auteur
- kamo
- Commite
- 1709c43
Balayage du client la moitié du travail d'identifiant int64. Chacun d'eux a pris un id le serveur avait envoyé intact et le faire passer à l'opposé()/parseInt(), qui contourne n'importe quoi au-delà de 2-53 -- donc la demande nommée ligne qui n'existe pas. Plusieurs ont siégé à côté d'un appel de la sœur qui déjà envoyé exactement le même id, ce qui les rend visibles: - liantApi.shareBinder envoyé Number(memberId) alors que nonshareBinder l'envoie entier, donc a Un liant peut être partagé puis non partagé. - MemberCreateForm envoyé Number(memberId) pour attribuer une boîte aux lettres, puis utilisé le même id intact dans le chemin de la boîte de messagerie primaire un appel plus tard -- deux appels, deux membres différents. - Les scrutateurs du signataire de l'essigne ont arrondi l'identifiant du membre, le compte uid et le membre du compte id, attacher les signataires aux ids qui n'existent pas. - Les commandes de commerce ont été traitées par un acheteur dactylographiéUid with parseInt, pour coller un vrai 19 chiffres uid a créé la commande à l'encontre d'un acheteur différent. - PipelineApplicationsTab AdapsAigy-s-chaîne exacte avec Number(), et qui arrondit uid a ensuite conduit à l'itinéraire ET - -- a statut rédiger contre la mauvaise demande de prêt. Sa carte dedupe et son ensemble de sélection sont maintenant clé par String(uid); les deux critères d'évaluation répondent avec des types de JS différents pour les mêmes application, donc une clé numérique ne pourrait jamais correspondre à une corde. Les types s'élargissent pour « corder » au lieu de « corder » : un nombre est ce qu'un service n'a pas été reconstruit encore en retour, et il est déjà arrondi à ce moment-là. Les deux arithmétiques les utilisations d'un uid étaient desalkonnés de démonstration, pas d'identité, et donc maintenant chassés explicitement et localement. scripts/check-int64-zod-ids.mjs joint le test npm et ferme la porte sur le piège spécifique qui a commencé ceci: une union de zod prend la FIRST branche correspondante, donc z.union([z.coerce.number(), z.string()) analyse un id exact redéplique en une perte double en lecture presque identiquement à l'ordre correct. Mutation-testée contre le défaut original de l'OrganisationDTOSchema.