Files
learnharness/components
amosblomqvist 671fb0aa25 fix: backfill empty message ids in legacy transcripts + defensive key fallback
The persistTurn id hygiene (2d7b004) only covers NEW writes — records
persisted before it still carry messages with empty SDK ids, and two of
those in one transcript re-trigger the duplicate-React-key error.

- data/chats: backfilled all empty ids (6 messages across 5 records,
  msg_<ts>_<hex> scheme matching withMessageIds).
- chat.tsx: key={m.id || `m-${mi}`} on both message branches — even an
  unmigrated legacy record can never collide keys again.

NOTE for master at merge: the master tree's data/ needs the same
one-time backfill (any chat saved before the withMessageIds commit).
2026-09-02 03:02:23 +03:00
..