| ... | ... | @@ -623,7 +623,11 @@ export const MessagesTimeline = memo(function MessagesTimeline({ |
| 623 | 623 | listRef, |
| 624 | 624 | timestampFormat, |
| 625 | 625 | routeThreadKey, |
| 626 | | threadRef: parseScopedThreadKey(routeThreadKey), |
| 626 | // Must be referentially stable: ChatMarkdown keys its react-markdown |
| 627 | // component map on threadRef, and a fresh object here remounts every |
| 628 | // rendered markdown node whenever this memo recomputes (e.g. on each |
| 629 | // activity delta while the thread is working). |
| 630 | threadRef: citationThreadRef, |
| 627 | 631 | markdownCwd, |
| 628 | 632 | resolvedTheme, |
| 629 | 633 | workspaceRoot, |
| ... | ... | @@ -648,6 +652,7 @@ export const MessagesTimeline = memo(function MessagesTimeline({ |
| 648 | 652 | listRef, |
| 649 | 653 | timestampFormat, |
| 650 | 654 | routeThreadKey, |
| 655 | citationThreadRef, |
| 651 | 656 | markdownCwd, |
| 652 | 657 | resolvedTheme, |
| 653 | 658 | workspaceRoot, |