- Verschifft
- 26. August 2026 um 08:52 UTC
- Autor
- kamo
- Ausschuss
- 1db50f2
- ChatSwitcherColumn: Versetzen Sie die PUT der Zusammenbruchspräferenz aus dem setCollapsed updater in den Klick-Handler selbst. Der Updater war unrein (es feuerte einen hol als Nebenwirkung), die React StrictMode Doppel-einruft, um genau das zu überprüfen, so dass jeder Kipp-Wechsel zwei geschickt identische PUTs in dev; ein synchroner Wurf vom Holen könnte auch Abbruch des Zustands-Updates. Die "next" wird nun von "collapsed" berechnet und der PUT feuert einmal, außerhalb des Updater. - ChatSwitcherColumn: die erweiterte Region ist jetzt "role="region" (a plain div hat keine ARIA-Rolle, so dass seine Arie-Label war unsichtbar für Begünstigte Tech), und beide Kipptasten tragen "aria-erweitert". - ChatSwitcherColumn: INITIAL_BUCKET ist jetzt .Teilweise<Record<string, Bucket" statt einer Gesamt-"Record", so dass ein unmapped toolId ist ein Typ Fehler zu übersehen anstelle eines still getippten "Bucket". - ToolWindowShell: die Content-Bereich flexDirection ist jetzt die explizite "Switcher ? 'Row' : 'column'" statt einer bedingungslosen 'Rede', deren Korrektheit hing von der Kinder-Wrapper div Stretching zu füllen entweder Layout die gleiche Weise. - Neues ToolWindowShell.test.tsx: die Schale wurde immer nur ausgeübt über ToolDock.test.tsx's Mock, also seinen eigenen Layout-Code (die Flip oben, und seine .{isMax & & switcher' gate) hatte nie wirklich laufen in einem Test. - Neue Registry/tools.test.ts: behauptet die Flagge gegen die REAL ToolPlattform map, genau die fünf Konversationswerkzeuge. ToolDock.test.tsx Ansonsten pinnt den AND-Gate-Mechanismus gegen eine synthetische Karte, so nichts anderes würde ChatSwitcher von einem der fallen gelassen zufangen fünf (oder zu einem sechsten hinzugefügt) durch Zufall.