fix: assistant text rendering, toolResult plumbing leak; add render smoke tests

- Markdown.tsx never passed text as children to ReactMarkdown (valid JSX,
  compiled clean, rendered nothing) — the 'thinking shows, text doesn't' bug
- toolResult entries (quiz/ask dispatch instructions for the LLM) leaked
  into the transcript as visible text; now never rendered
- render smoke tests (renderToStaticMarkup, no DOM): pin markdown content,
  KaTeX, button-based quiz options, ask answers not graded, toolResult and
  [Quiz answer] hiding — negative-tested against the actual bugs
- React default import in all .tsx: tsx test runner uses classic JSX
  transform (ignores tsconfig jsx option), Vite uses automatic runtime;
  explicit import works under both
- katex css moved to main.tsx (tests can't import css)
- verified live in browser: all assistant messages render, ask card has no
  grading marks, pending quiz re-arms on resume
This commit is contained in:
Amos
2026-08-22 01:20:14 +03:00
parent 296cc1b7b6
commit e127a9bfbd
13 changed files with 180 additions and 20 deletions
+1 -1
View File
@@ -11,7 +11,7 @@
* - text mode (ask): free-form answer
*/
import { useMemo, useState } from "react";
import React, { useMemo, useState } from "react";
import type { ClientQuestion } from "../../../src/shared/protocol.ts";
interface QuizCardProps {