mirror of
https://github.com/epistemic-technology/co-intelligence.git
synced 2026-07-22 06:45:17 +00:00
The original signature destructured props in the function args:
export const MarkdownView = ({ markdown, sourcePath }) => …
Solid only delivers reactive updates through `props.*`; destructuring
strips the getter, so the closed-over `markdown` was whatever string
arrived in the first text-delta event. createEffect read the local
const, tracked no signals, ran once, and never re-rendered when the
text-part grew. The full message appeared only after the chat note
was closed and reopened — at that point a fresh MarkdownView mounted
with the complete text from the sidecar.
Worked under the old single-blob renderer because ChatInterface
rebuilt the {role, content} message array on every store touch, so
For tore down and remounted the BotMessage tree for each chunk. The
Phase 5 parts-aware renderer reuses the same component instance and
relies on per-prop reactivity, so the freeze surfaced.
Switch to `Component<MarkdownViewProps>` form, read `props.markdown`
inside the createEffect, and let the effect re-fire on every change.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| agent | ||
| chat | ||
| commands | ||
| components | ||
| input | ||
| services | ||
| session | ||
| utils | ||
| ChatView.tsx | ||
| CoiChatApp.tsx | ||
| CoIntelligencePlugin.tsx | ||
| obsidian.d.ts | ||
| settings.ts | ||
| styles.css | ||
| types-extended.ts | ||
| types.ts | ||
| vite-env.d.ts | ||