- Expédié
- 19 août 2026 à 08:10 UTC
- Auteur
- kamo
- Commite
- 13c7bf4
Les quatre écrans de base de connaissances étaient les derniers dans l'application toujours portant l'ancien Regardez, et trois d'entre eux ont déclaré des choses qui n'étaient pas vraies. /kb a montré des "articles brodés" à partir d'un critère d'évaluation qui a envoyé des rangées d'épingles avec le article dépouillé par JsonIgnore - la section n'est jamais apparue pour n'importe qui. En dessous, "articles récents" a été les dix premiers noeuds de l'article Arbre, dans l'ordre des arbres, chaque timbré PUBLIÉ avec une date blanche: ni récente ni nécessairement publiées. L'arbre à côté d'eux s'est effondré sur chaque navigation, parce que chaque branche contenait son propre usageState. Une idée porte la reconstruction : LA RAIL EST LA FIL. Un comptage de tuile et le liste il s'ouvre les deux viennent des matchesFiltre dans le modèle, donc une tuile lire 4 s'ouvre exactement à ces 4. Il n'y a pas de deuxième range de puces restarant la même prédisent en différents mots, attendant de ne pas être d'accord. Autour de lui: recherchez que correspond au titre, à l'adresse et au corps et aux marques qu'il frappe (l'ancienne boîte) de rebondir 500ms pour demander à un serveur qui a recherché contenuPlainText uniquement, donc taper le titre exact d'un article n'a rien retourné), un arbre qui se souvient de ce que vous ouvert et redimensionnés, les faces sur chaque carte du répertoire des membres, et a Needs Attention panel - examens qui ont attendu, les projets sont restés silencieux, Les articles publiés que personne n'a touché en un quart. /kb/ressources était un dialogue modal rendu à plat sur une route, avec un itinéraire ouvert. et une surClose qui a navigué loin. C'est une bibliothèque maintenant: un rail qui pèse ce que l'organisation stocke et se double de la catégorie du filtre de type, les tuiles avec des visages réels pour vidéo et des fichiers plutôt qu'une grille de boîtes grises identiques, drop-any one-l'heure de téléchargement avec des progrès réels par fichier (les résultats ne peuvent pas être communiqués) progresse, donc une vidéo de 40 Mo ressemblait exactement à une icône 4KB), et renommant en place au lieu d'un modal lancé à partir d'un pied de page. L'intermet-media de l'éditeur Le cueilleur est maintenant les mêmes carreaux, le même panneau de détail et le même usageKbMedia crochet dans un dialogue - un kit, deux surfaces, de sorte qu'ils ne peuvent pas dériver. /kb/reviews était une liste de titres. Un critique a pu constater que quatre choses étaient qui l'attendaient et rien d'autre - pas qui les a écrits, pas combien de temps ils étaient assis là, pas ce qu'ils ont dit - et décider signifier l'ouverture de chaque article, le défilement à un panneau en bas, et en revenant. Le pire de tous un échec rendu "Aucun article en attente d'examen" : la file d'attente s'est révélée claire sur une Il n'a peut-être pas été le jour. Maintenant la file d'attente porte l'âge de chaque article, submitter et la taille; l'article se trouve à côté; et les boutons de verdict sont à côté de ce que ils s'appliquent à. /kb/new était un formulaire qui ne disait rien à un auteur. Le champ de limace dit "Auto-généré à partir du titre" et ensuite vous permet d'économiser un slug que le serveur rejette avec un 400 après l'inscription de l'article. Options en retrait des parents avec deux espaces, que le HTML s'effondre, donc chaque option a regardé au niveau le plus élevé. Et les trois boîtiers de visibilité pourraient être cochés avec une formation à l'IA laissée, qui silencieusement signifie que personne ne le voit n'importe où. Le compositeur répond à ces trois Questions avant les travaux plutôt qu'après le rejet, et offre Save b) Constituer et soumettre. Fixés en cours de route, tous visibles: KbStatusBadge a expédié quatre mots anglais codés en dur et quatre hexagones à code dur paires - une console espagnole a dit "Draft" dans une palette grise sans marque blanche pourrait bouger. - KbPinButton capturé est Pinned une fois, donc une page qui apprend son état de broche après le premier rendu (chaque page ici) a montré un contour broche sur un article épinglé pour toujours; une demande ratée a laissé le jeu de l'angle. - L'article lire l'article est écrit.pied, un champ KbArticle n'a pas. - mediaId a été déclaré numéro dans les quatre types de nœuds de l'éditeur et extractMediaIdsFromJson, tandis que KB-MEDIA.UID est un UUID et les valeurs ont ont toujours été des cordes. Il a survécu seulement parce que rien n'a jamais fait d'arithmétique sur un; un seul numéro (médiaId) aurait été un NaN silencieux. - KbMediaResource.uid avait le même mensonge. - Les demandes de médias sont courses : une réponse précoce lente pourrait atterrir après un rapide Plus tard, un et repeignir la grille pour une requête que personne ne regardait. Les règles pures sont en direct dans app/lib/kbConsole.ts et app/lib/kbMedia.ts avec 52 test, parce que claque ici collecte .test.ts seulement - une règle écrite à l'intérieur d'un .tsx est une règle sans test. Ce qu'ils encodent partout: un inconnu n'est jamais a zéro. Une date manquante trie durer plutôt que de devenir l'époque, un peintures de statut non reconnues neutres plutôt que vertes, une file d'attente vide n'a pas un objet le plus ancien plutôt qu'un article zéro jour, et une ressource dont l'utilisation compte ne jamais arrivés, avertit au lieu de promettre qu'il n'est pas utilisé.